A seguito di un arresto impuro su un dispositivo basato su scheda SD, ho portato la scheda SD fsck
nel filesystem di root. Ciò ha portato a variazioni su quanto segue:
e2fsck 1.43.1 (08-Jun-2016)
/dev/sdc2: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? no
Clear journal<y>? no
e2fsck: unable to set superblock flags on /dev/sdc2
Qui ho risposto "no" entrambe le volte ma non esiste una sequenza di sì / no che non porti immediatamente allo stesso risultato.
Il filesystem può essere montato e su ispezioni casuali sembra a posto; funziona anche bene nel dispositivo, e questo è il filesystem di root (in realtà si è rivelato non abbastanza bene, vedi commenti; tldr alcune directory irrimediabilmente corrotte).
Avevo dd
la partizione (8 GB) in un file e ho provato fsck su quello. È interessante notare che:
e2fsck 1.43.1 (08-Jun-2016)
plush.rootfs: recovering journal
Clearing orphaned inode 18290 (uid=0, gid=0, mode=0100644, size=34096)
Clearing orphaned inode 18270 (uid=0, gid=0, mode=0100644, size=38916)
Clearing orphaned inode 18250 (uid=0, gid=0, mode=0100644, size=1128076)
Clearing orphaned inode 11411 (uid=0, gid=0, mode=0100644, size=293108)
Setting free inodes count to 406127 (was 408580)
Setting free blocks count to 1305622 (was 1347486)
plush.rootfs: clean, 60209/466336 files, 604906/1910528 blocks (check after next mount)
Un successivo fsck
passaggio pulito, l'immagine può essere montata, e anche fsck -f
dopo passa.
Ma il filesystem sulla scheda da cui è stata creata l'immagine della copia a blocchi grezzi presenta ancora lo stesso problema, tranne per il fatto che quello systemd-fsck
che si verifica durante l'avvio registra il filesystem come "pulito". Successivamente, un corretto arresto, estrarre la scheda e fsck
riprovare da un'altra casella presenta lo stesso errore.
Ogni volta che l'originale viene montato su un'altra macchina, note syslog:
kernel: EXT4-fs (sdc2): 4 orphan inodes deleted
kernel: EXT4-fs (sdc2): recovery complete
Dal momento che ho eseguito il backup di tutto, sono aperto a provare qualsiasi cosa qui. Potrei semplicemente dimenticarmene e ripristinare la partizione dall'immagine apparentemente fissa, ma non sembra una soluzione molto soddisfacente, dal momento che significa assumere fsck cripticamente fallito nel risolvere un problema dall'aspetto minore.
Ho il sospetto che questo si trasformerà in una domanda "richiesta di documentazione ufficiale" riguardante cose come bisogni recovery_flag (o semplicemente una domanda "Cosa significa?"), Quindi ogni suggerimento in tal senso è apprezzato.
apt upgrade
). Dopodiché registra un avvio normale - e systemd-fsck dice "clean" (lo modificherò in), ma provare fsck al di fuori di quel contesto non riesce ancora.