[Eisfair] [e1] fstab bind-mount Bootproblem
Hilix
hilmar.boehm at web.de
Mi Mai 13 15:20:10 CEST 2020
Hallo Taxi,
ich kann Dein Problem nachvollziehen
Was ich gemacht habe, ist:
- ein Verzeichnis /srv/tmp zu erstellen
- und in fstab einzufügen:
/tmp /srv/tmp ext4 bind,ro 0 0
nach einem Reboot kann nicht mehr auf Root-Verzeichnisse geschrieben werden, da sie offensichtlich read-only sind.
Das ist insofern eigenartig, als ein Bind-Mount nicht die Eigenschaften des Verzeichnisses/Gerätes in der ersten fstab-Spalte
verändert bzw. verändern darf. Im (ausfühlichen) Kapitel zu "-bind" in der "mount" Manual Page heisst es:
> Note that a read-only bind will create a read-only mountpoint (VFS entry),
> but the original filesystem superblock will still be writable, meaning that
> the olddir will be writable, but the newdir will be read-only.
Das stimmt, solange man den Bind-Mount-Befehl auf der Kommando-Zeile ausführt und auch wenn man das entsprechende Init-Script
/etc/init.d/mountfs am direkt in der Shell startet. Wenn man mit dem obigen Eintrag in der fstab ein Reboot macht, erhält man
eine Reihe Read-Only Meldungen:
--------------------------------------------
...
/srv/tmp : successfully mounted
EXT4-fs (sda3): re-mounted. Opts: errors=remount-ro,acl,user_xattr
EXT4-fs (sda3): re-mounted. Opts: acl,user_xattr
/var/install/config.d/environment.sh: line 26: /etc/wgetrc: Read-only file system
* Activating all swap files/partitions...
swapon: /swapfile: swapon failed: Read-only file system
* Setting up hostname ...
/etc/rc2.d/S09hostname: line 23: /etc/hosts: Read-only file system
* Setting console mode to Unicode (UTF-8)...
/usr/sbin/zic: Can't remove /usr/share/zoneinfo//etc/localtime: Read-only file system
* Loading ide cdrom drivers ...
* Configuring loopback and ethernet device ...
* Starting usb ...
* Configuring ip on ethernet cards ...
* Setting up additional routes ...
* Setting up resolv.conf ...
/etc/rc2.d/S35resolv: line 23: /etc/resolv.conf: Read-only file system
cp: cannot create regular file '/etc/resolv.conf.dhcpc': Read-only file system
* Starting dhcpc ...
- deleting routers
* Starting syslogd ...
syslogd: /var/log/messages: Read-only file system
syslogd: /var/log/log.eis-install: Read-only file system
* Starting klogd ...
* Starting haveged ...
...
--------------------------------------------
Man kann sich einloggen, aber die Root-Partition sda3 ist ganz definitiv ro gemountet!
Das darf aber gem. der mount Man-Page nicht sein.
Btw.: Ich habe die analoge Prozedur unter einem aktuellen Debian 10 nachvollzogen. Dort tritt dieses Phänomen mit der ro-/ nicht
auf! "/srv/tmp" ist rw gemountet.
Workaraound.
Wenn man den zum fstab-Eintrag entsprechenden Mount-Befehl stattdessen in das "local"-Initscript einträgt läuft alles wie
erwartet. Keine ro Root! Das würde bedeuten, dass man das Problem ggf. zunächst im mountfs-Initscript suchen müsste.
Ich habe das btw. so gemacht:
------------------------------------------
. /etc/init.d/functions
case $1
in
start)
boot_mesg " * Changing system font to Tamsyn10x20r"
/usr/bin/setfont /usr/share/kbd/consolefonts/Tamsyn10x20r
boot_mesg " * Mount with _bind_"
mount -o bind,ro /tmp /srv/tmp <===========
;;
stop)
;;
esac
-------------------------------------------------
Viele Grüße. / Hilmar.
Mehr Informationen über die Mailingliste Eisfair