btrfs sẽ nén mọi tập tin thay đổi kể từ khi nó được gắn nếu bạn sử dụng:
mount -o compress-force=lzo /dev/btrfsdev /mnt/btrfsmnt
Nếu bạn muốn thấy rằng TẤT CẢ các tệp được nén theo cách này, tôi đã có một đoạn script nhỏ mà tôi đã viết để thực hiện ...
du -ht +$((1024*1024)) "$HOME" |\
sed -rn 's/^[^/]*(.*)/btrfs fi defrag -fvclzo "\1"/p' |\
sudo sh -n
Ở trên chỉ hoạt động trên $HOME
thư mục của tôi - nhưng bạn có thể sử dụng nó trên bất cứ thứ gì hoặc mọi thứ bạn muốn. Nó cũng có -n
toán hạng được cung cấp sh
như vậy để bạn có thể tự mình xem những gì sh
hiện đang not
làm trước khi gỡ bỏ nó để bảo nó làm điều đó.
Dù sao, đầu tiên, nó truy vấn du
các tệp ở human-readable
định dạng (có thể là dư thừa ở đây vì chúng tôi sẽ loại bỏ bước đó trong bước tiếp theo) lớn hơn 1MB
hoặc$((1024*1024)).
Nó |pipes
thông tin của nó để sed
mà dải tắt tất cả mọi thứ trước khi dẫn /, "quotes"
tên tập tin, xây dựng các btrfs filesystem defragment -verbose -flush-to-disk -compress-lzo \filename
lệnh và tay nó qua một |pipe
đến sudo sh
để thực thi.
Một lần nữa, nó sẽ không làm bất cứ điều gì miễn sh --no-execute
là có hiệu lực.
Tôi nghĩ rằng một số rất gần đây btrfs
công cụ userspace xây dựng làm toàn bộ thư mục defragment đệ quy, nhưng nếu như vậy đó là một điều khá mới, vì vậy tôi đã luôn luôn phải làm những thứ như thế này.