Formát archivu SHAR

SHAR (Shell Archive) je archivní formát založený na Unixu, který sdružuje soubory do jediného skriptu shellu. Formát zakóduje soubory do skriptu prostého textu, který lze spustit na systému podobnému Unixu a znovu vytvořit původní soubory. SHAR byl široce používán v počátcích Unixu pro distribuci softwaru a sdílení kolekcí souborů, zejména prostřednictvím e-mailu nebo Usenetu. I když byl z velké části nahrazen modernějšími formáty, jako je tar a zip, SHAR zůstává významným historickým formátem v ekosystému Unix, který je ceněný pro svou jednoduchost a schopnost vytvářet a extrahovat pomocí základních příkazů shellu.

Obecné informace o archivu SHAR

archivy SHAR (Shell Archives) jsou formát založený na Unixu, který se používá pro sdružování více souborů do jednoho skriptu ve formátu prostého textu. Po spuštění tento skript znovu vytvoří původní soubory a adresáře v systému podobném Unixu. SHAR byl obzvláště populární v počátcích Unixu pro distribuci softwaru, dokumentace a dalších sbírek souborů prostřednictvím e-mailu nebo Usenetu. Zatímco moderní kompresní formáty do značné míry nahradily SHAR, zůstává důležitým formátem v historii Unixu díky své jednoduchosti a snadnému použití se základními příkazy shellu.

Historie formátu archivu SHAR

  • Léta 80: SHAR se objevil jako vhodná metoda pro sdružování souborů do jediného skriptu pro distribuci na unixových systémech. Bylo to užitečné zejména v prostředích, kde e-mail a Usenet byly primárními prostředky pro sdílení softwaru a souborů.
  • Počátek 90. ​​let: Jak rostlo používání internetu, SHAR byl nadále oblíbeným formátem pro distribuci souborů prostřednictvím e-mailu, přičemž jeho jednoduchý textový formát byl snadno přenášen přes rané sítě.
  • Polovina devadesátých let: Vzestup pokročilejších archivních formátů, jako je tar, v kombinaci s komprimačními nástroji, jako je gzip, vedl k poklesu používání SHAR, i když se nadále používal pro jednoduchou, textovou distribuci.
  • 2000: SHAR se stal spíše specializovaným formátem, primárně používaným ve specifických unixových komunitách nebo pro historické účely. Jeho snadnost vytváření a kompatibilita se základními příkazy shellu jej udržovala relevantní pro určité úkoly.
  • Dnes: I když je SHAR z velké části nahrazen moderními archivními formáty, je stále uznáván pro svou roli v historii Unixu a příležitostně se používá ve starších systémech nebo pro vzdělávací účely.

Struktura Shell Archivu

Struktura souboru SHAR (Shell Archive) je navržena jako samorozbalovací skript, který lze spustit na systémech podobných Unixu. Na rozdíl od binárních archivů jsou soubory SHAR prostý text a jsou interpretovány shellem. Zde je přehled struktury typického archivu SHAR:

  • Záhlaví: Archiv SHAR začíná záhlavím, které obvykle obsahuje komentáře k archivu, jako je datum vytvoření, autor a popis obsahu. Tato část může také obsahovat pokyny pro rozbalení archivu.
  • Směrnice souboru:
    • Každý soubor v archivu SHAR je reprezentován řadou příkazů shellu. Tyto příkazy obvykle začínají příkazy echo nebo cat, které zapisují obsah souboru do příslušných umístění v systému.
    • Direktivy pro soubory také obsahují příkazy pro nastavení správných oprávnění k souborům pomocí příkazů chmod po vytvoření každého souboru.
  • Obsah souboru: Skutečný obsah každého souboru je zahrnut v archivu SHAR, obvykle zakódován pomocí textových metod, jako je uuencoding. To zajišťuje, že binární soubory lze bezpečně zahrnout do archivu a přenést jako prostý text.
  • Struktura adresáře: Pokud archiv SHAR obsahuje adresáře, skript obsahuje příkazy k vytvoření těchto adresářů pomocí příkazů mkdir, než jsou do nich soubory extrahovány.
  • Zápatí: Archiv SHAR končí zápatím, které často obsahuje další komentáře, kontrolní součet nebo jiná metadata pro ověření integrity extrahovaných souborů. Zápatí může také obsahovat zprávu indikující úspěšné dokončení procesu extrakce.

SHAR kompresní metody

  • Nekomprimovaný: Ve výchozím nastavení jsou archivy SHAR nekomprimované textové soubory, díky čemuž jsou snadno čitelné a spustitelné jako skripty shellu. Tento přístup zachovává jednoduchost a širokou kompatibilitu, což umožňuje snadné rozbalení souborů pomocí standardních příkazů shellu.
  • Externí komprese: Soubory SHAR lze po vytvoření komprimovat pomocí externích nástrojů pro kompresi, jako je GZIP, BZIP2 nebo ZIP. To snižuje celkovou velikost souboru pro distribuci nebo ukládání, ale před spuštěním archivu SHAR vyžaduje dekompresi. Soubor SHAR může být například distribuován jako soubor .shar.gz nebo .shar.bz2.
  • Komprese po rozbalení: V některých případech mohou archivy SHAR obsahovat příkazy ve skriptu pro komprimaci jednotlivých souborů po jejich rozbalení. Toto je méně obvyklé, ale lze jej použít, když je třeba v rámci procesu rozbalení zkomprimovat konkrétní soubory v archivu.
  • Kombinace s TAR: Přestože SHAR sám o sobě neobsahuje kompresi, lze jej zkombinovat s archivem TAR (který lze následně zkomprimovat) a vytvořit soubor .tar.shar.gz nebo podobný soubor. Tato metoda umožňuje jak archivaci, tak kompresi větších kolekcí souborů v jediném kroku.

