web-dev-qa-db-ja.com

ファイル圧縮-Linuxでの実装方法

ディスク上の特定のファイル(保持する必要がありますが、ほとんど使用しません)を圧縮できるようにしたいと思います。きがついた chattr +cファイルに圧縮のフラグを立てますが、実際にはファイルを圧縮していないようです。

ファイルごとまたはディレクトリごとにファイル圧縮を実装する最も簡単な方法は何ですか?

1
Angelo

Ext2とファミリ(ext4を含む)は圧縮用の属性を予約していますが、実装していません。この機能は、やるべきことがもっと緊急であったために当初は延期されましたが、ストレージメディアのサイズが、まだ圧縮されていないデータのサイズよりもはるかに速く増加したため、廃止されました。今日のほとんどの大きなファイル(ビデオ、音楽、さらにはワードプロセッサドキュメント)はすでに圧縮されています。

圧縮は、中規模のファイルでも意味があります。パフォーマンスに関しては、トレードオフです。CPU時間は長くなりますが、I/O時間は短くなります。

Zfs には、台所の流し台以外のすべてが含まれ、特に圧縮をサポートします。 Linuxの btrfs もそうです。

圧縮を提供するファイルシステム(ZFSなど)を含むコンテナーファイルを作成できます。柔軟性はあまりありませんが、非常にシンプルで、おそらく数分以内にセットアップできます。

コンテナファイルの操作方法を見つけるには、LUKSとコンテナをグーグルで検索してください。 LUKSのものをお気に入りのファイルシステムに置き換えるのはかなり簡単なはずです。

0
xwst