Краткое изложение методов (как указано в этом вопросе и в других местах) для очистки неиспользуемого пространства на ext2 / ext3 / ext4:
e2fsck -E discard src_fs
, чтобы отбросить неиспользуемое пространство (требуется e2fsprogs 1.42.2 или выше). zerofree src_fs
) для явной записи нулей над неиспользуемыми блоками. e2image -rap src_fs dest_fs
только для копирования используемых блоков (новая файловая система должна быть на обнуленном «диске», требуется e2fsprogs 1.42.9 или выше). fstrim / mnt / fs /
, чтобы попросить файловую систему удалить неиспользуемое пространство. cat / dev / zero> / mnt / fs / zeros; синхронизация; rm / mnt / fs / zeros
( sfill
из secure-delete использует эту технику). Этот метод неэффективен, не рекомендуется Тедом Ц'о (автором ext4), может не обнулять некоторые вещи и может замедлить будущие fsck
s. Размонтированная файловая система даст лучшие результаты, чем ее монтирование. Отбрасывание, как правило, является самым быстрым методом, когда необходимо обнулить много ранее использованного пространства, но использование zerofree
после процесса отбрасывания иногда может немного обнулить (в зависимости от того, как отбрасывание реализовано на «диске») ).
Вам потребуется соответствующий инструмент для создания образа диска (например, qemu-img convert src_image dst_image
), чтобы включить обнуленное пространство, которое нужно освободить, и позволить файлу, представляющему изображение, стать меньше.
Чтобы сделать файл разреженным (чтобы прогоны с нулевой остановкой занимали место), можно использовать один из следующих методов:
cp --sparse = always src_image dst_image
. fallocate -d src_image
(требуется util-linux v2.25 или выше). В наши дни может быть проще использовать такой инструмент, как virt-sparsify , чтобы выполнить эти и другие шаги за один раз.
zerofree
-121–-5446-
include=simplescreenrecorder*
в /etc/yum.repos.d/FZUG.репо
(из официальной документации ) должно дать вам то, что вы хотите. Но вам нужно добавить его в соответствующие разрешенные репозитории, например, в [fzug-free]
и [fzug-nonfree]
, если у вас не включен исходный код.
Также вы должны запустить dnf update --refresh
, чтобы убедиться, что кэш перезагружен.
РЕДАКТИРОВАТЬ: Это должно работать согласно документации, но не работает с текущей версией DNF 1.1.5 из-за ошибки № 1055910 . Весьма странно поведение include
/ exclude
. Я думал об обходном пути, но пока безуспешно. Оставляю здесь информативный пост и, может быть, у кого-то появятся более светлые мысли.