Как я могу использовать опцию сжатия Btrfs при установке Linux?
Я пробовал Btrfs с SSD-накопителем и мне понравилась опция сжатия, которая установлена в fstab.
Однако это относится только к файлам, созданным после того, как я установил операционную систему и изменил файл fstab.
Я хотел бы применить сжатие ко всем файлам в системе, чтобы увидеть, улучшает ли оно время загрузки и время запуска приложения.
Кто-нибудь знает, как я могу применить изменения ко всем файлам до или после установки?
3 ответа
Я считаю, что вы должны бежать
btrfs fi defragment
после монтажа ФС со сжатием.
Проверьте это: https://askubuntu.com/questions/129063/will-btrfs-automatically-compress-existing-files-when-compression-is-enabled
При установке вы можете оформить:
mount -o remount,compress=lzo
Часто вам нужно будет это сделать, как только установщик начнет установку чего-либо (возможно, вы пропустите файл или 2., но не важная персона). Вы можете проверить, установил ли установщик файловую систему непосредственно перед этапом установки.
Также убедитесь, что вы обновили / etc / fstab в установленной системе. Я использую следующие опции, которые дают некоторые другие улучшения:
compress=lzo,ssd,relatime,space_cache,inode_cache,autodefrag
Вы также можете попробовать использовать сжатие-сила = lzo для установки, а не сжатие = lzo, это гарантирует, что даже файлы, которые не сжимаются так хорошо, все еще сжимаются. Это сделает запись медленнее, но так как это однократная установка, которая может стоить того. Но я не уверен, улучшает ли это чтение или нет.
Я видел другой способ, который включает в себя переименование двоичного файла mount.btrfs и замену его скриптом, но когда я делал это в Ubuntu, он испортился, как обычно, в subvolumes @ и @home, но все просто было сброшено в корень файловой системы.,
В качестве альтернативы вы можете установить и затем использовать дефрагментацию, но вы должны дефрагментировать каждый файл отдельно, так как команда не является рекурсивной. Это может пригодиться для обновления до новых методов сжатия, которые могут появиться в более новых версиях btrfs, snappy и lz4. Запустите следующее из каталога /.
find -xdev -type f -exec btrfs fi defrag '{}' \;
Как и многие вопросы с программным обеспечением - ответы меняются в зависимости от того, КОГДА их спрашивают / отвечают. Я освежаю ответ, чтобы помочь кому-нибудь погуглить свой путь в тему.:)
Правильный ответ для btrfs 3.12 и выше для сжатия директорий / точек монтирования POST (требуемая рекурсивная опция для дефрагментации была добавлена в btrfs 3.12, выпущенной в ноябре 2013 года):btrfs filesystem defragment -c -r MOUNTPOINT
Вот текущие опции из cli версии btrfs 4.4:
Дефрагментация файловой системы btrfs
использование: дефрагментация файловой системы btrfs [опции] | [|...]
Defragment a file or a directory
-v be verbose
-r defragment files recursively
-c[zlib,lzo] compress the file while defragmenting
-f flush data to disk immediately after defragmenting
-s start defragment only from byte onward
-l len defragment only up to len bytes
-t size target extent size hint