• 締切済み
  • すぐに回答を!

UNIX(Solaris)でのtarファイルの解凍エラー

AというUNIX(Solaris)でtar cvf で固めたフォルダ階層を別のBというUNIX(Solaris)でtar xvfで解凍すると、 tes, 7 テープブロック tar: ディレクトリの検査合計エラーです というエラーメッセージがコンソールに出力されます。 これは、Solarisじゃない別のOSから持ってきた場合に出力されるという話は聞いたことがあるのですが、同じSolarisで圧縮したものを解凍してもでるのでしょうか? どのような条件下で出力されるエラーかご存知方がいらっしゃいましたらご教授のほどお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数4085
  • ありがとう数21

みんなの回答

  • 回答No.3
  • azicyan
  • ベストアンサー率21% (368/1747)

単純にHDDの残りが無いということは無いですか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 HDDの容量も確認してから展開を行いましたのでHDDの容量も問題ないです。なぜ発生するのか疑問です。

関連するQ&A

  • 8GB以上のファイルが読み込めません

    RedHatLinux ES4.6 でLTOに書き込んだファイルが Solaris10 で読み込めなくて困っています。 ファイルサイズが8GB未満の場合は問題ないのですが、 8GBを超えている場合、ディレクトリの検査合計エラーが 出力されてしまいます。 Solaris側でgtarを使えば読み込めることはわかっているのですが、 Solaris側担当は、容易には対応してくれません。 なんとかRedHat側のLTO書き込み時のオプション変更で回避したいのですが、何かよい方法はないでしょうか? 書き込み(RedHat) fileaが33GB tar cvf /dev/st0 filea fileb 読み込み側(Solaris) tar xvf /dev/rmt/1

  • tar:ディレクトリの検査合計エラーとは?

    (1)Solaris8において、コマンドラインで以下のコマンドを打つと、 tar xvf samba-2.0.7-ja-1.2.tar.gz 「tar:ディレクトリの検査合計エラーです。」というエラーが帰ってきます。AnswerBookやmanでエラーを調べましたがわかりませんでした。 (2)もしかして、ファイルシステムに不良セクタでもあるのでしょうか。この場合、MS-DOS,Windowsでは、chkdskやscandiskがありますが、Solarisではどんなコマンドなんでしょう。(本屋でコマンドリファレンスを探したが載っていなかったもので、、、)確かlost+foundに復活できるようなコマンドがあったはずなのですが、よろしくお願いします。

  • Rubyを使っての tar.gz ファイルの解凍

    いつも、お世話になります。 今現在、cygwin環境下で、tar.gzファイルを解凍しています。 コマンドとしては、 gunzip -d xxxx.tar.gz tar -xvf xxxx.tar これを、Rubyを使って、やりたいと考えています。 方法は、あるのでしょうか? 元々、UNIX環境下で作成されたデータを、PC上のcygwinで解凍、ついでに テキスト処理(shellscript+perl)も実施しております。 gzファイル、tarを解くexeは、きっとどこかにあると思いますので、 rubyに期待するのは、外部コマンドとしての exeを実行できることです。 宜しく、サジェスチョンをお願いいたします。

  • 回答No.2

GNU tarで作成したものはSolaris標準のtarで展開できないこともあるそうです。 tarのバージョンを調べてみてはどうでしょうか・・・

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。tarのバージョンも一緒です。ほとんどUNIXの環境的には一緒なんですが、なぜかエラーがでるので不思議です・・・。

  • 回答No.1

FTPで送信したときに、ASCIIモードで送信した・・・ということはありませんか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

それも考えましたがバイナリーモードで送信しております。ソラリスのバージョンも一緒です。

関連するQ&A

  • tarで、ディレクトリ構造を持たずに、解答したい

    tar cvf test.tar .A/B/C .A/B/D とすると、解凍する時に .A/B/というディレクトリ構造で解答されてしまいますよね? そうではなくて、解答したディレクトリにC, Dというファイルだけ解答したいんですけど。 どうすればいいですかね?

  • tarで、ディレクトリ構造を持たずに、解答する

    tar cvf test.tar .A/B/C .A/B/D とすると、解凍する時に .A/B/というディレクトリ構造で解答されてしまいますよね? そうではなくて、解答したディレクトリにC, Dというファイルだけ解答したいんですけど。 そういうオプションとかってありますか?

  • tarでディレクトリのみをアーカイブしたい

    【質問】 Solaris8 純正のtarコマンドで、ファイルを除いてディレクトリのみをアーカイブする良い方法を模索しています。 【背景】 ディレクトリ構成をtarで抽出し、別のマシンで解凍する(/export/homeなど)際に、配下のファイルサイズが大きく時間がかかるため、抽出の際にファイルを除外しておきたい 【前提】 tarでアーカイブする際、ディレクトリを指定すると配下のファイルも再帰的にアーカイブされてしまう。 【詳細】 例えば、以下のようなディレクトリ構造のとき、 AAA/ AAA/aaa/ AAA/aaa/hoge.c BBB/ BBB/foo.txt ディレクトリのみをtarアーカイブして、 AAA/ AAA/aaa/ BBB/ という内容のtarアーカイブを作成するとき、私は以下のようなやり方をしています。 A.全抽出→解凍→ファイル消し→再抽出 # tar cf - AAA BBB | (cd /tmp/work; tar xvf -) # cd /tmp/work # find . -type f -exec rm {} \; # tar cvf /dev/rmt/0 AAA BBB B.除外リスト作成→除外リスト指定で抽出 # find AAA BBB -type f > exclude-list # tar cvfX /dev/rmt/0 exclude-list AAA BBB どちらも結果的にはディレクトリのみ抽出できるので問題はないのですが、ちょっと手間がかかります。コマンドライン1行でできる良い方法があれば教えて下さい。 # そもそも【前提】が私の思い込みかもしれないので、 # 「違うよ」という指摘があればお願いします。

  • 絶対パスでアーカイブされたファイルをtarコマンドの相対パスで展開

    UNIXコマンドの「tarコマンド」についての質問です。 ファイルを絶対パスを用いてアーカイブをかけた場合、アーカイブファイルの展開時に、絶対パスで展開させず相対パスで展開させる方法がわかりません。 test.logを絶対パスを用いてアーカイブします。 %pwd /export/home %ls test.log %tar -cvf test.tar /export/home/test.log %ls test.log test.tar %rm test.log %ls test.tar このアーカイブファイルを別ディレクトリに移動 %mv /export/home/test.tar /export/home/test/test.tar 自身もディレクトリ移動 %cd /export/home/test %ls test.tar このような条件でアーカイブファイルの展開を実行 %tar -xvf test.tar %ls test.tar /export/home/testのディレクトリでは展開されず下記のように 絶対パスで指定したディレクトリに展開されます。 %cd /export/home/test %ls test.log インターネットで調べたところ %tar -xvf test.tar -C /export/home/test で実行すれば相対パスで展開できると記述があったのですが うまくできませんでした。 上記のコマンドで実行したところ得にはエラーは出ず メッセージが「tar:ブロックサイズ=4」と出て展開もされませんでした。 もしよろしければご教示願えませんでしょうか。 よろしくお願いいたします。

  • tarコマンドの圧縮

    こんにちは。 3ファイルある、ディレクトリ(test)を、tarコマンドでまとめて、 gzipコマンドにて圧縮しました。 そのあと、gzcatコマンドにて、展開して結果をファイルに おとして見たところ、余計なものが付加されます。 見たところ、ディレクトリ名が付加されている感じに、なっており、 出さないようにする方法があれば、教えてください。 【構成】 OS:HP-UX  ディレクトリ:test ファイル:test1(中身は,yuuuuuu 1行のみ) test2(中身は,xxxxxxx 1行のみ) test3(中身は,zzzzzzz 1行のみ) 【圧縮】  1・tarコマンド (tar cvf test.tar test/) 2.gzipコマンド(gzip test.tar) 【解凍】  1.gzcatコマンド(gzcat test.tar.gz > list) 【結果】 1.catコマンド(cat list) test/0040750000000000000000000104357767601770ustar00rootsys0000test/test1000644100000000000000013104364453400126510ustar00rootsys00000000000yuuuuuu test/test200644000000013104364453400126510ustar00rootsys000000000xxxxxxx test/test300644000000013104364453400126510ustar00rootsys000000000zzzzzzz

  • tar.gzが解凍できない。

    古いPCにVineLinux2.1.5を入れました。PCのSPEC上、これしか入りませんが、家庭内LANのみでLinux練習用です。Apache2.0.50を手持ちのCDから「/tmp」にコピーし、「$ ls /tmp」 で確認すると、httpd-2.0.50.tar.gz が出来ています。ところが、 $ tar zxvf httpd-2.0.50.tar.gz[Return] とすると、 「そのようなファイルやディレクトリはありません」 tar(子プロセス)エラーを回復できません:直ちに終了します。 tar:子プロセスがステータス2を返してきました。 tar:エラー終了が前のエラーから遅れました。 とのメッセージが出て、解凍できません。 「/」にコピーし直したり、ユーザー権限をroot権限に変えたりしてTryしても、同じエラーメッセージが出ます。 原因は何でしょうか? どうすれば解決できるでしょうか? 古いバージョンのlinuxで恐縮ですが、もし、何か解決のヒントをお持ちの方がおられましたら、よろしくお願い致します。

  • tar解凍でパス名を無しにする方法

    Windowsのtar.exeでも、Unix系のものでも良いのですが、 tarで解凍する際に、パス名を付けず、素のファイル名だけで 解凍する方法はありますか? 例えば、 > tar tvf test.tar -rw-rw-r-- 13 2006-03-09 14:19:39 ./file4 drwxrwxr-x 0 2006-03-09 14:16:20 dir1/ drwxrwxr-x 0 2006-03-09 14:19:12 dir1/dir12/ -rw-rw-r-- 15 2006-03-09 14:19:10 dir1/dir12/file1 drwxrwxr-x 0 2006-03-09 14:16:32 dir2/ drwxrwxr-x 0 2006-03-09 14:16:33 dir2/dir21/ drwxrwxr-x 0 2006-03-09 14:19:19 dir2/dir21/dir211/ -rw-rw-r-- 14 2006-03-09 14:19:17 dir2/dir21/dir211/file2 drwxrwxr-x 0 2006-03-09 14:19:32 dir2/dir21/dir212/ -rw-rw-r-- 25 2006-03-09 14:19:30 dir2/dir21/dir212/file3 となっているときに、このtest.tarを何らかの方法で解凍して、 1箇所のディレクトリ内(カレントで可)に、 file1~file4 を解凍させたいのですが、 何か方法があるでしょうか? よろしくお願いします。

  • tar(*.tgz)ファイルの解凍の際に「ディレクトリは状態を展開でき

    tar(*.tgz)ファイルの解凍の際に「ディレクトリは状態を展開できるようになる前に名前を変更されました」というエラーが出ます。 Linuxマシンでのバックアップをtarファイルにしました(20GB)。そして、そのtarファイルを、Win7マシンに接続しているUSBハードディスク(NTFS)にコピーして展開しました。ただし、展開の際には、win7上にVMwareをインストールして、仮想マシンとしてubuntsuを走らせ、ファイルの共有でUSBハードディスクを読み書きしています。その際、以下のようなエラーが出て終了しました。 ------------------------- tar: AAA/BBB/dir1/dir2: ディレクトリは状態を展開できるようになる前に名前を変更されました tar: AAA/BBB/dir1: ディレクトリは状態を展開できるようになる前に名前を変更されました tar: AAA/BBB/dir3: ディレクトリは状態を展開できるようになる前に名前を変更されました tar: AAA/BBB: ディレクトリは状態を展開できるようになる前に名前を変更されました tar: 前のエラーにより失敗ステータスで終了します -------------------------- 調べたところ、 AAA/BBB/dir1/dir2とAAA/BBB/dir3の中には、Linuxマシン上での他の場所に向けてシンボリックリンクファイルがあることがわかりました。 tarは、シンボリックリンクは無視すると思っていたのですが、このようなエラーがシンボリックリンクが原因で出ることがありえますか?それとも、他の原因でしょうか?

  • Solaris10ファイルコピーの失敗

    Solaris10(X64)環境に於けるトラブルについて教えてください。 ある時、定期的に取っているバックアップファイル(tarファイル) が解凍できなくなっていることに気づきました。 調べてみると、解凍できないのは『比較的大きなファイルをコピー する(数Gバイト)と、コピー元とコピー先が異なる(ファイルが壊れ る。)』ことによることが判りました。 例えば、次のコマンドです。 cp /export/.../backup/2012_08_30_f.tar . cmp -l /export/.../backup/2012_08_30_f.tar ./2012_08_30_f.tar 8244928138 241 201 1.上の例で使用する『2012_08_30_f.tar』は16Gバイトの容量があ ります。 2.上の例にもあるとおり、必ず第5ビットの"1"が"0"になってしま います。これまで何度も試しましたが、例外はありません。 3.ファイルコピー実行中にコンソールウインドウや "/var/adm/messages"ファイルにエラーもワーニングも発生しま せん。 4.format -> analyze -> read コマンドによるディスクの走査も行 いましたが、エラーは見つかりません。 5.容量の小さなテキストファイルのコピーもいつも行っています が、問題が発生したことはありません。 6.このパソコンはディスクを2台使用していますが、どちらのディ スクでも同じ問題が生じるようです。 原因はディスクではなく、マザーボード、CPU、メモリなど、他の ハードウエアにあるのではないかと考えていますが、全く調査方法 が判りません。 皆さんのアイデアをお寄せください。

  • 常時書き込みされているファイルをtarでバックアップしたい

    Solaris9で/var配下を定期的にバックアップしたいと考え、 cronにて以下のようなコマンドを含むスクリプトを実行しています。 /usr/bin/tar cEfiX /backup/var_backup_`date '+%w'`.tar ${EXFILE} -C / ./var しかし、/var配下に常時書き込みされているログファイルがあり、 tarがreturncode=1で終了してしまいます。 その際のエラー出力は以下で、 tar: ./var/hogehoge.log: file changed size tarファイルに加える前と後で./var/hogehoge.logのファイルサイズが違っている という内容だと認識しています。 ※このファイルはバックアップの必要があるファイルでexcludeリストに加えるわけにもいきません。 tarコマンドの後に if [ $? != 0 ] という条件式を置いてエラーを検知しています。 何とかこのエラーだけを無視する妙案はありませんでしょうか?

専門家に質問してみよう