Eu não concordo com as recomendações do squashfs. Você não costuma escrever um squashf em um dispositivo de bloco raw; pense nisso como um arquivo tar facilmente legível. Isso significa que você ainda precisaria de um sistema de arquivos subjacente.
ext2
tem várias limitações severas que limitam sua utilidade hoje; Portanto, eu recomendaria ext4
. Como isso é destinado ao arquivamento, você criaria arquivos compactados para executá-lo; Isso significa que você teria um pequeno número de arquivos razoavelmente grandes que raramente mudam. Você pode otimizar para isso:
- especifique
-I 128
para reduzir o tamanho de inodes individuais, o que reduz o tamanho da tabela de inodes. - Você também pode jogar com a opção
-i
para reduzir ainda mais o tamanho da tabela de inodes. Se você aumentar este valor, haverá menos inodes criados e, portanto, a tabela de inodes também será menor. No entanto, isso significaria que o sistema de arquivos desperdiça mais espaço, em média, por arquivo. Isto é, portanto, um pouco de compromisso. - Você pode, de fato, desligar o diário com
-O ^has_journal
. Se você seguir esse caminho, no entanto, recomendo que você defina opções padrão para montar o sistema de arquivos somente leitura; você pode fazer isso emfstab
, ou você pode usartune2fs -E mount_opts=ro
para gravar um padrão no sistema de arquivos (você não pode fazer isso emmkfs
time) - você deve, obviamente, compactar seus dados em arquivos compactados, para que o desperdício de inodes não seja um problema tão ruim quanto poderia ser. Você poderia criar imagens squashfs, mas xz comprime melhor, então eu recomendaria arquivos tar.xz.
- Você também pode reduzir o número de blocos reservados com a opção
-m
paramkfs
outune2fs
. Isso define a porcentagem (definida como 5 por padrão), que é reservada apenas para a raiz . Não defina a zero; o sistema de arquivos requer algum espaço para uma operação eficiente.