Pax (Unix)

pax ( zkratka pro portable a rchive e x change , dosl. "portable archive exchange") je archivní nástroj vytvořený POSIX a definovaný ve standardu POSIX.1-2001 [1] . Příkaz call a jeho struktura je sjednocením a sjednocením tar a cpio .

Funkce

Režimy

pax má čtyři hlavní režimy, které jsou určeny kombinací přepínačů -r ("čtení" - čtení) -w ("zápis" - zápis).

Následující tabulka shrnuje hlavní režimy provozu:

Volba Režim Popis
seznam vypíše obsah archivu, aniž by cokoliv měnil nebo extrahoval.
-r číst čte a extrahuje obsah archivu
-w napsat vytvoří archiv nebo jej doplní soubory
-rw "kopírovat" čte a kopíruje soubory a adresářovou strukturu do zadaného adresáře

Příklady:
Zobrazení obsahu archivu:

pax < archiv.tar

Extrahujte obsah archivu do aktuálního adresáře:

pax -r <archiv.tar

Vytvořte archiv aktuálního adresáře:
Při použití ve stylu cpio lze příkaz find použít k zobrazení seznamu souborů, které mají být archivovány:

nalézt. -hloubka -tisk | pax -wd > archive.tar

Kopírování aktuálního adresáře do jiného umístění:
Cílový adresář musí být vytvořen předem.

nalézt. -hloubka -tisk | pax -rwd cílový_adresář

Volání příkazu

pax lze použít podobně jako cpio nebo tar . Syntaxí pro cpio je získání seznamu souborů ze standardního vstupu ( stdin ), při archivaci, nebo již existujícího archivu při zobrazení obsahu nebo rozbalení souborů:

nalézt. -hloubka -tisk | pax -wd > archive.tar

a

pax -r <archiv.tar

respektive.

Tyto příkazy je také možné volat stejným způsobem jako tar :

pax -wf archive.tar .

a

pax -rf archive.tar

A pro přehlednost a úplnost:
Výpis souborů z archivu:

pax -f archiv.tar

a režim "kopírovat":

pax -rw . archiv_dir

Volba -f vám umožňuje určit, se kterým archivem se má pracovat, namísto zápisu do stdout nebo čtení stdin . Použití volby -d s find zabrání procházení adresářových stromů pax , protože to bude provedeno v find

Komprese

Většina implementací pax poskytuje volbu -z ( gzip ) a -j ( bzip2 ) pro kompresi. Tato možnost však není normou předepsána. Pax nemůže rozšířit komprimované archivy.

Příklad pro rozbalení archivu gzip:

pax -rzf archive.tar.gz

Díky možnosti používat pax ve stylu cpio je možné použít nějaký jiný komprimační program, jako je xz :

pax -w . | xz > archive.tar.xz

a zobrazit obsah xz-archivu:

xzcat archive.tar.xz | pax

Podporované formáty

Od září 2009 verze pax obsažené ve většině distribucí Linuxu a BSD (pax [2] ) podporují následující formáty, povolené s volbou -x :

Je důležité, že samotný formát pax není podporován stávající verzí pax. Některé implementace, jako je Heirloom pax, podporují perspektivní formáty [3] včetně samotného formátu pax.

Podpora pro více svazků

pax podporuje možnost vytvářet vícesvazkové archivy . Po dosažení konce svazku se zobrazí následující zpráva:

Pozornost! pax potřebuje změnit svazek archivu. /dev/fd0 připraven pro svazek: 2 V případě potřeby načtěte další položku úložiště (disk). a ujistěte se, že je povolen zápis. Chcete-li pokračovat, zadejte „y“, "." pro ukončení pax nebo "s" pro přepnutí na nové zařízení. Pokud nemůžete změnit úložný prvek (disk), zadejte "s" Je zařízení připraveno a připojeno? >

Při obnově z vícesvazkového archivu si pax vyžádá další úložný prvek stejným způsobem, když je dosaženo konce úložného prvku před dosažením konce archivu.

Standardizace, přijetí a popularizace

Přestože byl v roce 2001 standardizován IEEE, od roku 2010 se pax těší relativně malé popularitě.

pax musí být přítomen na všech systémech kompatibilních s Linux Standard Base od verze 3.0 (vydáno 6. července 2005), [4] ale stále jej ve výchozím nastavení poskytuje jen málo distribucí Linuxu . Většina distribucí však obsahuje pax jako samostatný balíček.

pax je také přítomen ve Windows NT , kde je omezen na archivy souborů (páska není podporována). [5] Poté byl přesunut do subsystému Interix . Vytváření a obnovování Win32 ACL není podporováno. [6]

Balíčky zpracované instalačním programem OS X jsou často zabaleny do souboru Archive.pax.gz, který lze číst pomocí nástroje pax. [7]

Poznámky

  1. Základní specifikace Open Group Vydání 6  - POSIX.1-2001 (IEEE Std 1003.1) Copyright © 2001-2004 The IEEE and The Open Group
  2. muž pax
  3. Manuální stránka Heirloom pax
  4. Poznámky k vydání pro LSB 3.0 Archivováno 17. července 2011. všimněte si, že byl přidán pax: LSB 3.0. Příkazy a nástroje požadavek pax, ale LSB 2.1.0. Příkazy a nástroje to nevyžadují
  5. Eric Pearce. Windows NT v kostce: rychlý odkaz na plochu pro  správce systému . - O'Reilly Media , 1997. - S. 271. - ISBN 978-1-56592-251-8 .
  6. Správa systému záloh, Tar a Pax v Interix
  7. Extrahování souborů z balíčku pax.gz (downlink) . kakaobuilder.com. Získáno 15. 8. 2013. Archivováno z originálu 14. 2. 2015. 

Odkazy

Viz také