ГлавнаяОперационные системыLinuxКак дефрагментировать системы Linux

Как дефрагментировать системы Linux

Использование e4defrag

миф о том, что диски Linux вообще не нуждаются в дефрагментации. В большинстве случаев это правда, главным образом благодаря отличным журналируемым файловым системам, которые Linux использует (ext2, 3, 4, btrfs и т. д.) для работы с файловой системой. Однако в некоторых конкретных случаях фрагментация все же может иметь место. Если это произойдет с вами, решение, к счастью, очень простое.

Что такое фрагментация?

Фрагментация возникает, когда файловая система обновляет файлы небольшими фрагментами, но эти фрагменты не образуют единое целое, а вместо этого разбросаны по диску. Это особенно верно для файловых систем FAT и FAT32. Это несколько смягчено в NTFS и почти никогда не случается в Linux

Что такое фрагментация?

ловых системах, таких как FAT и FAT32, файлы записываются на диске рядом друг с другом. Для роста файлов или обновлений не остается места:

дефрагментация-Linux-фрагментированная

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

дефрагментация-linux-ntfs

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

дефрагментация-Linux-журнал

Кроме того, если фрагментация все же произойдет, большинство файловых систем Linux попытаются перетасовать файлы и фрагменты, чтобы снова сделать их смежными.

Фрагментация диска в Linux

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

  • если вы редактируете большие видеофайлы или файлы изображений в формате RAW, а место на диске ограничено.
  • если вы используете старое оборудование, например старый ноутбук, и у вас небольшой жесткий диск.
  • если ваши жесткие диски начинают заполняться (загружено более 85%)
  • если у вас много маленьких разделов, загромождающих вашу домашнюю папку

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

Как проверить фрагментацию

Команда fsckсделает это за вас, то есть, если у вас есть возможность запустить ее с Live CD с отключенными всеми затронутыми разделами.

Это очень важно: ЗАПУСК FSCK НА ПОДКЛЮЧЕННОМ РАЗДЕЛЕ МОЖЕТ И БУДЕТ СЕРЬЕЗНО ПОВРЕЖДЕН ВАШИМ ДАННЫМ И ВАШЕМУ ДИСКУ.

Вы предупреждены. Прежде чем продолжить, сделайте полную резервную копию системы.

Отказ от ответственности. Автор этой статьи и компания Make Tech Easier не несут ответственности за любой ущерб вашим файлам, данным, системе или любой другой ущерб, причиненный вашими действиями после следования эт

Фрагментация диска в Linux

а свой страх и риск. Если вы продолжите, вы принимаете и признаете это.

Вам нужно просто загрузиться в живой сеанс (например, с установочного диска, компакт-диска восстановления системы и т. д.) и запустить fsckна ваших НЕМОНТАЖНЫХ разделах. Чтобы проверить наличие проблем, выполните следующую команду с правами root:

fsck -fn [/path/to/your/partition]

Вы можете проверить, что такое [/path/to/your/partition], запустив

sudo fdisk -l

Есть способ безопасно запустить fsck(относительно) на смонтированном разделе — с помощью переключателя -n. Это приведет к проверке файловой системы только для чтения, ничего не затрагивая. Конечно, никакой гарантии безопасности здесь нет, и действовать следует только после создания резервной копии. В файловой системе ext2 работает

sudo fsck.ext2 -fn /path/to/your/partition

приведет к бол

Как проверить фрагментацию

большинство из них будут сообщениями об ошибках, возникающих из-за того, что раздел смонтирован. В конце концов, он предоставит вам информацию, связанную с фрагментацией.

дефрагментация-linux-fsck

Если ваша фрагментация превышает 20 %, вам следует приступить к дефрагментации вашей системы.

Как легко дефрагментировать файловую систему Linux

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

Чтобы создать резервную копию файлов, запустите

cp -afv [/path/to/source/partition]/* [/path/to/destination/folder]

Обратите внимание на звездочку (*); это важно.

Примечание. Принято считать, что для копирования больших файлов или больших объемов данных лучше всего подходит команда dd. Это операция очень низкого уровня, и она копирует все «как есть», включая пустое пространство и даже оставшийся мусор. Это не то, что нам нужно, поэтому, вероятно, лучше использовать cp.

Теперь вам нужно только удалить все исходные файлы.

sudo rm -rf [/path/to/source/partition]/*

Необязательно: вы можете заполнить пустое пространство нулями. Этого можно добиться и с помощью форматирования, но если, например, вы копируете не весь раздел, а только большие файлы (которые, скорее всего, вызовут фрагментацию), это может оказаться невозможным.

sudo dd if=/dev/zero of=[/path/to/source/partition]/temp-zero.txt

Подождите, пока оно закончится. Вы также можете отслеживать прогресс с помощью pv.

sudo apt-get install pv
sudo pv -tpreb | of=[/path/to/source/partition]/temp-zero.txt

дефрагментация-linux-dd

Когда все будет готово, просто удалите временный файл.

sudo rm [/path/to/source/partition]/temp-zero.txt

После того, как вы обнулили пустое пространство (или просто пропустили этот шаг), скопируйте файлы обратно, отменив первую команду cp:

cp -afv [/path/to/original/destination/folder]/* [/path/to/original/source/p

Как легко дефрагментировать файловую систему Linux

rag

Если вы предпочитаете более простой подход, установите e2fsprogs,

sudo apt-get install e2fsprogs

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

sudo e4defrag  /

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

Заключение

Фрагментация редко становится проблемой в системе Linux из-за эффективной обработки данных журналируемой файловой системой. Если по каким-либо причинам вы столкнулись с фрагментацией, есть простые способы перераспределить дисковое пространство, например, скопировав все файлы туда и обратно или используя e4defrag. Однако важно обеспечить безопасность ваших данных, поэтому, прежде чем предпринимать какие-либо действия, которые могут повлиять на все или большинство ваших файлов, обязательно сделайте резервную копию на всякий случай.

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи