「アーカイブと圧縮」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
 
(3人の利用者による、間の46版が非表示)
1行目: 1行目:
[[Category:アーカイブ]]
+
[[Category:データ圧縮とアーカイブ]]
 
[[Category:コマンドライン]]
 
[[Category:コマンドライン]]
 
[[en:Archiving and compression]]
 
[[en:Archiving and compression]]
 
[[es:Archiving and compression]]
 
[[es:Archiving and compression]]
 
[[pt:Archiving and compression]]
 
[[pt:Archiving and compression]]
  +
[[ru:Archiving and compression]]
従来の Unix アーカイブおよび圧縮ツールは、[[Wikipedia:UNIX哲学|UNIX哲学]]に従って分離されています。
 
  +
[[zh-hans:Archiving and compression]]
  +
伝統的な Unix のアーカイブツールと圧縮ツールは、Unix の哲学に従って分離されています。:
  +
* [[Wikipedia:ja:アーカイブ (コンピュータ)|ファイルアーカイバ]] は、複数のファイルを1つのアーカイブファイルに結合します。例えば、''tar''
  +
* [[Wikipedia:ja:データ圧縮|圧縮]] ツールはデータを圧縮および展開します。例えば、''gzip''
   
* [[Wikipedia:File archiver|ファイ アーカイバ]] は、複数のファイルを1つのアーカイブファイルに結合します。 ''tar''
+
これらのツールは、多く場合、最初にアーカイブファイルを作成し、次それを圧縮するという順序で使用されます。
* [[Wikipedia:データ圧縮|圧縮]] ツールはデータを圧縮および解凍します。 '' gzip ''
 
   
  +
もちろん、 それ以外にも暗号化、エラー検出、およびリカバリレコードを追加したり [[アーカイブと圧縮#アーカイブと圧縮ツールの使用法|両方を行うツール]] もあります。
これらのツールは、最初にアーカイブファイルを作成し、次にそれを圧縮することによって順番に使用されることがよくあります。
 
   
もちろん、 それ以外にも暗号化、エラー検出、および回復を追加する [[#Archiving and Compression|tools]] もあります。
 
 
== アーカイブのみ ==
 
== アーカイブのみ ==
   
 
{| class=wikitable
 
{| class=wikitable
! Name !! Package !! Manuals !! Description
+
! 名前 !! パッケージ !! マニュアル !! 説明
 
|-
 
|-
 
| GNU [[Wikipedia:tar (computing)|tar]] || {{Pkg|tar}} || {{man|1|tar}}, [https://www.gnu.org/software/tar/manual/html_chapter/index.html info] || [[pacman]] と [[AUR]] が使用し、ユビキタス tar アーカイブ (tarball) を操作するための [[Core_utilities]]
 
| GNU [[Wikipedia:tar (computing)|tar]] || {{Pkg|tar}} || {{man|1|tar}}, [https://www.gnu.org/software/tar/manual/html_chapter/index.html info] || [[pacman]] と [[AUR]] が使用し、ユビキタス tar アーカイブ (tarball) を操作するための [[Core_utilities]]
25行目: 27行目:
 
| [[Wikipedia:cpio|cpio]] || {{Pkg|cpio}} || {{man|1|cpio}} || stdin/stdout を介したファイルアーカイバは、 cpio および tar 形式をサポートします。
 
| [[Wikipedia:cpio|cpio]] || {{Pkg|cpio}} || {{man|1|cpio}} || stdin/stdout を介したファイルアーカイバは、 cpio および tar 形式をサポートします。
 
|-
 
|-
| [http://dar.linux.free.fr/ DAR] || {{AUR|dar}} || {{man|1|dar|url=http://dar.linux.free.fr/doc/man/dar.html}} || 大規模なライブファイルシステムをバックアップするアーカイバは、ハードリンク、[https://wiki.archlinux.jp/index.php/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%83%91%E3%83%BC%E3%83%9F%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A8%E5%B1%9E%E6%80%A7#.E6.8B.A1.E5.BC.B5.E5.B1.9E.E6.80.A7 拡張属性]、スパースファイル、および inode タイプを処理します。
+
| [http://dar.linux.free.fr/ DAR] || {{AUR|dar}} || {{man|1|dar|url=http://dar.linux.free.fr/doc/man/dar.html}} || 大規模なライブファイルシステムをバックアップするアーカイバは、ハードリンク、[[拡張属性]]、スパースファイル、および inode タイプを処理します。
 
|}
 
|}
   
  +
{{Tip|GNU と BSDtar はどちらも、bzip2、compress、gzip、lzip、lzma、lzop、zstd、および xz 圧縮アーカイブの展開を委任して自動的に実行します。BSD tar のみが lz4 をネイティブにサポートします(ただし、GNUtar は{{ic|1=-use-compress-program=lz4}}/{{ic|-Ilz4}} と同等の機能を実行できます。)アーカイブを作成する場合、両方とも {{ic|-a}} スイッチをサポートして、ファイル拡張子に基づいて適切な圧縮プログラムを介して作成されたアーカイブを自動的にフィルタリングします。 BSD tar はフォーマットに基づいて圧縮フォーマットを認識しますが、GNUtar はファイル拡張子に基づいて推測するだけです。}}
{{Expansion|Are other compression algorithms such as lz4, lzop and zstd also supported by both implementations?}}
 
   
  +
こちらも参照 [[アーカイブと圧縮#アーカイブツールの使用法|アーカイブツールの使用法]]
{{Tip|GNU とBSD tar はどちらも、 bzip2、 compress、 gzip、 lzip、 lzma、 および xz 圧縮アーカイブの解凍委任を自動的に実行します。 アーカイブを作成する場合、両方とも {{ic|-a}} スイッチをサポートして、ファイル拡張子に基づいて適切な圧縮プログラムを介して作成されたアーカイブを自動的にフィルタリングします。 BSD tar はフォーマットに基づいて圧縮フォーマットを認識しますが、 GNU tar はファイル拡張子に基づいて推測するだけです。}}
 
   
  +
== 圧縮ツール ==
こちらも参照 [[#Archiving only usage]]
 
   
== Compression tools ==
+
=== 圧縮のみ ===
   
  +
これらの圧縮プログラムは、独自のファイル形式を実装しています。
=== Compression only ===
 
 
These compression programs implement their own file format.
 
   
 
{| class=wikitable
 
{| class=wikitable
! Name !! Package !! Manual !! Ext !! Tar ext !! Description!! Parallel implementations
+
! 名前 !! パッケージ !! マニュアル !! 拡張子 !! Tar 拡張子 !! 説明!! 並列実装
 
|-
 
|-
| [[Wikipedia:bzip2|bzip2]] || {{Pkg|bzip2}} || {{man|1|bzip2}} || .bz2, .bz || .tbz2, .tbz|| Uses the [[Wikipedia:Burrows–Wheeler transform|Burrows–Wheeler algorithm]].|| {{Pkg|lbzip2}}, {{Pkg|pbzip2}}
+
| [[Wikipedia:bzip2|bzip2]] || {{Pkg|bzip2}} || {{man|1|bzip2}} || .bz2, .bz || .tbz2, .tbz|| [[Wikipedia:Burrows–Wheeler transform|Burrows–Wheeler algorithm]] を使用します。|| {{Pkg|lbzip2}}, {{Pkg|pbzip2}}
 
|-
 
|-
| [[Wikipedia:gzip|gzip]] || {{Pkg|gzip}} || {{man|1|gzip}} || .gz, .z|| .tgz, .taz|| GNU zip, based on [[Wikipedia:DEFLATE|DEFLATE]] algorithm.|| {{Pkg|pigz}}
+
| bzip3 || {{Pkg|bzip3}} || {{man|1|bzip3}} || .bz3 || .tbz3 || [[Wikipedia:Burrows–Wheeler transform|Burrows–Wheeler algorithm]] を使用します。||
 
|-
 
|-
  +
| [[Wikipedia:gzip|gzip]] || {{Pkg|gzip}} || {{man|1|gzip}} || .gz, .z|| .tgz, .taz|| [[Wikipedia:DEFLATE|DEFLATE]] アルゴリズムに基づくGNUzip。|| {{Pkg|pigz}}, {{man|1|bgzip|url=https://manpages.debian.org/latest/tabix/bgzip.1.en.html}} ({{aur|htslib}} の一部), {{aur|crabz}}, {{aur|python-rapidgzip}}
| [[lrzip]] || {{Pkg|lrzip}} || {{man|1|lrzip}} || .lrz || || Improved version of [[Wikipedia:rzip|rzip]], uses multiple algorithms. || is multithreaded
 
 
|-
 
|-
| [[Wikipedia:LZ4 (compression algorithm)|LZ4]] || {{Pkg|lz4}} || {{man|1|lz4}} || .lz4 || || Written in C, focused on compression and decompression speed. || is multithreaded
+
| [[lrzip]] || {{Pkg|lrzip}} || {{man|1|lrzip}} || .lrz || || [[Wikipedia:rzip|rzip]] の改良版で、複数のアルゴリズムを使用しています。 || マルチスレッド
 
|-
 
|-
  +
| [[Wikipedia:LZ4 (compression algorithm)|LZ4]] || {{Pkg|lz4}} || {{man|1|lz4}} || .lz4 || || C で書かれ、圧縮と展開の速度に焦点を当てています。 || マルチスレッド化できますが、{{Pkg|lz4}} はマルチスレッド化できません。代替案については、https://lz4.gi​​thub.io/lz4/ を参照してください。
| [[Wikipedia:lzip|lzip]] || {{Pkg|lzip}} || {{man|1|lzip}} || .lz || || Uses [[Wikipedia:LZMA|LZMA]]. || {{AUR|plzip}}
 
 
|-
 
|-
| [[Wikipedia:lzop|lzop]] || {{Pkg|lzop}} || {{man|1|lzop}} || .lzop || .tzo || Uses the [[Wikipedia:Lempel–Ziv–Oberhumer|LZO]] library ({{Pkg|lzo}}).||
+
| [[Wikipedia:lzip|lzip]] || {{Pkg|lzip}} || {{man|1|lzip}} || .lz || || [[Wikipedia:LZMA|LZMA]] を使用。 || {{AUR|plzip}}
 
|-
 
|-
| [[Wikipedia:xz|xz]] || {{Pkg|xz}} || {{man|1|xz}} || .xz, .lzma || .txz, .tlz|| Uses [[Wikipedia:LZMA|LZMA]], default for GNU {{Pkg|coreutils}} and kernel archive files.|| is multithreaded, {{Pkg|pixz}}, {{aur|pxz-git}}
+
| [[Wikipedia:lzop|lzop]] || {{Pkg|lzop}} || {{man|1|lzop}} || .lzop || .tzo || [[Wikipedia:Lempel–Ziv–Oberhumer|LZO]] ({{Pkg|lzo}}) ライブラリを使用。||
 
|-
 
|-
| [[Wikipedia:zstd|zstd]] || {{Pkg|zstd}} || {{man|1|zstd}} || .zst || || Uses [[Wikipedia:Zstandard|Zstandard]] algorithm. || is multithreaded
+
| [[Wikipedia:xz|xz]] || {{Pkg|xz}} || {{man|1|xz}} || .xz, .lzma || .txz, .tlz|| [[Wikipedia:LZMA|LZMA]] を使用します。これは、GNU {{Pkg|coreutils}} およびカーネルアーカイブファイルのデフォルトです。|| マルチスレッド, {{Pkg|pixz}}, {{aur|pxz-git}}
  +
|-
  +
| [[Wikipedia:zstd|zstd]] || {{Pkg|zstd}} || {{man|1|zstd}} || .zst || || [[Wikipedia:Zstandard|Zstandard]] アルゴリズムを使用します。 || マルチスレッド
 
|-
 
|-
 
|}
 
|}
   
  +
* 並列実装では、複数の CPU コアを使用することで速度が向上します。
* Parallel implementations offer improved speeds by using multiple CPU cores.
 
* Tar extensions refers to compressed archives where {{ic|tar}} and the compression tool is used, e.g. {{ic|.tzo}} is {{ic|.tar.lzo}}.
+
* Tar 拡張機能とは、 {{ic|tar}} と圧縮ツールが使用されている圧縮アーカイブを指します。{{ic|.tzo}} {{ic|.tar.lzo}} です。
  +
* [[アーカイブと圧縮#アーカイブと圧縮ツールの使用法]] も参照してください。
* See also [[#Compression only usage]].
 
   
=== Archiving and compression ===
+
=== アーカイブと圧縮 ===
   
 
{| class=wikitable
 
{| class=wikitable
! Name !! Packages !! Manuals !! Ext !! Description
+
! 名前 !! パッケージ !! マニュアル !! 拡張子 !! 説明
 
|-
 
|-
| [[Wikipedia:7z|7z]] || {{Pkg|p7zip}} || {{man|1|7z}} || .7z || POSIX port of 7-zip's command-line. See [[p7zip]].
+
| [[p7zip]] || {{Pkg|p7zip}} || {{man|1|7z}} ||rowspan=2| .7z || [[Wikipedia:ja:7-Zip|7-zip's]] サードパーティ POSIX ポート。
 
|-
 
|-
  +
| [https://www.7-zip.org/ 7-Zip] || {{AUR|7-zip}} || - || 圧縮率の高いファイルアーカイバのアップストリーム Linux バージョン。
| [[Wikipedia:RAR (file format)|RAR]] || {{AUR|rar}}, {{Pkg|unrar}} || {{man|1|rar|url=}} || .rar || Both the format and the [[rar]] utility are proprietary.
 
 
|-
 
|-
| [[Wikipedia:Zip (file format)|ZIP]] || {{Pkg|zip}}, {{Pkg|unzip}} || {{man|1|zip}}, {{man|1|unzip}} || .zip || Widely used outside of the Linux world.
+
| [[Wikipedia:RAR (file format)|RAR]] || {{AUR|rar}}, {{Pkg|unrar}} || {{man|1|rar|url=https://manpages.ubuntu.com/manpages/jammy/man1/rar.1.html}} || .rar || フォーマットと [[RAR]] ユーティリティはどちらも独自仕様です。
 
|-
 
|-
  +
|[https://github.com/martinellimarco/t2sz t2sz]||{{aur|t2sz}}|| || .tar.zst .tzst || メンバーズアラインドの zstd-compression を使用した C で記述された tar アーカイブユーティリティ
| [https://theunarchiver.com/ Unarchiver] || {{Pkg|unarchiver}} || {{man|1|unar}}, {{man|1|lsar}} || ''many'' || Command-line tool of a Mac application, supports over 40 archive formats.
 
 
|-
 
|-
  +
|[https://lzip.nongnu.org/tarlz.html tarlz]|| {{aur|tarlz}} || {{man|1|tarlz|url=https://manpages.debian.org/sid/tarlz/tarlz.1.en.html}} || .tar.lz .tlz || C++ で記述された tar アーカイブ ユーティリティとメンバーアラインドされた lzip 圧縮
| [[Wikipedia:ZPAQ|ZPAQ]] || {{AUR|zpaq}} || {{man|1|zpaq|url=http://mattmahoney.net/dc/zpaqdoc.html}} || .zpaq || A high compression ratio archiver written in C++, uses several algorithms.
 
 
|-
 
|-
| [[Wikipedia:LHA (file format)|LHa]] || {{Pkg|lhasa}}, {{AUR|lha}} || {{man|1|lha}} || .lzh (on Amiga: .lha) || LZH/LHA archiver, supports the lh7-method.
+
| [[Wikipedia:Zip (file format)|ZIP]] || {{Pkg|zip}}, {{Pkg|unzip}} || {{man|1|zip}}, {{man|1|unzip}} || .zip || Linux の世界以外で広く使用されています。
  +
|-
  +
| [https://theunarchiver.com/ Unarchiver] || {{Pkg|unarchiver}} || {{man|1|unar}}, {{man|1|lsar}} || ''many'' || Mac アプリケーションのコマンドラインツール、40を超えるアーカイブ形式をサポートします。
  +
|-
  +
| [[Wikipedia:ZPAQ|ZPAQ]] || {{AUR|zpaq}} || {{man|1|zpaq|url=http://mattmahoney.net/dc/zpaqdoc.html}} || .zpaq || C++ で記述された高圧縮率のアーカイバ、いくつかのアルゴリズムを使用します。
  +
|-
  +
| [[Wikipedia:LHA (file format)|LHa]] || {{Pkg|lhasa}}, {{AUR|lha}} || {{man|1|lha}} || .lzh (on Amiga: .lha) || LZH/LHA アーカイバは、 lh7 メソッドをサポートします。
  +
|-
  +
| [[W:WinAce|WinAce]] || {{Pkg|unace}} || {{man|1|unace|url=https://manned.org/unace.1}} || .ace || [[W:ja:ACE (ファイルフォーマット)|ACE]] ファイル形式とアーカイブツールは両方とも独自のものです。
 
|}
 
|}
   
  +
こちらも参照してください [[アーカイブと圧縮#アーカイブと圧縮ツールの使用法|アーカイブと圧縮ツールの使用法]]
See also [[#Archiving and compression usage]].
 
   
=== Feature charts ===
+
=== 機能チャート ===
   
==== Decompress ====
+
==== 展開 ====
   
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
  +
! rowspan="2" | 名前 !! colspan="5" | ファイル !! colspan="4" | アーカイブ
! Name !! gzip !! bzip2 !! ZIP !! LHa/LZH !! compress !! pack !! CAB !! ARJ
 
 
|-
 
|-
  +
! gzip !! bzip2 !! LZMA !! xz !! zstd !! ZIP !! RAR !! 7z !! CAB
| {{Pkg|gzip}} || {{Yes}} || {{No}}|| {{Yes}} || {{No}} ||{{Yes}} || {{Yes}} || {{No}} || {{No}}
 
 
|-
 
|-
| {{Pkg|p7zip}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}
+
| {{Pkg|gzip}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Y|Partial<sup>1</sup>}} || {{No}} || {{No}} || {{No}}
 
|-
 
|-
| {{Pkg|unarchiver}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} ||{{Yes}} || {{No}} || {{Yes}} || {{Y|partial}}
+
| {{Pkg|p7zip}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
  +
|-
  +
| {{AUR|7-zip}}, {{AUR|7-zip-full}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
  +
|-
  +
| {{Pkg|unarchiver}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No|https://github.com/MacPaw/XADMaster/issues/160}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
  +
|-
  +
| {{Pkg|zstd}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}}
 
|}
 
|}
   
{{Note|{{Pkg|gzip}}'s ''gunzip'' can only decompress single member ZIP files.}}
+
# {{Pkg|gzip}} ''gunzip'' は単一メンバーの ZIP ファイルのみを展開できます。
   
== Usage comparison ==
+
== 使用比較 ==
   
  +
=== アーカイブツールの使用法 ===
=== Archiving only usage ===
 
   
 
{| class=wikitable
 
{| class=wikitable
! Name !! Create archive !! Extract archive !! List content
+
! 名前 !! 圧縮 !! 展開 !! リストの内容
 
|-
 
|-
 
| {{man|1|tar}} || {{ic|tar cfv archive.tar file1 file2}} || {{ic|tar xfv archive.tar}} || {{ic|tar -tvf archive.tar}}
 
| {{man|1|tar}} || {{ic|tar cfv archive.tar file1 file2}} || {{ic|tar xfv archive.tar}} || {{ic|tar -tvf archive.tar}}
113行目: 129行目:
 
|}
 
|}
   
=== Compression only usage ===
+
=== 圧縮ツールの使用法 ===
   
 
{| class=wikitable
 
{| class=wikitable
! Name !! Compress !! Decompress !! Decompress to stdout
+
! 名前 !! 圧縮 !! 展開 !! 展開標準出力
 
|-
 
|-
 
| {{man|1|bzip2}} || {{ic|bzip2 file}} || {{ic|bzip2 -d file.bz2}} || {{ic|bzcat file.bz2}}
 
| {{man|1|bzip2}} || {{ic|bzip2 file}} || {{ic|bzip2 -d file.bz2}} || {{ic|bzcat file.bz2}}
125行目: 141行目:
 
|-
 
|-
 
| {{man|1|xz}} || {{ic|xz file}} || {{ic|xz -d file.xz}} || {{ic|xzcat file.xz}}
 
| {{man|1|xz}} || {{ic|xz file}} || {{ic|xz -d file.xz}} || {{ic|xzcat file.xz}}
  +
|-
  +
| {{man|1|zstd}} || {{ic|zstd file}} || {{ic|zstd -d file.zst}} || {{ic|zstdcat file.zst}}
 
|}
 
|}
   
  +
=== アーカイブと圧縮ツールの使用法 ===
=== Archiving and compression usage ===
 
   
 
{| class=wikitable
 
{| class=wikitable
! Name !! Compress !! Decompress !! Decompress to stdout !! List content
+
! 名前 !! 圧縮 !! 展開 !! 展開標準出力 !! リストの内容
 
|-
 
|-
 
| {{man|1|7z}} || {{ic|7z a archive.7z file1 file2}} || {{ic|7z x archive.7z}} || {{ic|7z e -so archive.7z file1}} || {{ic|7z l archive.7z}}
 
| {{man|1|7z}} || {{ic|7z a archive.7z file1 file2}} || {{ic|7z x archive.7z}} || {{ic|7z e -so archive.7z file1}} || {{ic|7z l archive.7z}}
 
|-
 
|-
| {{man|1|rar|url=}} & unrar || {{ic|rar a archive.rar file1 file2}} || {{ic|rar x archive.rar}} || {{ic|rar p -inul archive.rar file1}} || {{ic|rar l archive.rar}}
+
| {{man|1|rar|url=https://manned.org/rar.1}} || {{ic|rar a archive.rar file1 file2}} || {{ic|rar x archive.rar}} || {{ic|rar p -inul archive.rar file1}} || {{ic|rar l archive.rar}}
 
|-
 
|-
 
| {{man|1|zip}}, {{man|1|unzip}} || {{ic|zip archive.zip file1 file2}} || {{ic|unzip archive.zip}} || {{ic|unzip -p archive.zip file1}} || {{ic|unzip -l archive.zip}}
 
| {{man|1|zip}}, {{man|1|unzip}} || {{ic|zip archive.zip file1 file2}} || {{ic|unzip archive.zip}} || {{ic|unzip -p archive.zip file1}} || {{ic|unzip -l archive.zip}}
142行目: 160行目:
 
|}
 
|}
   
== Convenience tools ==
+
== 便利なツール ==
   
* {{App|atool|Script for managing file archives of various types.|https://www.nongnu.org/atool/|{{Pkg|atool}}}}
+
* {{App|atool|さまざまな種類のファイルアーカイブを管理するためのスクリプト|https://www.nongnu.org/atool/|{{Pkg|atool}}}}
* {{App|dtrx|An intelligent archive extraction tool.|https://github.com/brettcs/dtrx|{{AUR|dtrx}}}}
+
* {{App|patool|ポータブルなコマンドラインアーカイブファイルマネージャー|https://github.com/wummel/patool|{{AUR|patool}}}}
* {{App|unp|Command line tool that can unpack archives easily.|https://github.com/mitsuhiko/unp|{{AUR|python-unp}}}}
+
* {{App|dtrx|インテリジェントなアーカイブ抽出ツール|https://github.com/brettcs/dtrx|{{AUR|dtrx}}}}
  +
* {{App|J7Z|GUI for Linux in java は、データ圧縮とバックアップの簡略化を試みています、7z, BZip2, Zip, GZip, Tar アーカイブを作成できます|http://j7z.xavion.name/|{{AUR|j7z}}}}
* {{App|unpack|Wrapper script for handling multiple archive formats.|https://github.com/githaff/unpack|{{AUR|unpack-git}}}}
 
  +
* {{App|unp|アーカイブを簡単に展開できるコマンドラインツール|https://github.com/mitsuhiko/unp|{{AUR|python-unp}}}}
* [[Bash/Functions#Extract]]
 
  +
* {{App|unpack|複数のアーカイブ形式を処理するためのラッパースクリプト|https://github.com/githaff/unpack|{{AUR|unpack-git}}}}
  +
* {{App|zutils|gz/bz2/xz/lzip/zstd ファイルを透過的に展開するための C++ で記述された {{man|1|zcat}}/{{man|1|zgrep}}/{{man|1|zdiff}} のドロップイン置換 {{man|1|bsdcat}} と同様ですが、ユーザー定義ユーティリティを使用します。通常、{{man|1|pixz}} のような一般的な (de)compressor の並列バリアントと組み合わせて使用​​されます。|https://www.nongnu.org/zutils/zutils.html|{{AUR|zutils}}}}
  +
* [[Bash/関数#展開]]
   
  +
== アーカイブ形式の決定 ==
== Determining archive format ==
 
   
  +
アーカイブを抽出するには、そのファイル形式を決定する必要があります。ファイルに適切な名前が付けられている場合は、ファイル拡張子からその形式を推測できます。
To extract an archive, its file format needs to be determined. If the file is properly named you can deduce its format from the file extension.
 
   
Otherwise you can use the {{Pkg|file}} tool, see {{man|1|file}}.
+
それ以外の場合は、{{Pkg|file}} ツールを使用できます。{{man|1|file}} を参照してください。
   
  +
== レアケース、または非推奨のツール ==
== Esoteric, rare or deprecated tools ==
 
   
 
{| class=wikitable
 
{| class=wikitable
! Name !! Packages !! Ext !! Description
+
! 名前 !! パッケージ !! 拡張子 !! 説明
 
|-
 
|-
| [[Wikipedia:ARC (file format)|ARC]] || {{AUR|arc}} || .arc, .ark|| Was very popular during the early days of the dial-up BBS. Superseded by ZIP.
+
| [[Wikipedia:ARC (file format)|ARC]] || {{AUR|arc}} || .arc, .ark|| ダイヤルアップ時代の頃に非常に人気がありました。ZIP に置き換えられました。
 
|-
 
|-
| [[Wikipedia:ARJ|ARJ]] || {{Pkg|arj}} || .arj|| An archiver used on DOS/Windows in mid-1990s. This is an open source clone.
+
| [[Wikipedia:ARJ|ARJ]] || {{Pkg|arj}} || .arj|| 1990年代半ばに DOS/Windows で使用されたアーカイバ。これはオープンソースのクローンです。
 
|-
 
|-
  +
| [[Wikipedia:Cabinet (file format)|Cabinet]] || {{Pkg|cabextract}}, {{Pkg|unshield}} || .cab, .exe || Windows のさまざまなインストールテクノロジでは CAB 形式が使用されます。
| [[Wikipedia:compress|compress]] || {{Pkg|ncompress}} || .Z || The classic unix compression utility which can handle the ancient .Z archive.
 
 
|-
 
|-
  +
| [[Wikipedia:compress|compress]] || {{Pkg|ncompress}} || .Z || gzip が普及する前に、Huffman ベースの {{man|1|pack|url=https://illumos.org/man/1/pack}} を成功させた事実上標準の UNIX 圧縮ユーティリティ。
| [[Wikipedia:Parchive|PAR2]] || {{Pkg|par2cmdline}} || .par2|| Parity archiver for increased data integrity. See also [[Parchive]].
 
 
|-
 
|-
| [[Wikipedia:shar|shar]] || {{Pkg|sharutils}} || .shar || Creates self-extracting archives that are valid shell scripts.
+
| [[Wikipedia:Inno Setup|Inno Setup]] || {{Pkg|innoextract}} || .exe || Inno Setup によって作成されたインストーラー。
 
|-
 
|-
  +
| [[Wikipedia:Parchive|PAR2]] || {{Pkg|par2cmdline}} || .par2|| データの整合性を高めるためのパリティアーカイバ。 [[Parchive]] も参照してください。
| [[Wikipedia:Zoo_(file_format)|Zoo]] || {{AUR|zoo}} || .zoo || Was mostly popular on the [[Wikipedia:OpenVMS|OpenVMS]] operating system before PKZIP became popular.
 
  +
|-
  +
| [[Wikipedia:shar|shar]] || {{Pkg|sharutils}} || .shar || 有効なシェルスクリプトである自己展開型アーカイブを作成します。
  +
|-
  +
| [[Wikipedia:Zoo_(file_format)|Zoo]] || {{AUR|zoo}} || .zoo || PKZIP が普及する前は、[[Wikipedia:OpenVMS|OpenVMS]] オペレーティングシステムで主に普及していました。
 
|}
 
|}
   
  +
== ファイルシステムの圧縮 ==
== Device mapper compression ==
 
  +
  +
一部の [[ファイルシステム]] は、ファイルデータのオンザフライ圧縮をサポートしています。
  +
  +
* [[Btrfs#圧縮|Btrfs]] は、デフォルトで個々のファイル、ディレクトリ、またはボリューム全体を圧縮するように構成できます。
  +
* [[ZFS#チューニング|ZFS]] では、プールまたはファイルシステムで圧縮を有効にすることができます。
  +
  +
== デバイスマッパーの圧縮 ==
  +
  +
オープンソースの VDO プロジェクトをメインライン化 (Linux カーネルプロジェクトに統合) する作業が行われています。これは、ストレージ効率を向上させる目的で、重複排除および圧縮デバイスマッパー層を提供します。次のパッケージが利用可能です。
  +
  +
* {{App|vdo|VDO ボリュームを管理するためのユーザースペースツール|https://github.com/dm-vdo/vdo|{{Aur|vdo}}}}
  +
* {{App|kvdo|重複除外および圧縮ブロックストレージのプールを提供する1組のカーネルモジュール|https://github.com/dm-vdo/kvdo|{{Aur|kvdo-dkms}}}}
  +
  +
== 圧縮ライブラリ ==
   
  +
* {{App|[[Wikipedia:Brotli|Brotli]]|LZ77アルゴリズム、ハフマンコーディング、および2次コンテキストモデリングを使用したデータストリームの圧縮アルゴリズム。|https://github.com/google/brotli|{{Pkg|brotli}}}}
{{Style|Do not use indefinite time references such as "recently", see [[Help:Style#Language register]].}}
 
  +
* {{App|[[Wikipedia:libzip|libzip]]|ZIP ファイルの作成と抽出を提供します。KDE と Deepin で zip/unzip ツールの代わりに使われています。|https://libzip.org|{{Pkg|libzip}}}}
  +
* {{App|[[Wikipedia:zlib|zlib]]|gzip および PKZIP にある deflate 圧縮方法を実装する圧縮ライブラリ。|https://www.zlib.net/|{{Pkg|zlib}}}}
  +
* {{App|[[Wikipedia:Zopfli|Zopfli]]|zopfli と呼ばれる deflate 互換アルゴリズムを使用した Google の高圧縮率ファイルコンプレッサー。|https://github.com/google/zopfli|{{aur|zopfli-git}}}}
   
  +
== トラブルシューティング ==
There is work being done to mainline (integrate into the Linux kernel project) the recently open-sourced VDO project, which provides a deduplication and compression device mapper layer in the interest of increasing storage efficiency. The following packages are available:
 
   
  +
=== 日本語のファイル名が文字化けしてしまう ===
* {{App|vdo|Userspace tools for managing VDO volumes|https://github.com/dm-vdo/vdo|{{Aur|vdo}}}}
 
* {{App|kvdo|A pair of kernel modules which provide pools of deduplicated and/or compressed block storage|https://github.com/dm-vdo/kvdo|{{Aur|kvdo-dkms}}}}
 
   
  +
日本語版 Windows では、ZIP アーカイブは Shift-JIS でエンコードされています。デフォルトでは、これらのアーカイブは展開されたときに [https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91 文字化け] したファイル名になります。
== Compression libraries ==
 
  +
正しく展開するには、コマンドラインで shift-jis オプションを使って ''unzip'' を使ってください。
   
  +
$ unzip -O shift-jis nihongo.zip
* {{App|[[Wikipedia:Brotli|Brotli]]|Compression algorithm for data streams using the LZ77 algorithm, Huffman coding and 2nd order context modeling.|https://github.com/google/brotli|{{Pkg|brotli}}}}
 
* {{App|[[Wikipedia:zlib|zlib]]|Compression library implementing the deflate compression method found in gzip and PKZIP.|https://www.zlib.net/|{{Pkg|zlib}}}}
 
* {{App|[[Wikipedia:Zopfli|Zopfli]]|High compress ratio file compressor from Google, using a deflate-compatible algorithm called zopfli.|https://github.com/google/zopfli|{{aur|zopfli-git}}}}
 
   
== See also ==
+
== 参照 ==
   
  +
* [https://wiki.archlinux.jp/index.php/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E4%B8%80%E8%A6%A7/%E3%83%A6%E3%83%BC%E3%83%86%E3%82%A3%E3%83%AA%E3%83%86%E3%82%A3#.E5.9C.A7.E7.B8.AE.E3.83.84.E3.83.BC.E3.83.AB 圧縮ツール]
* [[List of applications/Utilities#Archive managers]]
 
* [[List of applications/Multimedia#Image compression]]
+
* [https://wiki.archlinux.org/index.php/List_of_applications/Multimedia#Image_compression Image compression]
 
* [[Wikipedia:Comparison of file archivers]]
 
* [[Wikipedia:Comparison of file archivers]]
 
* [[Wikipedia:List of archive formats]]
 
* [[Wikipedia:List of archive formats]]

2024年7月25日 (木) 00:36時点における最新版

伝統的な Unix のアーカイブツールと圧縮ツールは、Unix の哲学に従って分離されています。:

  • ファイルアーカイバ は、複数のファイルを1つのアーカイブファイルに結合します。例えば、tar
  • 圧縮 ツールはデータを圧縮および展開します。例えば、gzip

これらのツールは、多くの場合、最初にアーカイブファイルを作成し、次にそれを圧縮するという順序で使用されます。

もちろん、 それ以外にも暗号化、エラー検出、およびリカバリレコードを追加したり 両方を行うツール もあります。

アーカイブのみ

名前 パッケージ マニュアル 説明
GNU tar tar tar(1), info pacmanAUR が使用し、ユビキタス tar アーカイブ (tarball) を操作するための Core_utilities
libarchive libarchive bsdtar(1)
bsdcpio(1)
ライブラリも提供する tarcpio の実装。 pacmanmkinitcpio によって使用されます。
ar binutils ar(1) tar の前のレガシー Unix アーカイバ。 現在、静的リンク ファイルの作成にのみ使用されています。
cpio cpio cpio(1) stdin/stdout を介したファイルアーカイバは、 cpio および tar 形式をサポートします。
DAR darAUR dar(1) 大規模なライブファイルシステムをバックアップするアーカイバは、ハードリンク、拡張属性、スパースファイル、および inode タイプを処理します。
ヒント: GNU と BSDtar はどちらも、bzip2、compress、gzip、lzip、lzma、lzop、zstd、および xz 圧縮アーカイブの展開を委任して自動的に実行します。BSD tar のみが lz4 をネイティブにサポートします(ただし、GNUtar は-use-compress-program=lz4/-Ilz4 と同等の機能を実行できます。)アーカイブを作成する場合、両方とも -a スイッチをサポートして、ファイル拡張子に基づいて適切な圧縮プログラムを介して作成されたアーカイブを自動的にフィルタリングします。 BSD tar はフォーマットに基づいて圧縮フォーマットを認識しますが、GNUtar はファイル拡張子に基づいて推測するだけです。

こちらも参照 アーカイブツールの使用法

圧縮ツール

圧縮のみ

これらの圧縮プログラムは、独自のファイル形式を実装しています。

名前 パッケージ マニュアル 拡張子 Tar 拡張子 説明 並列実装
bzip2 bzip2 bzip2(1) .bz2, .bz .tbz2, .tbz Burrows–Wheeler algorithm を使用します。 lbzip2, pbzip2
bzip3 bzip3 bzip3(1) .bz3 .tbz3 Burrows–Wheeler algorithm を使用します。
gzip gzip gzip(1) .gz, .z .tgz, .taz DEFLATE アルゴリズムに基づくGNUzip。 pigz, bgzip(1) (htslibAUR の一部), crabzAUR, python-rapidgzipAUR
lrzip lrzip lrzip(1) .lrz rzip の改良版で、複数のアルゴリズムを使用しています。 マルチスレッド
LZ4 lz4 lz4(1) .lz4 C で書かれ、圧縮と展開の速度に焦点を当てています。 マルチスレッド化できますが、lz4 はマルチスレッド化できません。代替案については、https://lz4.github.io/lz4/ を参照してください。
lzip lzip lzip(1) .lz LZMA を使用。 plzipAUR
lzop lzop lzop(1) .lzop .tzo LZO (lzo) ライブラリを使用。
xz xz xz(1) .xz, .lzma .txz, .tlz LZMA を使用します。これは、GNU coreutils およびカーネルアーカイブファイルのデフォルトです。 マルチスレッド, pixz, pxz-gitAUR
zstd zstd zstd(1) .zst Zstandard アルゴリズムを使用します。 マルチスレッド

アーカイブと圧縮

名前 パッケージ マニュアル 拡張子 説明
p7zip p7zip 7z(1) .7z 7-zip's サードパーティ POSIX ポート。
7-Zip 7-zipAUR - 圧縮率の高いファイルアーカイバのアップストリーム Linux バージョン。
RAR rarAUR, unrar rar(1) .rar フォーマットと RAR ユーティリティはどちらも独自仕様です。
t2sz t2szAUR .tar.zst .tzst メンバーズアラインドの zstd-compression を使用した C で記述された tar アーカイブユーティリティ
tarlz tarlzAUR tarlz(1) .tar.lz .tlz C++ で記述された tar アーカイブ ユーティリティとメンバーアラインドされた lzip 圧縮
ZIP zip, unzip zip(1), unzip(1) .zip Linux の世界以外で広く使用されています。
Unarchiver unarchiver unar(1), lsar(1) many Mac アプリケーションのコマンドラインツール、40を超えるアーカイブ形式をサポートします。
ZPAQ zpaqAUR zpaq(1) .zpaq C++ で記述された高圧縮率のアーカイバ、いくつかのアルゴリズムを使用します。
LHa lhasa, lhaAUR lha(1) .lzh (on Amiga: .lha) LZH/LHA アーカイバは、 lh7 メソッドをサポートします。
WinAce unace unace(1) .ace ACE ファイル形式とアーカイブツールは両方とも独自のものです。

こちらも参照してください アーカイブと圧縮ツールの使用法

機能チャート

展開

名前 ファイル アーカイブ
gzip bzip2 LZMA xz zstd ZIP RAR 7z CAB
gzip Yes No No No No Partial1 No No No
p7zip Yes Yes Yes Yes Yes Yes Yes Yes Yes
7-zipAUR, 7-zip-fullAUR Yes Yes Yes Yes Yes Yes Yes Yes Yes
unarchiver Yes Yes Yes Yes No Yes Yes Yes Yes
zstd Yes No Yes Yes Yes No No No No
  1. gzip gunzip は単一メンバーの ZIP ファイルのみを展開できます。

使用比較

アーカイブツールの使用法

名前 圧縮 展開 リストの内容
tar(1) tar cfv archive.tar file1 file2 tar xfv archive.tar tar -tvf archive.tar
cpio(1) ls file1 file2 | cpio -o > archive.cpio cpio -i -vd < archive.cpio cpio -t < archive.cpio

圧縮ツールの使用法

名前 圧縮 展開 展開標準出力
bzip2(1) bzip2 file bzip2 -d file.bz2 bzcat file.bz2
gzip(1) gzip file gzip -d file.gz zcat file.gz
lrzip(1) lrzip file
lrztar folder
lrzip -d file.lrz
lrztar -d folder.tar.lrz
lrzcat file.lrz
xz(1) xz file xz -d file.xz xzcat file.xz
zstd(1) zstd file zstd -d file.zst zstdcat file.zst

アーカイブと圧縮ツールの使用法

名前 圧縮 展開 展開標準出力 リストの内容
7z(1) 7z a archive.7z file1 file2 7z x archive.7z 7z e -so archive.7z file1 7z l archive.7z
rar(1) rar a archive.rar file1 file2 rar x archive.rar rar p -inul archive.rar file1 rar l archive.rar
zip(1), unzip(1) zip archive.zip file1 file2 unzip archive.zip unzip -p archive.zip file1 unzip -l archive.zip
lha(1) lha ao7 archive.lzh file1 file2 lha x archive.lzh minimal: lha l archive.lzh verbose: lha v archive.lzh

便利なツール

  • atool — さまざまな種類のファイルアーカイブを管理するためのスクリプト
https://www.nongnu.org/atool/ || atool
  • patool — ポータブルなコマンドラインアーカイブファイルマネージャー
https://github.com/wummel/patool || patoolAUR
  • dtrx — インテリジェントなアーカイブ抽出ツール
https://github.com/brettcs/dtrx || dtrxAUR
  • J7Z — GUI for Linux in java は、データ圧縮とバックアップの簡略化を試みています、7z, BZip2, Zip, GZip, Tar アーカイブを作成できます
http://j7z.xavion.name/ || j7zAUR
  • unp — アーカイブを簡単に展開できるコマンドラインツール
https://github.com/mitsuhiko/unp || python-unpAUR
  • unpack — 複数のアーカイブ形式を処理するためのラッパースクリプト
https://github.com/githaff/unpack || unpack-gitAUR
  • zutils — gz/bz2/xz/lzip/zstd ファイルを透過的に展開するための C++ で記述された zcat(1)/zgrep(1)/zdiff(1) のドロップイン置換 bsdcat(1) と同様ですが、ユーザー定義ユーティリティを使用します。通常、pixz(1) のような一般的な (de)compressor の並列バリアントと組み合わせて使用​​されます。
https://www.nongnu.org/zutils/zutils.html || zutilsAUR

アーカイブ形式の決定

アーカイブを抽出するには、そのファイル形式を決定する必要があります。ファイルに適切な名前が付けられている場合は、ファイル拡張子からその形式を推測できます。

それ以外の場合は、file ツールを使用できます。file(1) を参照してください。

レアケース、または非推奨のツール

名前 パッケージ 拡張子 説明
ARC arcAUR .arc, .ark ダイヤルアップ時代の頃に非常に人気がありました。ZIP に置き換えられました。
ARJ arj .arj 1990年代半ばに DOS/Windows で使用されたアーカイバ。これはオープンソースのクローンです。
Cabinet cabextract, unshield .cab, .exe Windows のさまざまなインストールテクノロジでは CAB 形式が使用されます。
compress ncompress .Z gzip が普及する前に、Huffman ベースの pack(1) を成功させた事実上標準の UNIX 圧縮ユーティリティ。
Inno Setup innoextract .exe Inno Setup によって作成されたインストーラー。
PAR2 par2cmdline .par2 データの整合性を高めるためのパリティアーカイバ。 Parchive も参照してください。
shar sharutils .shar 有効なシェルスクリプトである自己展開型アーカイブを作成します。
Zoo zooAUR .zoo PKZIP が普及する前は、OpenVMS オペレーティングシステムで主に普及していました。

ファイルシステムの圧縮

一部の ファイルシステム は、ファイルデータのオンザフライ圧縮をサポートしています。

  • Btrfs は、デフォルトで個々のファイル、ディレクトリ、またはボリューム全体を圧縮するように構成できます。
  • ZFS では、プールまたはファイルシステムで圧縮を有効にすることができます。

デバイスマッパーの圧縮

オープンソースの VDO プロジェクトをメインライン化 (Linux カーネルプロジェクトに統合) する作業が行われています。これは、ストレージ効率を向上させる目的で、重複排除および圧縮デバイスマッパー層を提供します。次のパッケージが利用可能です。

  • vdo — VDO ボリュームを管理するためのユーザースペースツール
https://github.com/dm-vdo/vdo || vdoAUR
  • kvdo — 重複除外および圧縮ブロックストレージのプールを提供する1組のカーネルモジュール
https://github.com/dm-vdo/kvdo || kvdo-dkmsAUR

圧縮ライブラリ

  • Brotli — LZ77アルゴリズム、ハフマンコーディング、および2次コンテキストモデリングを使用したデータストリームの圧縮アルゴリズム。
https://github.com/google/brotli || brotli
  • libzip — ZIP ファイルの作成と抽出を提供します。KDE と Deepin で zip/unzip ツールの代わりに使われています。
https://libzip.org || libzip
  • zlib — gzip および PKZIP にある deflate 圧縮方法を実装する圧縮ライブラリ。
https://www.zlib.net/ || zlib
  • Zopfli — zopfli と呼ばれる deflate 互換アルゴリズムを使用した Google の高圧縮率ファイルコンプレッサー。
https://github.com/google/zopfli || zopfli-gitAUR

トラブルシューティング

日本語のファイル名が文字化けしてしまう

日本語版 Windows では、ZIP アーカイブは Shift-JIS でエンコードされています。デフォルトでは、これらのアーカイブは展開されたときに 文字化け したファイル名になります。 正しく展開するには、コマンドラインで shift-jis オプションを使って unzip を使ってください。

$ unzip -O shift-jis nihongo.zip

参照