メイン

Linux アーカイブ

2006年09月14日

tarコマンドの使い方

tar コマンドの使い方

tar は複数のファイルを一つにまとめる、いわゆる「アーカイバ」です。
しかし、tar は、いわゆる「圧縮」ツールとは違い、圧縮率という点では、ほと
んど効果がありません。あくまで複数のファイルをひとまとめにする、という点
で便利なコマンドなわけです。

使い方はこんな感じ。
例)

$ tar cvf mytarfile.tar target1.txt target2.txt ・・・・ [Enter]

※ディレクトリ以下すべてのファイルをくくりたい場合は、targetファイル名の
代わりにディレクトリ名を指定します。
例)

$ tar cvf mytarfile.tar targetdir ・・・・ [Enter]

これで、mytarfile.tar が出来上がります。
出来上がった tar ファイルをほどく時は、次のようにします。
例)

$ tar xvf mytarfile.tar     [Enter]

tarファイルの中身が展開されます。以上
◎おまけ
tarコマンドのオプションについて。

UNIX系OSに組み込まれている各種コマンドにはいろんなオプションが用意されて
います。
tarコマンドの場合は、

$ tar cvf mytarfile.tar target1.txt target2.txt ・・・・ [Enter]

の cvf のところの c とか v とか f とかです。
この他によく使うオプションとして、r ,t ,x ,などがあります。その意味を
ご説明します。
c オプション (create)

新しいアーカイブを作成する
t オプション (list)

アーカイブ内容の一覧を表示する
例)

$ tar tvf mytarfile.tar     [Enter]

とすると

hoge.txt
moge/moge1.txt
moge/moge2.txt

のように、tar ファイルの中身を表示してくれます。
実際に展開はされません。
x オプション (extract)

アーカイブからファイルを抽出(展開)する

存在するファイルはいきなり上書きされます。注意しましょう。パーミッション
が無い場合は、エラーになります。
v オプション 冗長(verbose)

処理したファイルの一覧を詳しく出力する
  例)t オプションとあわせて使う

$ tar tvf mytarfile.tar     [Enter]

とすると

-rw-r--r-- 9999/999 17243 Mar 4 17:43 2002 hoge.txt
-rw-r--r-- 9999/999 11954 Mar 4 17:42 2002 moge/moge1.txt
-rw-r--r-- 9999/999 4675 Mar 4 17:42 2002 moge/moge2.txt

のように、tar ファイルの中身を詳しく表示してくれます。展開する前には、t
+v オプションで確認する癖をつけましょう。あと、展開するディレクトリの確
認もあわせて、忘れない様に。
f オプション アーカイブファイル名(file)

アーカイブのファイル名を明示的に指定
※f オプションをつけず、アーカイブファイル名を指定しないと、エラーになり
ます。

これは、デフォルトで/dev/rmt0(TAPEドライブですね)がセットされているた
めです。マシンにTAPEドライブがついている場合、tar は当然そちらを、見に行
きます。TAPEの中身をくくったり、ほどいたり、TAPEに書き込んだり・・・
tar を使う場合は、f オプションをつけて、ファイルをきちんと指定してあげま
しょう。
r オプション (append)

アーカイブの最後にファイルを追加する
例)mytarfile.tar に append.txt を追加したい場合

$ tar rvf mytarfile.tar append.txt ・・・・ [Enter]

2006年12月29日

yumやrpmコマンドエラー時の対応

yumやrpmコマンドを入力したときに
「rpmdb: PANIC: fatal region error detected;xxx」
という表示が出る場合があるが、

そんなときは、

# rpm --rebuilddb

を実行するとrpmのDBが更新されるのでエラーが出なくなる。


しかし、今回の私の場合はそれでもまだエラーがでたので、
rpmのDBファイルを削除した。

/var/lib/rpm/
以下にある「__db.001~003」というファイルがDBファイルになる。

念のため、homeのユーザーのディレクトリに移動しておき、
# cp __db.* /home/hogehoge/

# rpm --rebuilddb

を実行したところ、yumやrpmコマンドでエラーが出なくなった。

About Linux

ブログ「泣いて馬謖を斬る」のカテゴリ「Linux」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

次のカテゴリはWindowsです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.34