「Tar」の版間の差分

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

2015年11月10日 (火) 18:19時点における版

GNU の Tar ページ より:

"Tar プログラムは tar アーカイブの作成など、様々な操作を行う機能を提供します。例えば、Tar を使って先に作成したアーカイブからファイルを展開したり、追加でファイルを保存したり、既に保存されているファイルを更新したり確認することができます。"

初期の Unix の圧縮形式として、tar ファイル (別名 tarball) は Unix ライクなオペレーティングシステムでパッケージの作成に広く使われています。pacmanAUR のパッケージはどちらも tarball であり、Arch はデフォルトで GNUTar プログラムを使います。

使用方法

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 引数の中にはレガシーなものもありますが、特定の操作をするときは未だに有用です。詳しい説明は tarman ページ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

参照