Linux:Nástroje pro archivaci: Porovnání verzí

Z Wikiknih
Smazaný obsah Přidaný obsah
Woodcraft (diskuse | příspěvky)
Woodcraft (diskuse | příspěvky)
mBez shrnutí editace
Řádek 1: Řádek 1:
Linuxové archivační nástroje jsou založeny na principu spojování více souborů do jednoho. Liší se způsobem jak to dělají a také tím, jakým způsobem zachovávají metainformace o archivovaných souborech.
Linuxové archivační nástroje jsou založeny na principu spojování více souborů do jednoho. Liší se způsobem jak to dělají a také tím, jakým způsobem zachovávají metainformace o archivovaných souborech.
=Přehled nástrojů=

=ar=
==ar==


Formát archívů vytvářených utilitou '''ar''' nebyl nikdy standartizován. Od historických unixových dob '''ar''' postupně vystřídal několik navzájem odlišných formátů. V současné době se používají dvě varianty - BSD a GNU
Formát archívů vytvářených utilitou '''ar''' nebyl nikdy standartizován. Od historických unixových dob '''ar''' postupně vystřídal několik navzájem odlišných formátů. V současné době se používají dvě varianty - BSD a GNU
Řádek 9: Řádek 9:
# Od verze BSD 4.4 se začala používat úprava, která problém dlouhých názvů a mezer vyřešila, ale souběžně vznikla GNU verze, kterou dnes používá GNU/Linux
# Od verze BSD 4.4 se začala používat úprava, která problém dlouhých názvů a mezer vyřešila, ale souběžně vznikla GNU verze, kterou dnes používá GNU/Linux


==Popis formátu==
===Popis formátu===


Archiv který byl vytvořen nástrojem '''ar''' začíná [[magickým řetězcem]] "!<arch>" následovaný znakem LF (Line Feed - zalomení řádku, neboli také "\n"). Zbytek archívu tvoří objekty. Každý objekt je složen z hlavičky souboru a jeho obsahu. Hlavička souboru obsahuje metainformace o souboru, které jsou v rámci unixu přenositelné (název souboru,nastavení práv, čas, velikost) a obsah souboru - je-li čitelný, je čitelný i když je v archívu.
Archiv který byl vytvořen nástrojem '''ar''' začíná [[magickým řetězcem]] "!<arch>" následovaný znakem LF (Line Feed - zalomení řádku, neboli také "\n"). Zbytek archívu tvoří objekty. Každý objekt je složen z hlavičky souboru a jeho obsahu. Hlavička souboru obsahuje metainformace o souboru, které jsou v rámci unixu přenositelné (název souboru,nastavení práv, čas, velikost) a obsah souboru - je-li čitelný, je čitelný i když je v archívu.
Řádek 28: Řádek 28:
; GNU ar : oproti BSD řešení do pole názvu vkládá znaky "//" které signalizují že název teprve bude následovat. Skutečný název souboru se pak na začátek datové části s obsahem souboru. A to tak, že datová část začne lomítkem, následovaným decimální hodnotou offsetu (posunu) začátku vlastního obsahu, vlastním názvem, který je opět ukončen lomítkem. Archívy které tvoří '''GNU ar''' také používají sekvenci lomítka následovaného mezerou ("/ ") která uvádí index, který ''' GNU ar''' používá pro rychlejší pohyb v rámci archívu.
; GNU ar : oproti BSD řešení do pole názvu vkládá znaky "//" které signalizují že název teprve bude následovat. Skutečný název souboru se pak na začátek datové části s obsahem souboru. A to tak, že datová část začne lomítkem, následovaným decimální hodnotou offsetu (posunu) začátku vlastního obsahu, vlastním názvem, který je opět ukončen lomítkem. Archívy které tvoří '''GNU ar''' také používají sekvenci lomítka následovaného mezerou ("/ ") která uvádí index, který ''' GNU ar''' používá pro rychlejší pohyb v rámci archívu.


==Použití==
===Použití===


Dnes se '''ar''' používá převážně jenom pro vytváření a aktualizaci statických knihoven, které používá [[linker]], jako tedy je součástí balíčku [[binutils]] výjimkou je systém instalačních balíčků [[DEB]]
Dnes se '''ar''' používá převážně jenom pro vytváření a aktualizaci statických knihoven, které používá [[linker]], jako tedy je součástí balíčku [[binutils]] výjimkou je systém instalačních balíčků [[DEB]]
Řádek 44: Řádek 44:
Pro použití při práci s deb balíčky viz [[Instalační balíčky]]
Pro použití při práci s deb balíčky viz [[Instalační balíčky]]


=cpio=
==cpio==


==Popis formátu==
===Popis formátu===


==Použití==
===Použití===


=afio=
==afio==


==Popis formátu==
===Popis formátu===


==Použití==
===Použití===


=tar=
==tar==


Archivační nástroj '''tar''' byl původně navržen jako obslužný program pro archivaci velkého množství souborů a celách adresářů na magnetickou pásku. Z toho byl také odvozen jeho název ('''T'''ape '''AR'''chiver).
Archivační nástroj '''tar''' byl původně navržen jako obslužný program pro archivaci velkého množství souborů a celách adresářů na magnetickou pásku. Z toho byl také odvozen jeho název ('''T'''ape '''AR'''chiver).


==Popis formátu==
===Popis formátu===

===Použití===

==pax==


===Popis formátu===
==Použití==


===Použití===
=pax=


=Další zdroje=
==Popis formátu==


[[Wikipedia:en:Archive formats]]
==Použití==

Verze z 15. 2. 2007, 22:03

Linuxové archivační nástroje jsou založeny na principu spojování více souborů do jednoho. Liší se způsobem jak to dělají a také tím, jakým způsobem zachovávají metainformace o archivovaných souborech.

Přehled nástrojů

ar

Formát archívů vytvářených utilitou ar nebyl nikdy standartizován. Od historických unixových dob ar postupně vystřídal několik navzájem odlišných formátů. V současné době se používají dvě varianty - BSD a GNU

  1. na 16bitových strojích se používal formát s hlavičkou o pěti polích z nichž každé mohlo obsahovat max. 8 znaků
  2. ten nahradil formát pro 16 i 32bitové stroje s hlavičkou o šesti polích přičemž počet znaků již byl 14
  3. od BSD verze 4.0 následoval formát bezprostředně předcházející současným formátům, ovšem bez podpory dlouhých názvů (pouze 16 znaků) a mezer.
  4. Od verze BSD 4.4 se začala používat úprava, která problém dlouhých názvů a mezer vyřešila, ale souběžně vznikla GNU verze, kterou dnes používá GNU/Linux

Popis formátu

Archiv který byl vytvořen nástrojem ar začíná magickým řetězcem "!<arch>" následovaný znakem LF (Line Feed - zalomení řádku, neboli také "\n"). Zbytek archívu tvoří objekty. Každý objekt je složen z hlavičky souboru a jeho obsahu. Hlavička souboru obsahuje metainformace o souboru, které jsou v rámci unixu přenositelné (název souboru,nastavení práv, čas, velikost) a obsah souboru - je-li čitelný, je čitelný i když je v archívu.

Hlavičku tvoří šest polí různé délky , vzájemně oddělených dvouznakovým oddělovačem:

  • název souboru v ASCII (16 znaků)
  • čas poslední změny souboru (12 znaků)
  • UID vlastníka (6 znaků)
  • GID skupiny (6 znaků)
  • nastavení práv souboru (8 znaků)
  • velikost souboru (10 znaků)

Číselné hodnoty polí jsou v desítkové soustavě (decimální) s výjimkou pole s nastavením práv souboru, které je v soustavě osmičkové (oktálové). Oddělovač tvoří apostrof následovaný zalomením řádku - "`\n". Hlavička je od vlastního obsahu oddělena znakem "\012"

Vzhledem k omezení velikosti polí v hlavičce bylo třeba vyřešit problém dlouhých názvů a ve způsobu řešení tohoto problémů se formáty pro BSD a GNU rozchází.

BSD ar
to řeší tak, že místo názvu souboru uloží do pole pro název řetězec "#1/" následovaný informací o počtu znaků skutečného názvu souboru. Ten se pak "přilepí" na konec hlavičky.
GNU ar
oproti BSD řešení do pole názvu vkládá znaky "//" které signalizují že název teprve bude následovat. Skutečný název souboru se pak na začátek datové části s obsahem souboru. A to tak, že datová část začne lomítkem, následovaným decimální hodnotou offsetu (posunu) začátku vlastního obsahu, vlastním názvem, který je opět ukončen lomítkem. Archívy které tvoří GNU ar také používají sekvenci lomítka následovaného mezerou ("/ ") která uvádí index, který GNU ar používá pro rychlejší pohyb v rámci archívu.

Použití

Dnes se ar používá převážně jenom pro vytváření a aktualizaci statických knihoven, které používá linker, jako tedy je součástí balíčku binutils výjimkou je systém instalačních balíčků DEB

Příklad vytvoření statické knihovny z několika zkompilovaných souborů

ar rcs libclass.a class1.o class2.o class3.o

Při kompilaci aplikace, která závisí na třídách class1.o, class2.o a class3.o pak již není nutné přidávat zkompilované třídy jednotlivě, ale stačí pouze přidat vytvořenou statickou knihovnu:

cc main.c libclass.a

Wikipedia:en:Ar_(Unix)

Pro použití při práci s deb balíčky viz Instalační balíčky

cpio

Popis formátu

Použití

afio

Popis formátu

Použití

tar

Archivační nástroj tar byl původně navržen jako obslužný program pro archivaci velkého množství souborů a celách adresářů na magnetickou pásku. Z toho byl také odvozen jeho název (Tape ARchiver).

Popis formátu

Použití

pax

Popis formátu

Použití

Další zdroje

Wikipedia:en:Archive formats