Soubory SHAR (Shell Archive) ze své podstaty neobsahují žádné kompresní metody v rámci samotného formátu. Namísto toho jsou to skripty shellu ve formátu prostého textu určené k balení souborů pro snadnou distribuci a extrakci v prostředích podobných Unixu. Komprese však může být aplikována několika různými způsoby:

Operace podporované .shar

  • Vytváření archivů SHAR: Soubory SHAR kromě své jednoduchosti nabízejí všestranný přístup k distribuci softwaru a vytváření záloh. Aspose.Zip vám umožňuje bezproblémově využívat tento formát pomocí komplexní sady funkcí. Vytvářejte zcela nové archivy SHAR z vašich stávajících souborů a adresářů. Tato funkce je ideální pro vytváření instalačních programů softwaru nebo komplexních záloh. Aspose.Zip nemusí podporovat všechny funkce spojené s tradičními archivy, jako jsou ZIP, RAR, 7Z a další formáty pro soubory SHAR.

Aspose.Zip API podporuje různé operace pro práci se soubory .shar, což jsou soubory diskových obrazů běžně používané pro distribuci softwaru a vytváření záloh. Zde jsou některé z hlavních operací podporovaných rozhraním Aspose.Zip API pro soubory .shar:

Struktura souboru .shar

  • Záhlaví skriptu prostředí: Standardní záhlaví skriptu prostředí (např. #!/bin/sh).
  • Metadata souboru: Informace o každém souboru, včetně názvu souboru, oprávnění a času úpravy.
  • Obsah souboru: Skutečný obsah souboru, obvykle zakódovaný ve formátu base64 nebo podobném.
  • Příkazy prostředí: Příkazy pro vytváření adresářů a zápis obsahu souborů na disk.

Soubor SHAR je v podstatě skript shellu. Je to textový formát, který obsahuje příkazy pro obnovení původní struktury souboru při spuštění. Základní struktura:

Struktura souboru .shar

Úpadek archivů SHAR

Důvody odmítnutí

Dnes jsou archivy SHAR považovány za starší formát a v moderní distribuci softwaru se používají jen zřídka. Stále se s nimi lze setkat v historických softwarových archivech nebo ve specializovaných situacích, kde je vyžadována kompatibilita s velmi starými systémy, ale byly z velké části nahrazeny efektivnějšími a spolehlivějšími metodami archivace.

  • Omezená funkčnost: Archivy SHAR postrádají funkce moderních archivních formátů, jako je komprese, zpracování chyb a uchování metadat.
  • Bezpečnostní obavy: Jako skripty shellu mohou soubory SHAR potenciálně obsahovat škodlivý kód, který představuje bezpečnostní riziko.
  • Efektivita: Ve srovnání s novějšími formáty je SHAR obecně méně efektivní z hlediska rychlosti ukládání a extrakce.
  • Vznik lepších alternativ: Formáty jako ZIP, TAR a 7-Zip nabízejí vynikající výkon, zabezpečení a funkce, díky čemuž jsou preferovanou volbou pro většinu uživatelů.

Příklady použití archivů SHAR

Aspose.Zip poskytuje možnost vytvářet soubory SHAR (Shell Archive), což vám umožňuje sdružovat více souborů do jednoho archivu pro snadnou distribuci na systémech UNIX a Linux. Je však důležité poznamenat, že Aspose.Zip v současné době podporuje pouze vytváření archivů SHAR a nezahrnuje funkce pro jiné operace, jako je extrakce nebo úprava existujících souborů SHAR. Níže jsou uvedeny příklady demonstrující, jak vytvořit archivy SHAR pomocí Aspose.Zip ve vašich projektech.

Create SHAR Arcive via C#

    using(SharArchive a = new SharArchive())
    {
        a.CreateEntry(first.bin, data.bin);
        a.Save(result.shar);
    }

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

Další informace

Lidé se ptali

1. Jak extrahuji soubory z archivu SHAR?

Chcete-li extrahovat soubory z archivu SHAR, spusťte samotný soubor SHAR. Skript spustí příkazy k obnovení původní struktury souboru.

2. Používají se archivy SHAR i dnes?

Archivy SHAR se dnes používají jen zřídka. Moderní archivní formáty jako ZIP, TAR a 7-Zip nabízejí vynikající funkce a zabezpečení, díky čemuž jsou preferovanou volbou pro většinu uživatelů.

3. Jaká jsou omezení archivů SHAR?

Archivy SHAR mají několik omezení, včetně nedostatku komprese, omezené podpory metadat, potenciálních bezpečnostních rizik kvůli jejich povaze jako skriptů shellu a neefektivnosti ve srovnání s moderními formáty archivů.