コマンドラインでのバックアップとtarの問題

コマンドラインでのバックアップとtarの問題

私は Linux Foundation の Linux 認定資格の勉強をしていますが、あるラボについていくつか質問があります。そのラボは次のとおりです。

backup というディレクトリを作成し、その中に /usr/include の下にあるすべてのファイルの圧縮された tar アーカイブを配置します。最上位ディレクトリは include です。任意の圧縮方法 (gzip、bzip2、または xzip) を使用できます。

私はmkdir backupまず次のように始めましたtar -C /usr -zcf include.tar.gz include

harrydevries@harrydevries-410-100nd:/usr$ tar -C /usr -zcf include.tar.gz include
tar (child): include.tar.gz: Functie open() is mislukt: Toegang geweigerd
tar (child): Error is not recoverable: exiting now

誰か助けてくれませんか?私はUbuntu 14.04を使用しています。Harry de Vries

答え1

エラーを Google 翻訳にかけたところ、問題は (当然ですが) 権限の問題であることがわかりました。次回は、エラー メッセージを翻訳するか、さらに良い方法として、LC_ALL=C実行するコマンドの前にエラーを追加して、エラーが英語になるようにしてください。

とにかく、エラーは次のとおりです:

$ cd /usr ; tar zcvf include.tar.gz include
tar (child): include.tar.gz: Cannot open: Permission denied
tar (child): Error is not recoverable: exiting now
include/
include/cairomm-1.0/
include/cairomm-1.0/cairomm/
include/cairomm-1.0/cairomm/win32_surface.h
include/cairomm-1.0/cairomm/surface.h

これは、ディレクトリからこれを実行しようとしており/usr、アーカイブもそこに作成するように指定しているためです/usr。これを回避するには、tar ボールのパスを指定します。

mkdir ~/backup; cd /usr ; tar zcvf ~/backup/include.tar.gz include

あるいは、まったくやらないほうがさらに良いでしょcd/usr

mkdir ~/backup; tar zcvf ~/backup/include.tar.gz /usr/include

関連情報