Respostas:
Sim, você pode usar shake . Você primeiro precisará adicionar um repositório personalizado ao seu sistema:
sudo add-apt-repository ppa:un-brice/ppa
sudo apt-get update
sudo apt-get install shake-fs
Então você pode fazer
sudo shake /some/dir
Não existe tal ferramenta, pelo que sei.
Alguns sites relatam o seguinte comando
# WARNING - does not work
fsck -t ntfs --kerneldefrag /dev/hdX
mas isso não funciona, e não está claro de onde eles tiram isso.
Atualização: UltraDefrag para Linux:
O UltraDefrag é uma poderosa ferramenta de desfragmentação de código aberto para a plataforma Windows. Ele pode desfragmentar qualquer arquivo do sistema, incluindo as seções do registro e o arquivo de paginação. Também um dos principais objetivos do UltraDefrag é fazer o trabalho o mais rápido e confiável possível. Ele está sendo portado para Linux e NTFS-3G para desfragmentar partições NTFS. Atualmente, apenas uma versão de teste no modo de console está disponível. Leia o arquivo incluído README.linux para compilar e testar
http://jp-andre.pagesperso-orange.fr/advanced-ntfs-3g.html
[Eu ainda não usei isso. Encontrei-o através de um tópico em um fórum do Arch . Seguir o tópico até a próxima página leva a mais informações sobre o tópico. Tente por sua própria conta e risco.
Este é um aviso GRANDE para todos que pensam que o NFTS pode ser desfragmentado no Linux apenas copiando arquivos (clonando apenas arquivos), etc:
pelo que sei, sempre que o Linux (cp, fsarchiver, etc) grava um arquivo / pasta em um NTFS, ele sempre grava sem compactação de NTFS, independentemente de o arquivo / pasta ter compactação ou desativação.
Assim, você pode chegar a uma situação (eu a encontro da maneira mais difícil), em que a restauração com fsarchive (ou cp, etc) faria com que a partição ficasse cheia e não bastasse.
Alguns tipos de dados podem atingir uma taxa de compactação NTFS superior a 3, para que você possa ter uma partição X GiB com muitos arquivos e a soma dos arquivos ter tamanho aproximado de 3 x X.
Dou esse aviso porque não é bem conhecido e às vezes cria dores de cabeça muito grandes. como ao restaurar um clone, é necessário mais espaço do que toda a partição que foi clonada, causada porque a compactação NTFS se perdeu no Linux.
Além disso, com dados muito muito especiais (taxa NTFS maior que 5), chego a esta situação:
Ah, sim, o clone foi compactado e levou o dobro desse tamanho de partição.
Isso é causado porque a ferramenta clone lê os arquivos de forma simples (clara, não compactada) e depois comprime os dados (com uma proporção realmente pior do que o NTFS).
É claro que restaurar esses dados não caberá nessa partição, pois os dados restaurados serão colocados sem a compactação NTFS.
Espero que fique claro outro motivo para não usar a compressão NFTS? Bem, de jeito nenhum, eu uso muito a compactação NTFS (no passado). Os arquivos VDI (Virtual Box) obtêm uma proporção realmente boa.
Agora eu tinha descoberto o arquivo Pismo Mount (e também funciona no Linux). ele pode criar um arquivo que atua como um contêiner (como uma pasta) e pode ser compactado (também com uma proporção melhor que o NFTS) e, ao mesmo tempo, criptografado.
Por que eu mencionei isso? porque qualquer ferramenta clone verá esse contêiner como um arquivo (quando não estiver montado como pasta) e lerá / fará o dump / backup do fluxo de dados compactado, não dos dados simples não compactados (como na compactação NTFS). então restaurar é como em qualquer outro arquivo.
Em vez de compactar uma pasta NTFS com o atributo de compactação NTFS, coloquei uma pasta virtual Mount do arquivo Pismo. obtenha melhor compressão, etc.
Devo também avisar a todos vocês interessados em tal ferramenta gratuita. não tem encolhimento (pelo menos ainda), portanto, se o conteúdo da pasta mudar muito, não é uma boa idéia.
Mas para discos virtuais imutáveis, ISOs e coisas que não mudam, a proporção obtida é muito próxima dos LZMA2 (7-Zip) e pode ser lida / gravada em tempo real.
E é multiplataforma.
Observe o bandido da compactação NTFS falando sobre fragmentação. quando você escreve um arquivo em um NTFS com compactação de NTFS, ele faz desta maneira (sim, horrível, acho que é feito assim para garantir uma maior fragmentação na intenção, o pior não pode ser feito):
Portanto, ele cria muitos GAPs no meio do arquivo e somente após uma desfragmentação de arquivo os GAPs desaparecem, mas essa desfragmentação não ocorre até que o usuário o solicite (contig.exe, defrag.exe, etc.).
Sim, ele grava o fragmento N'th 64K em um múltiplo de posição de 64K, independentemente de os dados anteriores poderem ou não ser compactados, deixa um espaço entre cada pedaço de 64K (se todos pudessem ser compactados).
A compactação de pasta virtual do Pismo File Mount age como qualquer compactação normal, modo canalizado, portanto, não há falhas. pelo menos até você excluir algo.
Além disso, outro aviso: não coloque arquivos VHD / VHDX dentro dele, o Windows não poderá anexá-los! O Windows usa um truque do kernel para montar essas coisas, ele não usa o nível do sistema de arquivos, funciona em um nível baixo.
Eu também gostaria de colocar minhas mãos em um desfragmentador NTFS do Linux, com certeza seria mais rápido do que tudo o que é executado no Windows. é uma loucura total desfragmentar o espaço livre. ou melhor falando. criando um tamanho grande o suficiente para um novo arquivo grande.
Também seria ótimo minha memória funcionar melhor. no passado, eu estava usando uma ferramenta (linha de comando, desculpe) no Windows que podia copiar / mover um arquivo de maneira não fragmentada. afastando os arquivos necessários enquanto obtém todo o necessário e não fragmentando esses. ele só envia uma mensagem se não conseguir encontrar uma maneira de colocar o arquivo (impossível encontrar um furo) ou um aviso diferente se precisar fragmentar outro arquivo (perguntando se autorizado pelo usuário), etc. foi realmente ótimo. Não lembro o nome (e talvez ele não funcione com janelas modernas, era para o Win2000).
Não. Estes são sistemas de arquivos do Windows, portanto você precisará usar o Windows para desfragmentá-los.
Existe uma fraude muito conhecida para arquivar uma desfragmentação NTFS (incluindo espaço livre) ... isso pode ser feito com um Live Linux como o SystemRescueCD ...
Mas, você deve ter um segundo HDD ou pelo menos 51% de espaço livre (se não estiver usando compactação).
O truque (muito complicado) é usar ferramentas para "clonar" a partição, mas não as típicas ... existe uma ferramenta que pode "clonar" uma partição NTFS, mas sem executar um "clone" exato ... deixe-me explicar ...
A ferramenta é fsarchive (se não me lembro mal).
Ele cria um arquivo muito grande (como as ferramentas de clone), com todos os arquivos (cuidado com os metadados especiais de arquivos NTFS, fluxos que eu acho que são chamados), assim como uma ferramenta de "clone" ...
Mas a parte complicada vem ao restaurar ... ele não coloca os arquivos onde eles estão, coloca os arquivos sem nenhuma fragmentação.
Eu o havia usado na partição do sistema Windows e nas partições de dados NTFS ... com êxito ... não é muito fácil de usar / entender (leia atentamente os documentos) ... mas pode fazer o truque.
Lembre-se ... um arquivo tão grande que ele cria pode ser compactado, então não precisa ter 51% de graça.
Mas de qualquer forma, primeiro você deve encolher a partição NTFS ... use GParted (se não me lembro mal).
Então, etapas:
É isso aí, pessoal ... como eu disse, muito complicado e arriscado, é claro.
Cuidado com os principais pontos:
As etapas são para: Use um LiveCD / LiveUSB linux para desfragmentar uma partição NTFS que use 100% do disco, sem nenhum outro HDD conectado a esse PC [deve ter espaço livre suficiente].
IMPORTANTE:
Enquanto eu sei que o GParted / fsarchiver é a solução mais próxima (por usar apenas um LiveCD / LiveUSB com Linux), não é rápido, de alguma forma arriscado, mas satisfaz os termos impostos pela pessoa que postou a pergunta.
Lembre-se: é muito, muito arriscado ... como em qualquer ferramenta "clone" ... e por enquanto não conheço outra maneira melhor ... e perderá os fluxos NTFS (se não me lembro mal)
POR FAVOR: Leia atentamente os documentos do fsarchiver, antes de usá-lo.
Eu tenho qualquer responsabilidade (eu tinha usado em meus próprios dados, mas sempre tenho um BackUP externo - boas partículas).
Na prática ... todas as informações que tenho, eu as coloco em pelo menos três mídias diferentes (HDD, DVD, Flash Memories), com pelo menos três cópias em cada mídia, então eu tenho 9 cópias ... se eu perder 8 eles resta mais um para recuperar dados ... eu sou um pouco paranóico, eu sei.