Ubuntu / Linux использует файловую систему журналов, но есть инструменты дефрагментации пользовательского пространства, такие как Shake и defrag для ext3. Shake [! d5] Работает путем выделения пространства для всего файла как одного который, как правило, приводит к тому, что распределитель обнаруживает непрерывное дисковое пространство. Если есть файлы, которые используются одновременно, Shake попытается записать их рядом друг с другом. Shake [! d6] Defrag Работает путем копирования каждого файла поверх себя (так что технически это не дефрагментация ...). Однако эта стратегия работает только в том случае, если в файловой системе достаточно свободного места. Однако современные файловые системы Linux сохраняют фрагментацию как минимум, сохраняя все блоки в файле закрытыми вместе, даже если они не могут быть сохранены в последовательных секторах. Некоторые файловые системы, такие как ext3 и ext4, эффективно выделяют свободный блок, ближайший к другим блокам в файле. Поэтому нет необходимости беспокоиться о фрагментации в системе Linux. ext4 использует экстент, поэтому у него есть новая файловая система журналирования как часть e2fsprogs. Таким образом, можно дефрагментировать ext4. Но если вы думаете, что это ускорит вашу систему, вы ошибаетесь. Экстент - это непрерывная область хранения в компьютерной файловой системе, зарезервированная для файла. Когда процесс создает файл, программное обеспечение для управления файловой системой выделяет в целом. При повторном записи в файл, возможно, после выполнения других операций записи данные продолжаются, когда предыдущая запись прекратилась. Это уменьшает или устраняет фрагментацию файлов и, возможно, рассеяние файлов. Файловая система с расширением (то есть одна, которая адресует хранилище через экстенты, а не в отдельные блоки), не требует ограничения каждого файла на один, смежная степень.