Package: initscripts
Version: 2.88dsf-59.9
Severity: serious
Tags: patch
Hi,
Reason for Severity=serious: This leaves /var (or other
filesystems) in an unclean state, so could possibly lead to
data loss!
(not to mention the lengthy fsck at every boot.)
umountfs in stretch changed the sed-calculation of
ROTECTED_MOUNTS. The new one includes /var on my system:
# sed -n ':a;/^[^ ]* \(\/\|\/usr\) /!{H;n;ba};{H;s/.*//;x;s/\n//;p}'
/proc/mounts
/dev/root / ext2 rw,relatime,errors=continue 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=305176k,mode=755 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
devtmpfs /dev devtmpfs rw,relatime,size=10240k,nr_inodes=381118,mode=755 0 0
tmpfs /run/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=610340k 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
/dev/mapper/intvg1-sys_var /var ext2 rw,relatime,errors=continue 0 0
/dev/md3 /boot ext2 ro,relatime,errors=continue 0 0
/dev/mapper/intvg1-sys_usr /usr ext2 rw,relatime,errors=continue 0 0
The new sed was likely changed to include /usr in the list
of protected filesystems (it's remounted ro later).
But the new version basicly means (at least, I understand
it that way): Include all filesystems in ROTECTED_MOUNTS,
that are above the last mention of / or /usr. While the
old one was about / only.
I propose to undo the sed changes and include /usr in the
specific list of filesystems to exclude from unmounting.
See attached patch.
Can you please try to include a fix in the next point
release of stretch?
Cheers
Elrond
--- umountfs.orig 2017-07-20 09:23:26.000000000 +0200
+++ umountfs 2017-08-13 19:24:16.000000000 +0200
@@ -17,7 +17,7 @@
umask 022
do_stop () {
- PROTECTED_MOUNTS="$(sed -n ':a;/^[^ ]* \(\/\|\/usr\) /!{H;n;ba};{H;s/.*//;x;s/\n//;p}' /proc/mounts)"
+ PROTECTED_MOUNTS="$(sed -n ':a;/^[^ ]* \/ /!{H;n;ba};{H;s/.*//;x;s/\n//;p}' /proc/mounts)"
WEAK_MTPTS="" # be gentle, don't use force
REG_MTPTS=""
TMPFS_MTPTS=""
@@ -25,7 +25,7 @@
do
echo "$PROTECTED_MOUNTS" | grep -qs "^$DEV $MTPT " && continue
case "$MTPT" in
- /|/proc|/dev|/.dev|/dev/pts|/dev/shm|/dev/.static/dev|/proc/*|/sys|/sys/*|/run|/run/*|/dev/vcs)
+ /|/usr|/proc|/dev|/.dev|/dev/pts|/dev/shm|/dev/.static/dev|/proc/*|/sys|/sys/*|/run|/run/*|/dev/vcs)
continue
;;
esac
_______________________________________________
Pkg-sysvinit-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-sysvinit-devel