/
在Ubuntu 12.04 LTS安装程序中,我选择btrfs作为文件系统的格式。安装完成后,我将compress=lzo
安装选项添加到其中/etc/fstab
并重新启动。
现在是否会自动压缩现有文件,或者我必须明确执行某些操作来导致这种情况发生?
/
在Ubuntu 12.04 LTS安装程序中,我选择btrfs作为文件系统的格式。安装完成后,我将compress=lzo
安装选项添加到其中/etc/fstab
并重新启动。
现在是否会自动压缩现有文件,或者我必须明确执行某些操作来导致这种情况发生?
Answers:
您将必须运行btrfs fi defragment
以强制重新压缩现有数据。否则,将仅压缩新数据。
从常见问题解答:
...考虑使用重新安装
-o compress
,或者就地重写特定文件,或者运行btrfs fi defragment
以重新压缩所有内容。可能还要等一下。
autodefrag
安装选项?这还会使它在自动碎片整理时压缩以前未压缩的文件吗?
我已经做了Norbert Fabritius所说的,但是我没有注意到现有文件中的任何压缩-df -h / 在 btrfs fi碎片整理 = 658MB之前| DF -h / 后 的btrfs音响整理 = 658MB。可以使用新文件。搜索一点带给我这个报价:
运行此:
# btrfs filesystem defragment ~/stuff
不会对目录的内容进行碎片整理。
这是设计使然。btrfs fi defrag对传递给> it的单个文件系统对象进行操作。这意味着该命令仅对目录>对象保存的元数据进行碎片整理,而不对目录的内容进行碎片整理。如果要对目录的内容进行碎片整理,则类似以下的方法会更有用:
# find -xdev -type f -exec btrfs fi defrag '{}' \;
在此之后,我/它占用了656MB-没什么大的,但是肯定有压缩。
来源:https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#Defragmenting_a_directory_doesn.27t_work
希望能有所帮助。
对不起,我的英语。
defrag -clzo
或defrag -czlib
仅包含defrag
?
btrfs fi defrag -r -czlib ~/stuff
根据Oracle的文档,您可以使用-c,-clzo或-czlib选项对其中的每个文件进行碎片整理,从而压缩现有在线文件系统上的现有文件。建议使用LZO以提高速度。
find / -xdev \( -type f -o -type d \) -exec btrfs filesystem defragment -v -clzo -- {} +
这使用find命令在根文件系统中的每个文件上运行btrfs碎片整理程序(在开始处的“ find”命令后紧跟斜杠)。如果还有其他子卷,则可以将其与子卷的路径(例如,我在/ home中有一个)一起使用,而不是使用单个斜杠。
为此,您需要root特权,因此如果需要,可以在前面添加sudo。
看到:
根据https://btrfs.wiki.kernel.org/index.php/Mount_options#List_of_options提供 以下压缩算法:
compress,compress-force
Enable compression. Starting with kernel 2.6.38 you can choose the algorithm for compression:
- compress=zlib - Better compression ratio. It's the default and safe for olders kernels.
- compress=lzo - Faster compression.
- compress=no - Disables compression (starting with kernel 3.6).
compress-force= - Enable compression even for files that don't compress well, like videos and dd images of disks. The options compress-force=zlib and compress-force=lzo works for kernels >2.6.38.
Note that old (before 2012) btrfs-progs versions will probably fail some operations (e.g. fsck) on filesystems with LZO compression.
注意:这篇文章是针对以下问题的答案:哪种压缩算法可用,请问以下问题...所以请不要怪我。
根据ArchWiki:
提示:也可以在不使用
compress
mount选项的情况下按文件启用压缩 。只需将其应用于chattr +c
文件即可。当应用于目录时,它将导致新文件在出现时被自动压缩。
非常好!愿上帝保佑BTRFS!
另外,从BTRFS Wiki:
是否可以在不使用compress挂载选项的情况下强制对文件进行压缩?
是。该实用程序
chattr
支持设置文件属性c,该属性标记inode以压缩新写入的数据。
sudo mount -o remount /
新的fstab选项即会生效。