Re: ifupdown writes to /etc... a bug?
miquels@cistron-office.nl (Miquel van Smoorenburg) writes:
> In article <[🔎] 87he9xd5sf.fsf@mrvn.homelinux.org>,
> Goswin Brederlow <goswin.brederlow@student.uni-tuebingen.de> wrote:
> >miquels@cistron-office.nl (Miquel van Smoorenburg) writes:
> >
> >> No it doesn't, because for example mount does this:
> >>
> >> fd = open("/etc/mtab.TMP", O_RDWR|O_CREATE, 0666);
> >> write(fd, "/dev/hda / ext3 ...", 100);
> >> close(fd);
> >> rename("/etc/mtab.TMP", "/etc/mtab");
> >>
> >> That isn't going to work with a state fs.
> >
> >Maybe mount and ifup/down could be changed to use /dev/shm
> >optionally (maybe via symlink).
>
> Sure, by all means, teach mount to readlink() the symlink and
> work in the destination directory of the symlink. Ditto for
> ifup/ifdown.
Done for mount:
deb ftp://mrvn.homeip.net/ sid main
deb-src ftp://mrvn.homeip.net/ sid main
ifup/down and lvm are next.
> >If everyone can live with that, especially the sysvinit maintainer who
> >has to include the changes to prepare /dev/shm for this
>
> You mean mount /dev/shm early if it's in fstab
mount -n and then remount / and /dev/shm again. Or /mem or whatever
gets decided.
> >I'm willing
> >to write some patches to utilize /dev/shm for this.
>
> As above, fix mount and ifup/down to follow symlinks. Or, teach
> them to check for /run and use /run instead of /etc if it is present.
>
> If the sysvinit maintainer then just changes the bootup scripts
> to mount tmpfs-based filesystems as early in the boot process
> as possible, we're basically done.
>
> If you have a read-only rootfs it's then simply:
>
> - use a 2.4 kernel or later with tmpfs support
> - mount tmpfs on /dev/shm or /run or whatever you like
> using /etc/fstab
/dev/shm is for shmfs
> - make /etc/mtab a symlink to /dev/shm/fstab or /run/fstab
>
> Et voila.
>
> If that works we can later discuss if it would be a good idea
> to make Debian use /run (or /whatever) by default on new installs.
Worked in my chroot.
MfG
Goswin
Reply to: