壊さずに「タール」抽出する方法はありますか


11

tar壊さずに抽出する方法はありますか?

12.04をインストールしていて、10.10からデータを復元したい。保持したい12.04固有のもの、つまり、tar'd 10.10バージョンを抽出したくない。一般的な復元を行うと、.bashrcなどのファイルが破壊されます。これを回避する方法はありますか?

編集:ブートした12.04 ISOディスクイメージでは10.10(またはその他)からのアップグレードが可能であり、古いデータを保持することができます。私はこれを試しましたが、アップグレード後に一部のアプリケーションが壊れたままになる可能性があるという不満がありました。再起動してクリーンインストールすることにしました。

回答:


13

私はあなたが何を望んでいるのか理解するのが難しいですが、システム全体のtarファイルを作成した場合、tarファイルを完全に復元しない限り、本当の目的ではない非常に大きなtarファイルを作成したと思います。自分のドキュメントを保存したい場合は、それらのドキュメントのバックアップを作成しておく必要があります。

tarにはいくつかの気の利いたオプションがあると言った後...

--keep-old-files

これは既存のファイルを上書きしません。

--keep-newer-files 

これにより、新しいタイムスタンプを持つすべてのファイルがそのまま保持されます。

--no-overwrite-dir

これにより、既存のディレクトリのメタデータがそのまま残ります。

tarのマニュアルはここにあります

ただし、別のメディアでtarファイルを抽出し、それらのファイルを手動で復元することをお勧めします。最も安全な方法です。


3
--keep-newer-filesと--no-overwrite-dirを使用しても、古いシステムの完全なバックアップを新しいシステムに抽出すると、システムに存在してはならない多くのファイルが抽出されるため、システムがだまされた状態になります。ファイルローラーを使用してGUIでアーカイブを開き、特定のファイルをホームディレクトリに抽出するだけです。
psusi

私は私の回答の最後の行に従って同意します:)
Rinzwind 2012

2
@Rinzwind、あなたは正しい、私のアーカイブには不完全なデザインがあります。多くの除外があり、それでも十分な除外ではないので、MaverickがPreciseに上書きするため、復元するのはめんどうで危険です。次のアーカイブは厳密にインクルージョンです。手動による復元についてのあなたの提案は良いものです。
H2ONaCl

8

タール(1)

 -k, --keep-old-files
       don't replace existing files when extracting

私には明らかなようです。tarball内のファイルが古いホームディレクトリに対して相対的に保存されている場合:

tar xvkf backup.tar.gz -C ~

これは圧縮中にも機能します。
nyxee 2017

@nyxee圧縮されたアーカイブ(などtar xvkzf backup.tar.gz -C ~)を抽出しようとするときにも機能します。tar czf foo.tar.gz foo/あなたがそれについて尋ねているなら、あなたが新しいArchvie()を作成しようとしたときにそれが認識されているとは思いません。
Lekensteyn 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.