Inhaltsverzeichnis

Ubuntu - automatischer fsck

Ubuntu 20.04

automatische Dateisystem-Reparatur mit Konsistenz-Check beim booten:

/etc/update-motd.d/98-fsck-at-reboot
#!/bin/sh
 
if [ -x /usr/lib/update-notifier/update-motd-fsck-at-reboot ]; then
    #exec /usr/lib/update-notifier/update-motd-fsck-at-reboot
    exec /usr/lib/update-notifier/update-motd-fsck-at-reboot --force
fi

max. einen Konsistenz-Check, pro Tag:

> tune2fs -i 1d /dev/sda1

Ab Ubuntu 16.10

Seit Ubuntu 16.10 wird die /etc/rc.local nicht mehr ausgeführt. Jetzt sollen SystemD-Mechanismen verwendet werden.

Hier ein Beispiel, wie man in SystemD die /etc/rc.local zum ausführen beim System-Start einträgt und so die gewohnte Funktionalität wieder zurückgewinnt.

> chmod 0755 /etc/rc.local 
> systemctl edit --full rc-local

Wenn es eine ausführbare /etc/rc.local gibt, dann wird sie beim ersten Start dieses Kommandos automatisch eingetragen.

Ab Ubuntu 16.04

Nach dem Wechsel zu systemd können Kernelstartparameter übergeben werden in dem man in GRUB zusätzliche Bootoptionen hinzufügt:

> vi /etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash fsck.repair=force"
...

oder

...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash fsck.repair=preen"
...

> update-grub 

Sollte bei der Dateisystemüberprüfung beim Start des Systems ein Fehler festgestellt werden wird dieser jetzt automatisch korrigiert soweit möglich.

Für weitere Informationen siehe auch

> man systemd-fsck 

Bis einschließlich Ubuntu 15.10

automatische Dateisystem-Reparatur mit Konsistenzscheck beim booten:

> echo "FSCKFIX=yes" >> /etc/default/rcS 
> vi /etc/rc.local
touch /forcefsck

bedingungsloser fsck bei jedem Bootvorgang

Will man bei bei jedem Bootvorgang einen fsck, dann setzt man am besten den Wert Maximum mount count auf "1".

zum Beispiel so:

> tune2fs -c 1 /dev/sda1

FSCK jeden Tag nur einmal ausführen (unabhängig von der installierten Linux-Ditribution), dass ist meiner Meinung nach die sinnvollste Einstellung:

> tune2fs -i 1d /dev/sda1

in der /etc/fstab sollte in der Spalte PASS der Wert "0" gegen "1" bzw. "2" ausgetauscht werden; bei Dateisystemen, die zu begin benötigt werden (z.B. /boot und /) sollte in der 6. (letzten) Spalte eine "1" stehen, in den Zeilen der anderen Dateisysteme (die im Bootprozess später benötigt werden) sollte eine "2" stehen:

> vi /etc/fstab
...
LABEL="root" /     ext4 defaults 0 1
LABEL="home" /home ext4 defaults 0 2
...

FSCK bei jedem Bootvorgang ausführen, unabhängig von der installierten Linux-Ditribution.

Schlimm ist es nicht, da ein fsck bei ext4 sehr schnell ist.

Standard-Einstellungen für neue Dateisysteme

Die Standard-Einstellungen für neu angelegte Dateisysteme nehmen Sie in der Datei mke2fs.conf vor. Per default ist der periodische Check von Dateisystemen deaktiviert, um ihn zu aktivieren setzen Sie enable_periodic_fsck auf 1:

$ sudo vi /etc/mke2fs.conf
[defaults]
        base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
        default_mntopts = acl,user_xattr
        enable_periodic_fsck = 1
[...]

Dadurch wird bei neuen Dateisystemen der FSCK automatisch eingerichtet:

$ sudo mkfs.ext4 /dev/loop0
[...]
This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.