「アーカイブと圧縮」の版間の差分
ナビゲーションに移動
検索に移動
(→圧縮のみ: 一部翻訳) |
(序文の翻訳を修正) |
||
6行目: | 6行目: | ||
[[ru:Archiving and compression]] |
[[ru:Archiving and compression]] |
||
[[zh-hans:Archiving and compression]] |
[[zh-hans:Archiving and compression]] |
||
− | + | 伝統的な Unix のアーカイブツールと圧縮ツールは、Unix の哲学に従って分離されています。: |
|
+ | * [[Wikipedia:ja:アーカイブ (コンピュータ)|ファイルアーカイバ]] は、複数のファイルを1つのアーカイブファイルに結合します。例えば、''tar'' |
||
− | |||
− | * [[Wikipedia:ja:アーカイブ (コンピュータ)|ファイル アーカイバ]] は、複数のファイルを1つのアーカイブファイルに結合します。例えば、''tar'' |
||
* [[Wikipedia:ja:データ圧縮|圧縮]] ツールはデータを圧縮および展開します。例えば、''gzip'' |
* [[Wikipedia:ja:データ圧縮|圧縮]] ツールはデータを圧縮および展開します。例えば、''gzip'' |
||
− | これらのツールは、最初にアーカイブファイルを作成し、次にそれを圧縮する |
+ | これらのツールは、多くの場合、最初にアーカイブファイルを作成し、次にそれを圧縮するという順序で使用されます。 |
もちろん、 それ以外にも暗号化、エラー検出、およびリカバリレコードを追加したり [[アーカイブと圧縮#アーカイブと圧縮ツールの使用法|両方を行うツール]] もあります。 |
もちろん、 それ以外にも暗号化、エラー検出、およびリカバリレコードを追加したり [[アーカイブと圧縮#アーカイブと圧縮ツールの使用法|両方を行うツール]] もあります。 |
||
+ | |||
== アーカイブのみ == |
== アーカイブのみ == |
||
30行目: | 30行目: | ||
|} |
|} |
||
− | {{Tip|GNU と BSDtar はどちらも、bzip2、compress、gzip、lzip、lzma、lzop、zstd、および xz 圧縮アーカイブの展開を委任して自動的に実行します。 |
+ | {{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 はファイル拡張子に基づいて推測するだけです。}} |
こちらも参照 [https://wiki.archlinux.jp/index.php/%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%81%A8%E5%9C%A7%E7%B8%AE#.E3.82.A2.E3.83.BC.E3.82.AB.E3.82.A4.E3.83.96.E3.83.84.E3.83.BC.E3.83.AB.E3.81.AE.E4.BD.BF.E7.94.A8.E6.B3.95 アーカイブツールの使用法] |
こちらも参照 [https://wiki.archlinux.jp/index.php/%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96%E3%81%A8%E5%9C%A7%E7%B8%AE#.E3.82.A2.E3.83.BC.E3.82.AB.E3.82.A4.E3.83.96.E3.83.84.E3.83.BC.E3.83.AB.E3.81.AE.E4.BD.BF.E7.94.A8.E6.B3.95 アーカイブツールの使用法] |
||
64行目: | 64行目: | ||
* 並列実装では、複数の CPU コアを使用することで速度が向上します。 |
* 並列実装では、複数の CPU コアを使用することで速度が向上します。 |
||
− | * Tar 拡張機能とは、 {{ic|tar}} と圧縮ツールが使用されている圧縮アーカイブを指します。 |
+ | * Tar 拡張機能とは、 {{ic|tar}} と圧縮ツールが使用されている圧縮アーカイブを指します。{{ic|.tzo}} は {{ic|.tar.lzo}} です。 |
* [[#Compressionのみの使用法]] も参照してください。 |
* [[#Compressionのみの使用法]] も参照してください。 |
||
165行目: | 165行目: | ||
== アーカイブ形式の決定 == |
== アーカイブ形式の決定 == |
||
− | アーカイブを抽出するには、そのファイル形式を決定する必要があります。 |
+ | アーカイブを抽出するには、そのファイル形式を決定する必要があります。ファイルに適切な名前が付けられている場合は、ファイル拡張子からその形式を推測できます。 |
− | それ以外の場合は、 |
+ | それ以外の場合は、{{Pkg|file}} ツールを使用できます。{{man|1|file}} を参照してください。 |
== レアケース、または非推奨のツール == |
== レアケース、または非推奨のツール == |
2023年12月13日 (水) 13:52時点における版
伝統的な Unix のアーカイブツールと圧縮ツールは、Unix の哲学に従って分離されています。:
これらのツールは、多くの場合、最初にアーカイブファイルを作成し、次にそれを圧縮するという順序で使用されます。
もちろん、 それ以外にも暗号化、エラー検出、およびリカバリレコードを追加したり 両方を行うツール もあります。
目次
アーカイブのみ
名前 | パッケージ | マニュアル | 説明 |
---|---|---|---|
GNU tar | tar | tar(1), info | pacman と AUR が使用し、ユビキタス tar アーカイブ (tarball) を操作するための Core_utilities |
libarchive | libarchive | bsdtar(1) bsdcpio(1) |
ライブラリも提供する tar と cpio の実装。 pacman と mkinitcpio によって使用されます。 |
ar | binutils | ar(1) | tar の前のレガシー Unix アーカイバ。 現在、静的リンク ファイルの作成にのみ使用されています。 |
cpio | cpio | cpio(1) | stdin/stdout を介したファイルアーカイバは、 cpio および tar 形式をサポートします。 |
DAR | darAUR | dar(1) | 大規模なライブファイルシステムをバックアップするアーカイバは、ハードリンク、拡張属性、スパースファイル、および inode タイプを処理します。 |
こちらも参照 アーカイブツールの使用法
圧縮ツール
圧縮のみ
これらの圧縮プログラムは、独自のファイル形式を実装しています。
名前 | パッケージ | マニュアル | 拡張子 | 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 アルゴリズムを使用します。 | マルチスレッド |
- 並列実装では、複数の CPU コアを使用することで速度が向上します。
- Tar 拡張機能とは、
tar
と圧縮ツールが使用されている圧縮アーカイブを指します。.tzo
は.tar.lzo
です。 - #Compressionのみの使用法 も参照してください。
アーカイブと圧縮
名前 | パッケージ | マニュアル | 拡張子 | 説明 |
---|---|---|---|---|
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 | ZIP | LHa/LZH | 圧縮 | pack | CAB | ARJ |
---|---|---|---|---|---|---|---|---|
gzip | Yes | No | Yes | No | Yes | Yes | No | No |
p7zip | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes |
unarchiver | Yes | Yes | Yes | Yes | Yes | No | Yes | partial |
- 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
|
アーカイブと圧縮ツールの使用法
名前 | 圧縮 | 展開 | 展開標準出力 | リストの内容 |
---|---|---|---|---|
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 — さまざまな種類のファイルアーカイブを管理するためのスクリプト
- patool — ポータブルなコマンドラインアーカイブファイルマネージャー
- dtrx — インテリジェントなアーカイブ抽出ツール
- J7Z — GUI for Linux in java は、データ圧縮とバックアップの簡略化を試みています、7z, BZip2, Zip, GZip, Tar アーカイブを作成できます
- http://j7z.xavion.name/ || j7zAUR
- unp — アーカイブを簡単に展開できるコマンドラインツール
- unpack — 複数のアーカイブ形式を処理するためのラッパースクリプト
- zutils — gz/bz2/xz/lzip/zstd ファイルを透過的に展開するための C++ で記述された zcat(1)/zgrep(1)/zdiff(1) のドロップイン置換 bsdcat(1) と同様ですが、ユーザー定義ユーティリティを使用します。通常、pixz(1) のような一般的な (de)compressor の並列バリアントと組み合わせて使用されます。
アーカイブ形式の決定
アーカイブを抽出するには、そのファイル形式を決定する必要があります。ファイルに適切な名前が付けられている場合は、ファイル拡張子からその形式を推測できます。
それ以外の場合は、file ツールを使用できます。file(1) を参照してください。
レアケース、または非推奨のツール
名前 | パッケージ | 拡張子 | 説明 |
---|---|---|---|
ARC | arcAUR | .arc, .ark | ダイヤルアップ時代の頃に非常に人気がありました。ZIP に置き換えられました。 |
ARJ | arj | .arj | 1990年代半ばに DOS/Windows で使用されたアーカイバ。これはオープンソースのクローンです。 |
compress | ncompress | .Z | 古くに使われた.Zアーカイブを処理できる古典的な UNIX 圧縮ユーティリティ。 |
PAR2 | par2cmdline | .par2 | データの整合性を高めるためのパリティアーカイバ。 Parchive も参照してください。 |
shar | sharutils | .shar | 有効なシェルスクリプトである自己展開型アーカイブを作成します。 |
Zoo | zooAUR | .zoo | PKZIP が普及する前は、OpenVMS オペレーティングシステムで主に普及していました。 |
ファイルシステムの圧縮
一部の ファイルシステム は、ファイルデータのオンザフライ圧縮をサポートしています。
デバイスマッパーの圧縮
オープンソースの VDO プロジェクトをメインライン化 (Linux カーネルプロジェクトに統合) する作業が行われています。これは、ストレージ効率を向上させる目的で、重複排除および圧縮デバイスマッパー層を提供します。次のパッケージが利用可能です。
- vdo — VDO ボリュームを管理するためのユーザースペースツール
- kvdo — 重複除外および圧縮ブロックストレージのプールを提供する1組のカーネルモジュール
圧縮ライブラリ
- Brotli — LZ77アルゴリズム、ハフマンコーディング、および2次コンテキストモデリングを使用したデータストリームの圧縮アルゴリズム。
- libzip — ZIP ファイルの作成と抽出を提供します。KDE と Deepin で zip/unzip ツールの代わりに使われています。
- zlib — gzip および PKZIP にある deflate 圧縮方法を実装する圧縮ライブラリ。
- Zopfli — zopfli と呼ばれる deflate 互換アルゴリズムを使用した Google の高圧縮率ファイルコンプレッサー。
トラブルシューティング
日本語のファイル名が文字化けしてしまう
日本語版 Windows では、ZIP アーカイブは Shift-JIS でエンコードされています。デフォルトでは、これらのアーカイブは展開されたときに 文字化け したファイル名になります。 正しく展開するには、コマンドラインで shift-jis オプションを使って unzip を使ってください。
$ unzip -O shift-jis nihongo.zip