Meu Ubuntu está executando o fsck em cada inicialização

19

Em cada inicialização, é o mesmo:

/dev/sda1: clean, 908443/38690816 files, 44176803/154733312 blocks

É algum tipo de opção que o Ubuntu usa para garantir a consistência do sistema de arquivos ou há algo errado com o meu disco rígido? fsck leva até 30s durante a inicialização e assim triplica o tempo necessário de outra forma.

Saída completa (parcialmente em alemão):

Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
fsck von util-linux 2.20.1
/dev/sda1: sauber, 908443/38690816 Dateien, 44176803/154733312 Blöcke
udevd[623]: unknown key 'SYSFS{idVendor}' in /lib/udev/rules.d/45-libticables.rules:6

udevd[623]: invalid rule '/lib/udev/rules.d/45-libticables.rules:6'

 * Starting mDNS/DNS-SD daemon                                                 [ OK ]
 * Starting Reload cups, upon starting avahi-daemon to make sure remote queues are populated                                                                   [ OK ]
 * Starting configure network device security                                  [ OK ]
 * Starting bluetooth daemon                                                   [ OK ]
 ####* Starting all other stuff
    
por s3lph 27.11.2013 / 23:20

5 respostas

25
% bl0ck_qu0te%

A linha que produz essa mensagem é this :

/* Print the summary message when we're skipping a full check */
log_out(ctx, _("%s: clean, %u/%u files, %llu/%llu blocks"),

Ele pula a "verificação completa", mas apenas certifica-se de que algum teste rápido para o diário está limpo e não há inodes órfãos:

cat /var/log/boot.log 
fsck from util-linux 2.20.1
fsck from util-linux 2.20.1
/dev/sda1: clean, 260598/771552 files, 1684682/3080192 blocks
/dev/sdb10: recovering journal
/dev/sdb10: Clearing orphaned inode 142568 (uid=1000, gid=1000, mode=0100664, size=32768)
/dev/sdb10: Clearing orphaned inode 138527 (uid=1000, gid=1000, mode=0100600, size=9580)
/dev/sdb10: clean, 54957/991232 files, 3498365/3958006 blocks

Isso é normal e esperado. Se fosse uma verificação completa, demoraria muito mais tempo, mas normalmente leva um segundo ou menos. A página de manual Systemd systemd-fsck(8) tem as condições em que uma verificação completa é acionada:

% bl0ck_qu0te%

Você pode simplesmente verificar se os testes não deram quase nada para executar (se você usar o systemd):

sudo systemd-analyze blame | grep fsck
          1.608s systemd-fsck@dev-disk-by\x2duuid-408535fe\x2d28e6\x2d4d82\x2dbb59\x2d9810ead089a3.service
            87ms systemd-fsck@dev-mapper-vlhome\x2dlvhome.service
    
por Braiam 01.12.2013 / 15:55
1

Tem certeza de que o fsck está levando 30s e não apenas que a próxima mensagem do console relacionada ao udevd leva 30 segundos? Em outras palavras, talvez o udevd esteja demorando 30 segundos para terminar o trabalho na coisa libticables antes de mostrar uma mensagem do console?

Tente remover (ou mover outro local temporariamente)

/lib/udev/rules.d/45-libticables.rules

e veja se isso ajuda.

    
por Joseph Santaniello 04.12.2013 / 12:33
0

Este fsck em cada inicialização aconteceu comigo devido ao mau relógio. Parece que o systemd-fsck @ é executado antes do systemd-timesyncd, e sem um RTC suportado por bateria, a hora do sistema está errada no momento em que o fsck é executado.

Confirmei que isso é realmente o que aciona a verificação completa (ao invés de ter o fsck sair rapidamente), desabilitando o systemd-timesynd, configurando o relógio para o valor de pré-sincronização encontrado no journalctl e executando o fsck. O e2fsck então faz uma verificação completa, uma vez que detecta que o último tempo de gravação do superbloco está no futuro:

fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Superblock last write time (Mon Jun 19 00:48:11 2017,
    now = Tue Jan 31 20:09:28 2017) is in the future.
Fix<y>? yes
Pass 1: Checking inodes, blocks, and sizes
...

Observe que esse acionador para a verificação completa não está relacionado aos outros acionadores da contagem máxima de montagem e do intervalo de tempo desde a última verificação, vista em dumpe2fs -h , mencionada em outras respostas aqui.

Note que, sem acertar o relógio (ou seja, permitindo sincronizar timesyncd), o fsck não fará uma verificação completa, mas sairá rapidamente com uma mensagem 'sistema de arquivos limpo'.

Como solução alternativa, desativei fsck em / etc / fstab definindo o campo 'pass' como 0. Eventualmente, comprarei um RTC com bateria para este dispositivo.

    
por alexei 19.06.2017 / 07:00
-1

Minhas pesquisas concluem que a contagem máxima de montagens padrão do Ubuntu está definida como -1. Isso significa que o fsck nunca será executado em qualquer inicialização, independentemente do número de montagens. Você pode verificar o seu por comando -

sudo dumpe2fs -h /dev/sda8 | grep -i 'mount count'

Você pode aumentá-lo em sua necessidade usando tune2fs . Um exemplo típico é o seguinte -

sudo tune2fs -c 30 -i 1w /dev/sda8

Personalize-o em seu acordo.

    
por Vivek Ji 26.08.2016 / 14:01
-1

Como outros postaram, a contagem máxima de montagens pode ser padronizada como -1 , o que significa que o fsck é executado em cada inicialização, o que naturalmente reduz o processo de inicialização.

Altere a frequência de fsck para cada 50 botas ou a cada 30 dias usando:

$ sudo tune2fs -c 50 -i 1m /dev/sdc3

tune2fs 1.42.13 (17-May-2015)
Setting maximal mount count to 50
Setting interval between checks to 2592000 seconds

Supondo que hoje seja 13 de novembro de 2016, verifique quando o próximo fsck será executado usando:

$ sudo dumpe2fs -h /dev/sdc3 | grep Next

dumpe2fs 1.42.13 (17-May-2015)
Next check after:         Tue Dec 13 22:45:39 2016
    
por WinEunuuchs2Unix 26.11.2016 / 04:03