Как я могу использовать опцию сжатия Btrfs при установке Linux?

Я опробовал Btrfs с SSD-накопителем и, как вариант сжатия, который установлен в fstab.

однако это относится только к файлам, созданным после установки операционной системы и изменения файла fstab.

Что я хотел бы, чтобы применить сжатие ко всем файлам в системе, чтобы увидеть, если это улучшает время загрузки и запуске раз.

кто-нибудь знает, как я могу применить изменения ко всем файлам либо до или после установки?

23
задан Phil Hannent
10.12.2022 11:36 Количество просмотров материала 3198
Распечатать страницу

3 ответа

Я считаю, что вы должны бежать

btrfs fi defragment

после устанавливать FS с обжатием.

зацените: https://askubuntu.com/questions/129063/will-btrfs-automatically-compress-existing-files-when-compression-is-enabled

3
отвечен Piotr Kempa 2022-12-11 19:24

при установке вы можете оформить:

mount -o remount,compress=lzo

часто вам придется делать это так же, как установщик начинает устанавливать вещи (возможно, вы пропустите файл или 2. но ничего страшного). Вы можете проверить, смонтировал ли установщик файловую систему непосредственно перед этапом установки.

также убедитесь, что вы обновили файл /etc / fstab в установленной системе. Я использую следующие опции, которые дают некоторые другие улучшения:

compress=lzo,ssd,relatime,space_cache,inode_cache,autodefrag

вы также можете попробовать использовать compress-force=lzo для установки, а не compress=lzo, это гарантирует, что даже файлы, которые не сжимают, что хорошо все еще сжимаются. Это сделало бы запись медленнее, но поскольку это одноразовая установка, это может стоить того. Но я не уверен, что это улучшает чтение или нет.

Я видел другой способ, который включает переименование горы.Btrfs двоичный файл и замена его скриптом, но когда я сделал это под Ubuntu, он испортил, как обычно устанавливается в subvolumes @ и @home, но все просто было сброшено в корень файловой системы.

В качестве альтернативы вы можете установить, а затем использовать дефрагментацию, но вы должны дефрагментировать каждый файл по отдельности, как команда не рекурсивна. Это может пригодиться для обновления до новых методов сжатия, которые могут появиться в новых версиях btrfs, snappy и lz4. Выполните следующую команду из каталога/.

find -xdev -type f -exec btrfs fi defrag '{}' \;
5
отвечен David C. Bishop 2022-12-11 21:41

Как и многие вопросы с программным обеспечением-ответы меняются в зависимости от того, когда их задают/отвечают. Я освежаю ответ, чтобы помочь любому, кто гуглит свой путь в тему. :)

правильный ответ для btrfs 3.12 и выше для сжатия каталогов/точек монтирования после установки (обязательная рекурсивная опция для дефрагментации была добавлена с помощью 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

случай использования BTRFS из их wiki для использования рекурсивного парама для дефрагментации каталогов / точек монтирования

запись журнала изменений BTRFS для v3.12

1
отвечен Jeff Burns 2022-12-11 23:58

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх