Cara... eu ja vi um desfragmentador de disco pra Linux, mas tava em fase de testes ainda.
Sinceramente, não precisa desfragmentar nada. O sistema de arquivos do Linux padrão é o EXT3 e ele tem um índice que armazena em qual clustar está cada informação. Com isso, mesmo a escrita sendo aleatória, a leitura não é sequencial, e vai no índice, localiza o cluster e vai direto ao ponto.
Resumindo: Os dados são guardados desordenadamente, mas na hora de serem acessados, há um índice que diz onde cada dado foi guardado, portanto na leitura, você vai direto ao ponto que te interessa. Então fazer a desfragmentação de disco (que seria organizar esses dados todos juntinhos) não vai mudar em nada na performance, afinal de contas o Linux quando for ler vai direto no cluster onde está a informação.
Diferente do sistema FAT32 lá do windows. Lá ele armazena os dados de forma aleatória também, mas na hora de ler ele faz leitura sequencial... ou seja... começa a ler bloquinho por bloquinho de informações até achar o arquivo.
Pra limpar o disco de tralhas, basta limpar a lixeira de todos usuários, o diretório /tmp e o cache do Firefox (que você faz nas opções do próprio firefox).