Будет ли btrfs автоматически сжимать существующие файлы при включенном сжатии?

Я удивлен, что никто не упомянул программу под названием glc, которая известна как эквивалент Linux Fraps. За последние два года он не имел большого развития и может быть сложным в настройке, поэтому стоит внимательно прочитать полезную вики. На этом сайте есть отличный учебник, в котором подробно описывается его работа, а многие видео на Youtube могут быть найдены людьми, которые записали с ним видеозапись.

Однако он недоступен в репозиториях, но здесь есть ppa:

sudo add-apt-repository ppa:arand/ppa
sudo apt-get update
sudo apt-get install glc

Однако я всегда предпочитаю компиляцию. Поэтому установите зависимости сначала с помощью

sudo apt-get install build-essential cmake libx11-dev libxxf86vm-dev libgl1-mesa-dev libasound2-dev libpng12-dev

Затем вам нужно запустить эти команды из программы с именем glc :

wget https://github.com/nullkey/glc/raw/master/scripts/glc-build.sh
chmod a+x glc-build.sh
./glc-build.sh

На каком-то этапе в процессе он попросит вас установить пароль. Лучше не устанавливать ни во что иное, кроме значения по умолчанию.

Обратите внимание, если в нем упоминается что-либо о настройке пользовательских указателей на загрузку библиотек; это особенно важно в 64-битных системах - см. wiki для деталей.

Хотя полные параметры подробно описаны здесь, вы можете захватывать игровые кадры простым запуском

glc-capture game 

, а затем нажмите shift F8, чтобы начать запись в файл, и нажмите ту же комбинацию для остановки. Файл будет сохранен в вашей домашней папке.

Вы можете воспроизвести его с помощью

glc-play ~/location/of/file.glc

или закодировать его; см. полные параметры подробно описаны здесь .

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

1
задан 15 October 2016 в 19:44

5 ответов

Я сделал то, что сказал Норберт Фабритий, но я не заметил никакого сжатия в существующих файлах - df -h / before btrfs fi defragment = 658MB | df -h / после btrfs fi дефрагментации = 658 МБ. Новые файлы в порядке. Немного принесите мне эту цитату:

Выполнение этого: # btrfs filesystem defragment ~/stuff не дефрагментирует содержимое каталога. Это по дизайну. btrfs fi defrag работает на объекте одиночной файловой системы, переданном ему. Это означает, что команда дефрагментирует только метаданные, хранящиеся в каталоге> object, а не содержимое каталога. Если вы хотите дефрагментировать содержимое> каталога, что-то вроде этого было бы более полезным: # find -xdev -type f -exec btrfs fi defrag '{}' \;

После этого мой / он занимает 656 МБ - ничего огромного, но, конечно, есть сжатие.

Источник: https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#Defragmenting_a_directory_doesn.27t_work

Надеюсь на эту помощь.

Извините, мой английский.

10
ответ дан 25 May 2018 в 12:05
  • 1
    1. При использовании btrfs не используют или не доверяют df . 2. Для лучшей степени сжатия используйте zlib (однако он медленнее) – ignis 4 November 2013 в 18:00
  • 2
    Должна ли ваша командная строка включать defrag -clzo или defrag -czlib вместо просто defrag, если вы хотите фактически сжать вещи? – jbo5112 17 November 2013 в 11:14
  • 3
    Существует "-r" рекурсивный флаг, поэтому вы можете просто сделать это сейчас: btrfs fi defrag -r -czlib ~/stuff – Salami 14 October 2016 в 20:28

Согласно документации Oracle, вы можете сжимать существующие файлы в существующей файловой системе онлайн, дефрагментируя каждый файл в ней с помощью параметров -c, -clzo или -czlib. LZO рекомендуется для скорости.

find / -xdev \( -type f -o -type d \) -exec btrfs filesystem defragment -v -clzo -- {} +

Это использует команду find для запуска дефрагментатора btrfs для каждого файла в корневой файловой системе (задается косой чертой сразу после команды «find» в начале). Если у вас есть другие подвыборы, вы можете использовать его снова с помощью пути subvolume (например, у меня есть / home, например) вместо этого.

Для этого вам понадобятся права root, поэтому добавьте sudo на передний план, если вам нужно.

Смотрите:

http://docs.oracle.com/cd/E37670_01/E37355/html/ol_use_case1_btrfs.html https: //btrfs.wiki.kernel.org/index.php/UseCases#How_do_I_defragment_many_files.3F
8
ответ дан 25 May 2018 в 12:05

В соответствии с 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. 

Примечание: Эта запись является ответом на дополнительный вопрос какие типы алгоритмов сжатия доступны, которые были заданы ниже ... поэтому, пожалуйста, не обвиняйте меня.

2
ответ дан 25 May 2018 в 12:05

Согласно ArchWiki:

Совет. Сжатие также можно включить для каждого файла без использования опции mount compress; просто примените chattr +c к файлу. При применении к каталогам это приведет к автоматическому сжатию новых файлов по мере их поступления.

Очень приятно! :

Совет. Сжатие также может быть включено для каждого файла без использования compress mount.

Кроме того, из ArchWiki :

вариант; просто примените chattr +c к файлу. При применении к каталогам это приведет к автоматическому сжатию новых файлов.

Да. Утилита chattr поддерживает установку атрибута файла c, который помещает индексный дескриптор для сжатия вновь записанных данных.
2
ответ дан 25 May 2018 в 12:05

Сжатие включено по умолчанию в Btrfs, поэтому, если вы явно не отключили его, он должен быть сжат.

-9
ответ дан 25 May 2018 в 12:05
  • 1
    Не верно, вы должны передать compression= «ваш любимый алгоритм сжатия». в fstab, чтобы включить его. – turbo 24 July 2012 в 17:36
  • 2
    @turbo Какие алгоритмы сжатия доступны? – hexafraction 27 October 2012 в 05:26
  • 3
    похоже, что в настоящее время разрешено 2 сжатия (ну, 3, если вы считаете «none»): btrfs.wiki.kernel.org/index.php/… – rogerdpack 15 June 2013 в 04:34

Другие вопросы по тегам:

Похожие вопросы: