タグ付けされた質問 「tar」

tarアーカイブ形式および/またはtarファイルを操作するためのコマンドラインユーティリティ。

2
コマンドを動的に作成する
私はスクリプトで作業しており、tarコマンドを動的に作成する必要があります。 ここに私が何をしようとしているのかを説明する2つの例があります: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz" echo COMMAND: "${_tar}" ${_tar} "$TAR_ME" echo -e "\n\nNEXT:\n\n" EXCLUDE=("--exclude=/tmp/hello\ hello" "--exclude=/tmp/systemd*" "--exclude=/tmp/Temp*") _tar="tar "`printf -- '%s ' "${EXCLUDE[@]}"`" -zcf test.tar.gz" echo COMMAND: "${_tar}" ${_tar} "$TAR_ME" _tarコマンドとして使用できるようにしたいのですが、クラシックパスで機能させることができましたが、フォルダ名のスペースを操作する必要があります。そして、毎回次のようなエラーが発生しました: COMMAND: tar --exclude="/tmp/hello hello" --exclude="/tmp/systemd*" --exclude="/tmp/Temp*" -zcf tmp.tar.gz …

3
ファイルをtarすることで圧縮を改善できますか?
一連のファイルをまとめてtarで圧縮すると、標準ツール(gzip、bzip2、xzなど)で圧縮を改善できますか? 私は長い間これが事実であると思っていましたが、それを試したことはありません。ランダムなバイトの同じ20Mbファイルの2つのコピーが一緒にtarされている場合、これを実現する巧妙な圧縮プログラムは、tarball全体をほぼ20Mbに圧縮できる可能性があります。 私は、gzip、bzip2、およびxzを使用して、1)ランダムバイトのファイル、2)そのファイルの2つのコピーのtarball、および3)そのファイルの2つのコピーの猫を使用して、この実験を試しました。すべての場合において、圧縮によってファイルサイズが縮小されることはありませんでした。これはケース1で予想されますが、ケース2および3の場合、最適な結果は、40Mbファイルを約20Mbに縮小できることです。これは、特に冗長性が離れているため、圧縮プログラムにとっては難しい洞察です。完璧な結果を期待することはできませんが、ある程度の圧縮があるとは思っていました。 テスト: dd if=/dev/urandom of=random1.txt bs=1M count=20 cp random1.txt random2.txt cat random1.txt random2.txt > random_cat.txt tar -cf randoms.tar random1.txt random2.txt gzip -k random* & bzip2 -k random* & xz -k random* & wait du -sh random* 結果: 20+0 records in 20+0 records out 20971520 bytes (21 MB) copied, …

2
tar、gzip、rsyncを使用してスパースファイルの操作を高速化するにはどうすればよいですか?
スパースファイルがあります。(du -h3Gをdu -h --apparent-size報告し、100G を報告します。)これまでのところ、とても良い。 今、を使用してファイルを圧縮するtarか、ネットワーク経由で送信rsyncする場合、3Gと同じくらいの時間がかかります。これらのツールはすべてゼロを読み取るようです。 穴はどういうわけかマークされていて、これらのツールはどういうわけかそれらをスキップできると思いましたか? 私のファイルにはおそらく問題はありませんか? これはスパースファイルの欠落機能でtarありrsync、スパースファイルを検索しないのですか?tarパラメータを使用しました--sparseが、速度は向上しませんでした。rsyncパラメータもしませんでした--sparse。 スパースファイルでこれらのツールを高速化する方法はありますか?

1
gunzipおよびtar xfはどのような状況で機能しますが、tar xzfは失敗しますか?
ポイントを説明するために、私は同社のWebサイトからLEDAライブラリをダウンロードしました。それにtar -xzfを使用すると失敗します。 $ tar -xzf LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar.gz tar: This does not look like a tar archive tar: Skipping to next header tar: Exiting with failure status due to previous errors ただし、gunzipの後にtar -xfを続けても問題なく機能します。 $ gunzip LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar.gz $ tar -xf LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar # no error なぜこれが起こり得るのか誰かに教えてもらえますか?-標準tarコマンドを常に機能させたいです。
9 tar  gzip 

2
親を含まないXディレクトリをtarしたい
tar cvf /var/lib/backup/sample.tar /home/user/.project しかし、抽出すると、その親も取得します /backup/ - /home/ - /user/ - .project/ このtarコマンドは、親(userたとえば、下にある他のフォルダー)に他の何も含まないため、うまく機能します。 これをプログラムで実行したいので、現在の作業ディレクトリをに変更することは/home/user/実際にはオプションではありません。それは可能ですか?
9 directory  tar 



2
OpenWRTの「無効なtarマジック」
OpenWrt(Pandorabox)デバイスにJavaSEをインストールしようとしています。私が走るとき tar -xvf ejdk-8u65-linux-arm-sflt.tar.gz わかりますtar: invalid tar magic。この問題を解決するにはどうすればよいですか?
9 tar  openwrt  archive 

2
「ls」から「xargs」を介して「tar」に変数を渡す
私は何かをしようとしています ls -t | head -n 3 | xargs -I {} tar -cf t.tar {} 最後に変更された3つのファイルをアーカイブしますが、ファイルごとに個別にtarコマンドを実行し、最後に3つのファイルの最後を含む1つのtarファイルが残ります(順序は任意)。「xargs」を正しく使用していないことはわかっていますが、検索しても効果がありませんでした。どちらも機能しない例を見つけました。より単純なコマンドでも ls | xargs -I {} tar -cf t.tar {} そのディレクトリ内のファイルの1つだけを含むtarファイルで終了します。
9 linux  ls  tar  xargs 



2
tbzファイルへのファイルの追加
何千もの.tbzアーカイブファイルを更新する方法を探しているので、これをシェルスクリプトで実行します。それぞれに1つのファイルを追加する必要があります。 私の質問は、各tbzの内容を抽出せずに、含まれているtarに含まれている新しいファイルで再圧縮することなく、これを行うより速い方法はありますか?コマンドはどのように見えますか? ありがとう

4
デバッグ方法:tar:単一のゼロブロック
これをデバッグする方法は?この問題は、過去数日以内に突然現れました。Webサイトのすべてのバックアップが破損しています。 バックアップをそのままにしておけばtar問題はありませんが、tarが圧縮されるとすぐに、gzまたはxz解凍できなくなります。 空きディスクがたくさんあります Local disk space 2.68 TB total / 2.26 TB free / 432.46 GB used エラー tar: Skipping to next header[===============================> ] 39% ETA 0:01:14 tar: A lone zero block at 2291466===============================> ] 44% ETA 0:01:13 tar: Exiting with failure status due to previous errors 878MiB 0:00:58 [15.1MiB/s] …

4
巨大なファイルをアーカイブに追加し、同時に削除する方法
/root/bigfile100GBのシステムに80GBのファイルがあり、このファイルをアーカイブに入れたいとしましょう /root/bigarchive.tar このファイルがアーカイブに追加されると同時に削除する必要があるのは明らかです。したがって、私の質問: ファイルがアーカイブに追加されると同時に削除する方法は?
8 tar  zip  compression  gzip 

3
ルートディレクトリからtar.gzでファイルをパックする
ルートディレクトリにいるときに、tar.gzで.csvファイルをパックしようとしました。 ファイルmyfile.csvは次の場所にあります。/mnt/sdb1/ 完全なファイル名は/mnt/sdb1/myfile.csv 私はtar.gzを下に保存しようとします /mnt/sdb1/old_files 私はこのようにしてみました: tar -czf /mnt/sdb1/old_files/new.tar.gz mnt/sdb1/myfile.csv しかし、ファイルを抽出すると、「mnt」という名前のフォルダーが抽出されます。このフォルダーには、ファイルを含む「sdb1」という別のフォルダーが含まれています。 すべてのディレクトリをコピーするのではなく、ファイルのみを圧縮することは可能ですか?
8 tar  gzip 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.