gzipコマンド(tarではなく必須)でアーカイブを作成する必要があり、アーカイブには別のディレクトリ(たとえば/etc)のファイルが含まれている必要があります。コマンドを使用しようとしました。
gzip myetc.gz /etc
しかし、それはうまくいきませんでした。
答え1
gzip
はディレクトリではなくファイルで動作します。したがって、ディレクトリのアーカイブを作成するには、次を使用する必要がありますtar
(複数のファイルから 1 つの tarball を作成します)。
tar cvf myetc.tar /etc
または、gzip 圧縮されたアーカイブの場合:
tar cvzf myetc.tar.gz /etc
答え2
Gzip は、単一のファイル、またはストリーム (gzip にパイプされたデータ) でのみ機能します。したがって、まず tar のように 1 つのファイルを生成し、それを gzip で圧縮する必要があります。もう 1 つのオプションは、すべての個別のファイルを gzip で圧縮し、それを 1 つのファイルに tar で圧縮することです。
これらの解決策はどちらも愚かなので、使用しないでください。組み込みの圧縮オプションを備えた tar を使用して、すべてを 1 つのコマンドで実行する必要があります。
答え3
本当に tar が利用できない場合は、(-r - 再帰的) オプションを使用して gzip でディレクトリのバックアップを作成できますが、期待どおりの結果にならない可能性があります...
元のディレクトリを変更できないようにしたい場合は、まずディレクトリを別の名前でコピーする必要があります。
#cp -a directory my_gzip_alone_backup
次に、ディレクトリ上のすべてのファイルを再帰的に圧縮します (-r)。
#gzip -r my_gzip_alone_backup
では、my-gzip-alone-backup の内部を見てみましょう。期待どおりに myfile.gz という単一のファイルがあるわけではなく、再帰的に gzip されたファイルが多数あります。ただし、シンボリックリンクがあるため、etc でこれを行うのは適切ではありません...
ディレクトリを解凍するには、gunzip を使用して同じロジックを適用できます。
別の方法としては、tar がなくても、この投稿で示されているように、dd ユーティリティがあれば、ディレクトリを単一のファイルに変換することです。https://askubuntu.com/questions/626634/ファイルをディレクトリに変換する