Como forçar o fsck a cada inicialização - todos os sistemas de arquivos (relevantes)?

13

Estou trabalhando com um PC fanless (centenas deles, na verdade) que tem partições debian 6 e 3 (FAT e 2x ext2). O sistema não tem um botão liga / desliga como tal, então a maioria das pessoas tende a puxar o plugue para “desligá-lo” em vez do init 0 (ou equivalente). Como resultado, o (s) sistema (s) de arquivos acumulam erros muito rapidamente.

Eu tentei usar 'shutdown -rF' para forçar o fsck, mas isso não parece estar funcionando. Eu estou querendo saber se existe alguma maneira de dizer ao sistema para verificar cada ponto de montagem / FS antes que eles sejam montados.

Eu tentei configurar o fsck param em / etc / fstab. Isso normalmente me dá um 'Erros encontrados. Executar fsck manualmente 'mensagem.

Existem outras opções para experimentar?

    
por ethrbunny 09.04.2014 / 19:49

3 respostas

16

Em /etc/init.d/checkfs.sh é a linha if [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline , portanto, fornecer forcefsck na linha de comando do kernel ou gerar um arquivo /forcefsck no encerramento deve causar um fsck na próxima reinicialização.

Para evitar execuções manuais do fsck, peça ao fsck para tentar corrigir automaticamente os erros com a opção -y removendo o comentário e alterando não para yes na seguinte entrada / etc / default / rcS, após a edição parecido com:

# automatically repair filesystems with inconsistencies during boot
FSCKFIX=yes

Uma opção (forcefsck ou FSCKFIX) não implica a outra.

    
por 09.04.2014 / 19:53
7

Estou editando minha resposta:

O comando é:

sudo tune2fs -c 1 /dev/sdX

de acordo com o argumento mancages -c para tune2fs conta o número de instâncias de montagens para uma partição. Portanto, 1 força para verificar o fs após cada ocorrência de montagem.

( link )

    
por 03.03.2015 / 07:13
7

Adicione o parâmetro fsck.mode=force Kernel ao seu bootloader. Anexe esta opção à variável GRUB_CMDLINE_LINUX_DEFAULT= dentro de /etc/default/grub . Como root, gere um novo arquivo de configuração do grub:

[root@host]# grub-mkconfig -o /boot/grub/grub.cfg

Este parâmetro tem o mesmo efeito que criar o arquivo forcefsck dentro da raiz do ponto de montagem.

A solução de usar o script checkfs.sh irá se encaixar melhor no Debian, mas não deve funcionar em outras distros

    
por 03.03.2015 / 14:18

Tags