btrfs komprimiert jede Datei, die seit dem Mounten geändert wurde, wenn Sie Folgendes verwenden:
mount -o compress-force=lzo /dev/btrfsdev /mnt/btrfsmnt
Wenn Sie dafür sorgen möchten, dass ALLE Dateien auf diese Weise komprimiert werden, habe ich ein kleines Skript, das ich dazu geschrieben habe ...
du -ht +$((1024*1024)) "$HOME" |\
sed -rn 's/^[^/]*(.*)/btrfs fi defrag -fvclzo "\1"/p' |\
sudo sh -n
Das obige funktioniert nur in meinem $HOMEVerzeichnis - aber Sie können es für alles oder jedes verwenden, wie Sie möchten. Außerdem wird der -nOperand shso wie er ist eingespeist, sodass Sie selbst sehen können, was gerade shgeschieht not, bevor Sie ihn entfernen, um ihn anzuweisen, dies zu tun.
Wie auch immer, zuerst werden duDateien im human-readableFormat abgefragt (wahrscheinlich redundant hier, da wir das im nächsten Schritt sowieso entfernen) , die größer als 1MBoder sind$((1024*1024)).
Es ist |pipesseine Information, seddie alles abstreift, bevor der /, "quotes"Dateiname führt, den btrfs filesystem defragment -verbose -flush-to-disk -compress-lzo \filenameBefehl erstellt und ihm ein |pipeto sudo shzur Ausführung übergibt .
Auch hier wird es nichts tun, solange sh --no-executees in Kraft ist.
Ich denke , einige sehr bisherigen btrfsUser - Space - Tool baut rekursiv defragmentieren ganze Verzeichnisse tun, aber wenn so ist es eine ziemlich neue Sache, so dass ich immer Sachen wie diese zu tun gehabt haben.