Ответы:
Да, вы можете использовать Shake . Сначала вам нужно добавить собственный репозиторий в вашу систему:
sudo add-apt-repository ppa:un-brice/ppa
sudo apt-get update
sudo apt-get install shake-fs
Тогда вы можете сделать
sudo shake /some/dir
Там нет такого инструмента вокруг, насколько я знаю.
Некоторые сайты сообщают следующую команду
# WARNING - does not work
fsck -t ntfs --kerneldefrag /dev/hdX
но это не работает, и не ясно, где они это получают.
Обновление: UltraDefrag для Linux:
UltraDefrag - это мощный инструмент дефрагментации с открытым исходным кодом для платформы Windows. Он может дефрагментировать любые системные файлы, включая кусты реестра и файл подкачки. Также одной из основных целей UltraDefrag является выполнение работы максимально быстро и надежно. Он портируется на Linux и NTFS-3G для дефрагментации разделов NTFS. В настоящее время доступна только тестовая версия в режиме консоли. Пожалуйста, прочитайте включенный файл README.linux для компиляции и тестирования
http://jp-andre.pagesperso-orange.fr/advanced-ntfs-3g.html
[Я еще не использовал это сам. Нашел через ветку на форуме Arch . Дальнейшее следование нити до следующей страницы приводит к большему количеству по теме. Попробуйте на свой страх и риск. - kevjonesin-]
Это БОЛЬШОЕ предупреждение для всех тех, кто считает, что NFTS можно дефрагментировать в Linux, просто копируя файлы (клонируя только файлы) и т. Д .:
насколько я знаю, каждый раз, когда Linux (cp, fsarchiver и т. д.) записывает файл / папку в NTFS, она всегда записывает его без сжатия NTFS, независимо от того, включено или выключено сжатие файла / папки.
Таким образом, вы можете попасть в ситуацию (с которой я столкнулся с трудностью), когда восстановление с помощью fsarchive (или cp и т. Д.) Приведет к тому, что раздел заполнится и будет недостаточно.
Некоторые типы данных могут достигать степени сжатия NTFS более 3, так что вы можете иметь раздел X GiB с большим количеством файлов, и сумма файлов будет около 3 * X по размеру.
Я предупреждаю об этом, потому что это не очень хорошо известно и иногда вызывает очень сильные головные боли. например, при восстановлении клона требуется больше места, чем весь клонированный раздел, вызванный тем, что сжатие NTFS потеряно в Linux.
Кроме того, с очень очень специальными данными (отношение NTFS больше 5) я достигаю этой ситуации:
О да, клон был сжат, и он занял удвоенный размер раздела.
Это вызвано тем, что инструмент-клон читает файлы в простом (чистом, а не сжатом), а затем сжимает данные (с действительно худшим соотношением, чем NTFS).
Конечно, восстановление этих данных не поместится в этот раздел, так как восстановленные данные будут помещены без сжатия NTFS.
Надеюсь, это понятно, еще одна причина, почему не использовать сжатие NFTS? Ну, совсем нет, я часто использую сжатие NTFS (в прошлом). Файлы VDI (Virtual Box) получают действительно хорошее соотношение.
Теперь я обнаружил Pismo file Mount (и он также работает в Linux). он может создать файл, который действует как контейнер (как папка) и может быть сжат (также с лучшим соотношением, чем NFTS) и в то же время зашифрован.
Почему я упоминаю это. потому что любой инструмент клонирования будет видеть такой контейнер как файл (если он не смонтирован как папка) и будет читать / сбрасывать / делать резервные копии сжатого потока данных, а не простых несжатых данных (как при сжатии NTFS). поэтому восстановление происходит как с любым другим файлом.
Вместо того, чтобы сжимать папку NTFS с атрибутом сжатия NTFS, я помещаю виртуальную папку для монтирования файла Pismo. получить лучшее сжатие и т. д.
Я также должен предупредить всех, кто заинтересован в таком бесплатном инструменте. у него нет сжатия (по крайней мере, пока), поэтому, если содержимое папки сильно меняется, это не очень хорошая идея.
Но для неизменных виртуальных дисков, ISO-файлов и других вещей, которые не изменятся, соотношение, которое он получает, очень близко к LZMA2 (7-Zip), и его можно читать / записывать на лету.
И это кроссплатформенный.
Обратите внимание, плохой парень NTFS сжатия говорит о фрагментации. когда вы записываете файл в NTFS с включенным сжатием NTFS, он делает это следующим образом (да, ужасно спроектированный, я думаю, что это сделано так, чтобы обеспечить большую фрагментацию намеренным способом, худшее не может быть сделано):
Таким образом, он создает много, много GAP в середине файла, и только после дефрагментации файла GAP исчезают, но эта дефрагментация не происходит до тех пор, пока пользователь не закажет ее (contig.exe, defrag.exe и т. Д.).
Да, он записывает N-ный блок 64 КБ на позицию, кратную 64 КБ, независимо от того, могут ли предыдущие данные быть сжатыми или нет, он оставляет разрыв между каждым фрагментом 64 КБ (если все могут быть сжаты).
Сжатие виртуальной папки Pismo File Mount действует так, как если бы предполагалось любое обычное сжатие, в режиме конвейера, поэтому пробелов нет. по крайней мере, пока вы не удалите что-то.
Также еще одно предупреждение, не помещайте в него файлы VHD / VHDX, Windows не сможет их прикрепить! Windows использует трюк ядра для монтирования таких вещей, она не использует уровень файловой системы, работает на низком уровне.
Я также хотел бы получить в руки дефрагментатор Linux NTFS, конечно, будет быстрее, чем все, что работает под Windows. это полное безумие, чтобы дефрагментировать свободное пространство. или лучше говорить. создать достаточно большой для нового большого файла.
Также было бы здорово, чтобы моя память работала лучше. В прошлом я использовал инструмент (из командной строки, извините) в Windows, который мог копировать / перемещать файл не фрагментированным способом. убирая нужные файлы, получая при этом целое, а не фрагментируя их. он выдает сообщение только в том случае, если не может найти способ поместить файл (невозможно получить дыру) или другое предупреждение, если ему нужно фрагментировать другой файл (спрашивать, авторизован ли пользователь) и т. д. было действительно здорово. Я не помнил название (и, возможно, оно не работает с современными окнами, это было для Win2000).
Нет. Это файловые системы Windows, поэтому вам нужно использовать Windows для их дефрагментации.
Существует очень хорошо известный хитрый способ заархивировать дефрагментацию NTFS (включая свободное место) ... это можно сделать с помощью Live Linux, например, SystemRescueCD ...
Но у вас должен быть второй жесткий диск или как минимум 51% свободного места (если не используется сжатие).
Хитрость (очень хитрая) состоит в том, чтобы использовать инструменты для «клонирования» раздела, но не типичные ... есть инструмент, который может «клонировать» раздел NTFS, но не делает точного «клонирования» ... позвольте мне объяснить ...
Инструмент fsarchive (если я плохо помню).
Он создает очень большой файл (как это делают инструменты клонирования) со всеми файлами (остерегайтесь специальных метаданных файлов NTFS, потоков, которые, я думаю, они называются), так же, как это делает инструмент «клонирование» ...
Но сложная часть возникает при восстановлении ... он не помещает файлы туда, где они, он помещает файлы без какой-либо фрагментации вообще.
Я использовал его для системного раздела Windows, а также для разделов данных NTFS ... с успешным ... не очень простым в использовании / понимании (внимательно прочитайте документы) ... но могу сделать свое дело.
Помните ... такой большой файл, который он создает, может быть сжат, поэтому не нужно иметь 51% свободного.
Но в любом случае, сначала вы должны сжать раздел NTFS ... использовать GParted (если я не помню плохо).
Итак, шаги:
Вот и все, ребята ... как я сказал, очень сложно и рискованно, конечно.
Остерегайтесь ключевых моментов:
Шаги для: Используйте LiveCD / LiveUSB linux для дефрагментации NTFS-раздела, который использует 100% диска, при этом никакие другие жесткие диски не подключаются к такому ПК [должно быть достаточно свободного места].
ВАЖНЫЙ:
Насколько я знаю, GParted / fsarchiver является наиболее близким решением (для использования только LiveCD / LiveUSB с Linux), не быстрым, каким-то рискованным, но удовлетворяющим условиям, наложенным человеком, который задает вопрос.
Будьте осторожны: это очень, очень рискованно ... как с любым инструментом "клонирования" ... и пока я не знаю другого лучшего способа ... и он потеряет потоки NTFS (если я не помню плохо)
ПОЖАЛУЙСТА: прочитайте осторожно документы fsarchiver, прежде чем использовать его.
У меня есть какая-либо ответственность (я использовал это на своих собственных данных, но всегда у меня есть внешний BackUP - хорошие партии).
На практике ... всю имеющуюся у меня информацию я помещаю как минимум на три разных носителя (HDD, DVD, Flash Memories), по крайней мере, три копии на каждый носитель, поэтому у меня 9 копий ... если я потеряю 8 из им еще один отдых, чтобы восстановить данные ... я немного параноик, я знаю.