Tar
GNU の Tar ページ より:
- "
Tar
プログラムは tar アーカイブの作成など、様々な操作を行う機能を提供します。例えば、Tar を使って先に作成したアーカイブからファイルを展開したり、追加でファイルを保存したり、既に保存されているファイルを更新したり確認することができます。"
初期の Unix の圧縮形式として、tar
ファイル (別名 tarball) は Unix ライクなオペレーティングシステムでパッケージの作成に広く使われています。pacman と AUR のパッケージはどちらも tarball であり、Arch はデフォルトで GNU の Tar
プログラムを使います。
使用方法
tar
アーカイブを扱うとき、tar
はデフォルトで拡張子にあわせてファイルを展開します:
$ tar xvf file.EXTENSION
特定の形式を指定する場合:
ファイルタイプ | 解凍コマンド |
---|---|
file.tar |
tar xvf file.tar
|
file.tgz |
tar xvzf file.tgz
|
file.tar.gz |
tar xvzf file.tar.gz
|
file.tar.bz |
bzip -cd file.bz | tar xvf -
|
file.tar.bz2 |
tar xvjf file.tar.bz2 bzip2 -cd file.bz2 | tar xvf -
|
file.tar.xz |
tar xvJf file.tar.xz xz -cd file.xz | tar xvf -
|
上記の tar
引数の中にはレガシーなものもありますが、特定の操作をするときは未だに有用です。詳しい説明は tar
の man ページの Compatibility セクションを見て下さい。
アーカイブの作成と更新
アーカイブを作成してから更新するのはウェブドメインの更新などで役に立ちます。まず、作業ディレクトリにアーカイブを作成してください。./archive.tar
が既に存在する場合、tar
は ./archive.tar
を新しい tarball に含めません。
$ tar -cf ./archive.tar .
アーカイブを更新したら、tar
を使ってアーカイブに含まれているファイルを更新します。
$ tar --list -f ./archive.tar $ tar -uf ./archive.tar
並列圧縮によるバックアップ
並列圧縮 (SMP) を使ってバックアップしたい場合、pbzip2 (Parallel bzip2) を使用して下さい。
まず普通の tarball に圧縮をかけずにファイルをバックアップします:
# tar -cvf /destionation_path/etc-backup.tar /etc
それから pbzip2 を使って並列に圧縮します:
$ pbzip2 /path/to/chosen/directory/etc-backup.tar.bz2
作成された etc-backup.tar.bz2
は USB スティックや外部のハードドライブ、CD-R などのオフラインメディアに保存してください。ときどき元のファイルとディレクトリをバックアップと比較してバックアップの整合性を確認しましょう。バックアップしたファイルのハッシュリストを作成することで素早く比較することができます。
/etc
ファイルが破損した場合、etc-backup.tar.bz2
ファイルを一時的な作業ディレクトリに展開して、それから必要に応じて個別のファイルやディレクトリをコピーすることで復元します。/etc
ディレクトリ全体を復元したい場合、etc-backup.tar.bz2
ファイルを /
ディレクトリに移動して、root で次のコマンドを実行します:
# tar -xvjf etc-backup.tar.bz2
参照
- GNU tar manual (
info tar
でも閲覧できます)