[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