Your message dated Sat, 16 Apr 2011 16:08:33 +0000
with message-id <[email protected]>
and subject line Bug#186892: fixed in sysvinit 2.88dsf-13.3
has caused the Debian Bug report #186892,
regarding sysvinit: patches for RO / and /run support
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
186892: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=186892
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: sysvinit
Version: 2.84-3
Severity: wishlist
Tags: patch
Hi,
after the big flamewar about writing to /etc on debian-devel again I
finaly implemented the suggestion of a /run and packaged it all up.
The patch changes nothing for the current setup but opens the way for
the admin to create a /run and move/links files there.
README.read-only-root describes the steps to take and what remains to
be addressed.
Once this is included other packages can start moving their files to a
more fitting place if so configured. As it is a base system with a RO
/ will give out some errors (see readme file) but they can be savely
ignored since they don't affect a correctly setup system.
MfG
Goswin
-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux dual 2.5.66 #5 SMP Sun Mar 30 00:40:11 CET 2003 i686
Locale: LANG=C, LC_CTYPE=de_DE
Versions of packages sysvinit depends on:
ii dpkg 1.10.9 Package maintenance system for Deb
ii e2fsprogs 1.32-2 The EXT2 file system utilities and
ii libc6 2.3.1-15 GNU C Library: Shared libraries an
ii mount 2.11z-1 Tools for mounting and manipulatin
ii util-linux 2.11y-2 Miscellaneous system utilities.
-- no debconf information
======================================================================
diff -Nurd sysvinit-2.84/debian/changelog sysvinit-2.84-mrvn/debian/changelog
--- sysvinit-2.84/debian/changelog 2003-03-30 23:33:30.000000000 +0200
+++ sysvinit-2.84-mrvn/debian/changelog 2003-03-30 23:33:19.000000000 +0200
@@ -1,3 +1,22 @@
+sysvinit (2.84-3.3) unstable; urgency=low
+
+ * Store path to volatile data in /etc/volatile.conf
+ * default lokation is /etc to behave as before
+
+ -- Goswin von Brederlow <[email protected]> Sun, 30
Mar 2003 23:35:26 +0200
+
+sysvinit (2.84-3.2) unstable; urgency=low
+
+ * /usr/share/doc/sysvinit/exmaples/README.read-only-root added
+
+ -- Goswin von Brederlow <[email protected]> Fri, 28
Mar 2003 20:52:26 +0200
+
+sysvinit (2.84-3.1) unstable; urgency=low
+
+ * changed checkroot.sh to allow for /etc/mtab on /mem
+
+ -- Goswin von Brederlow <[email protected]> Fri, 21
Mar 2003 19:26:26 +0200
+
sysvinit (2.84-3) unstable; urgency=low
* Upload into unstable of 2.84-3 so 2.84-2woody1 can go into
diff -Nurd sysvinit-2.84/debian/conffiles sysvinit-2.84-mrvn/debian/conffiles
--- sysvinit-2.84/debian/conffiles 2003-03-30 23:33:30.000000000 +0200
+++ sysvinit-2.84-mrvn/debian/conffiles 2003-03-30 23:33:19.000000000 +0200
@@ -12,3 +12,4 @@
/etc/init.d/umountfs
/etc/init.d/umountnfs.sh
/etc/init.d/urandom
+/etc/volatile.conf
diff -Nurd sysvinit-2.84/debian/etc/init.d/checkroot.sh
sysvinit-2.84-mrvn/debian/etc/init.d/checkroot.sh
--- sysvinit-2.84/debian/etc/init.d/checkroot.sh 2003-03-30
23:33:30.000000000 +0200
+++ sysvinit-2.84-mrvn/debian/etc/init.d/checkroot.sh 2003-03-30
23:33:19.000000000 +0200
@@ -27,6 +27,9 @@
rootcheck=yes
swap_on_md=no
devfs=
+volatile_mnt="`cat /etc/volatile.conf`"
+have_volatile_mnt=no
+fsck_volatile_mnt=no
while read fs mnt type opts dump pass junk
do
case "$fs" in
@@ -45,6 +48,15 @@
;;
esac
[ "$type" = devfs ] && devfs="$fs"
+ if [ "$mnt" = "$volatile_mnt" ]; then
+ # we have /run/
+ have_volatile_mnt=yes
+ case "$fs" in
+ /dev/*)
+ # $volatile_mnt is on a real fs so fsck it
+ fsck_volatile_mnt=yes
+ esac
+ fi
[ "$mnt" != / ] && continue
rootopts="$opts"
[ "$pass" = 0 -o "$pass" = "" ] && rootcheck=no
@@ -161,19 +173,78 @@
fi
#
+# Check the $volatile_mnt file system.
+#
+if [ ! -f /fastboot ] && [ $fsck_volatile_mnt = yes ]
+then
+ if [ -f /forcefsck ]
+ then
+ force="-f"
+ else
+ force=""
+ fi
+ if [ "$FSCKFIX" = yes ]
+ then
+ fix="-y"
+ else
+ fix="-a"
+ fi
+ spinner="-C"
+ case "$TERM" in
+ dumb|network|unknown|"") spinner="" ;;
+ esac
+ [ `uname -m` = s390 ] && spinner="" # This should go away
+ echo "Checking $volatile_mnt file system..."
+ fsck $spinner $force $fix "$volatile_mnt"
+ #
+ # If there was a failure, drop into single-user mode.
+ #
+ # NOTE: "failure" is defined as exiting with a return code of
+ # 2 or larger. A return code of 1 indicates that file system
+ # errors were corrected but that the boot may proceed.
+ #
+ if [ $? -gt 1 ]
+ then
+ # Surprise! Re-directing from a HERE document (as in
+ # "cat << EOF") won't work, because the root is read-only.
+ echo
+ echo "fsck for $volatile_mnt failed. Please repair manually and reboot."
+ echo "Please note that the root file system is currently mounted"
+ echo "read-only and $volatile_mnt is not mounted. To remount /"
+ echo "read-write:"
+ echo
+ echo " # mount -n -o remount,rw /"
+ echo
+ echo "CONTROL-D will exit from this shell and REBOOT the system."
+ echo
+ # Start a single user shell on the console
+ /sbin/sulogin $CONSOLE
+ reboot -f
+ fi
+fi
+
+#
# If the root filesystem was not marked as read-only in /etc/fstab,
# remount the rootfs rw but do not try to change mtab because it
-# is on a ro fs until the remount succeeded. Then clean up old mtabs
-# and finally write the new mtab.
+# is on a ro fs until the remount succeeded. If $volatile_mnt
+# was found in /etc/fstab mount it and copy skeleton files. Then
+# clean up old mtabs and finally write the new mtab.
#
mount -n -o remount,$rootmode /
-if [ "$rootmode" = rw ]
+if [ "$have_volatile_mnt" = yes ]
then
- rm -f /etc/mtab~ /etc/nologin
- : > /etc/mtab
- mount -f -o remount /
- mount -f /proc
- [ "$devfs" ] && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs"
+ mount -n "$volatile_mnt"
+ rm -rf "$volatile_mnt"/*
+ cp -a /etc/volatile-skel/ "$volatile_mnt"/
+fi
+[ "$rootmode" = rw ] && rm -f /etc/mtab~ /etc/nologin
+if [ "$rootmode" = rw ] || [ "$have_volatile_mnt" = yes ]
+then
+ : > /etc/mtab || true
+ mount -f -o remount /
+ [ "$have_volatile_mnt" = yes ] && mount -f "$volatile_mnt"
+ mount -f /proc
+ [ "$devfs" ] && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs"
fi
: exit 0
diff -Nurd sysvinit-2.84/debian/etc/volatile.conf
sysvinit-2.84-mrvn/debian/etc/volatile.conf
--- sysvinit-2.84/debian/etc/volatile.conf 1970-01-01 01:00:00.000000000
+0100
+++ sysvinit-2.84-mrvn/debian/etc/volatile.conf 2003-03-30 23:33:19.000000000
+0200
@@ -0,0 +1 @@
+/etc
diff -Nurd sysvinit-2.84/debian/examples/README.read-only-root
sysvinit-2.84-mrvn/debian/examples/README.read-only-root
--- sysvinit-2.84/debian/examples/README.read-only-root 1970-01-01
01:00:00.000000000 +0100
+++ sysvinit-2.84-mrvn/debian/examples/README.read-only-root 2003-03-30
23:33:19.000000000 +0200
@@ -0,0 +1,68 @@
+Things to do to use a read-only / filesystem:
+
+- Some filesystem must be writeable. The prefered mountpoint is
+ /run. The mountpoint you decide to use must be configured in
+ /etc/volatile.conf. If you go for a ramdsik you need to create a
+ filesystem on it before checkroot.sh. If /run is no virtual
+ filesystem (deduced by being on /dev/*, ramdisk is a virtual device
+ but not a virtual filesystem) its fs_passno (the sixth field in the
+ /etc/fstab file) must be 0. It will allways be checked after root is
+ checked regardless of the number and may not be checked again by
+ checkall.sh (issuing a fsck -A). If you don't want it to be checked
+ at all hack checkroot.sh.
+
+ The easiest thing here is a simple tmpfs.
+
+- /dev needs to be writable, devfs does the job fine but you need to
+ adjust your inittab and fstab. If you use a ramdisk you have to
+ create and mount it yourself. If you create its own filesystem you
+ have to fsck and mount it yourself. In both cases you also need a
+ mini /dev on / containing the device node for the real /dev. Using
+ /run/dev as dev is the next best thing to devfs. (see volatile-skel)
+
+ The easiest thing here is devfs.
+
+- /etc/volatile-skel can contain any dirs/links/files that have to be
+ present on /run. If you don't want to use devfs you can place your
+ dev tree there and it will be copied to /run/dev with each boot.
+
+- create a link from /run/mtab to /proc/mounts on the real /, not on
+ /run. Create a mini /run/dev now too if you want to use it. Only
+ then mount the real /run.
+
+- link /etc/mtab to /run/mtab (you might want to move it there first)
+
+- link /etc/network/ifstate to /run/ifstate (move it first too)
+
+- Set EDITMOTD="no" in /etc/default/rcS because /etc/ is RO
+- Set DELAYLOGIN="no" in /etc/default/rcS because /etc/ is RO
+
+
+TODO:
+/etc/nologin
+/lib/modules
+/etc/resolv.conf
+lvm
+raid
+ntpd
+hwclock
+
+
+Current errors with / RO I currently get:
+
+boot:
+
+Calculating module dependencies... depmod: Can't open
/lib/modules/2.2.22/modules.dep for writing
+
+mount: /dev/hda3 already mounted in /run
+
+Running 0dns-down to make sure resolv.conf is ok...chmod: changing permissions
of '/etc/resolv.conf': Read-only file system
+
+
+halt:
+
+hwclock:...
+
+umount2: Device or resource busy
+umount: /dev/hda3 busy - remounted read-only
+can't create lock file /run/mtab~.265: Read-only file system (use -n flag to
override)
--- End Message ---
--- Begin Message ---
Source: sysvinit
Source-Version: 2.88dsf-13.3
We believe that the bug you reported is fixed in the latest version of
sysvinit, which is due to be installed in the Debian FTP archive:
initscripts_2.88dsf-13.3_amd64.deb
to main/s/sysvinit/initscripts_2.88dsf-13.3_amd64.deb
sysv-rc_2.88dsf-13.3_all.deb
to main/s/sysvinit/sysv-rc_2.88dsf-13.3_all.deb
sysvinit-utils_2.88dsf-13.3_amd64.deb
to main/s/sysvinit/sysvinit-utils_2.88dsf-13.3_amd64.deb
sysvinit_2.88dsf-13.3.diff.gz
to main/s/sysvinit/sysvinit_2.88dsf-13.3.diff.gz
sysvinit_2.88dsf-13.3.dsc
to main/s/sysvinit/sysvinit_2.88dsf-13.3.dsc
sysvinit_2.88dsf-13.3_amd64.deb
to main/s/sysvinit/sysvinit_2.88dsf-13.3_amd64.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Roger Leigh <[email protected]> (supplier of updated sysvinit package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160
Format: 1.8
Date: Sat, 16 Apr 2011 01:17:29 +0100
Source: sysvinit
Binary: sysvinit sysvinit-utils sysv-rc initscripts
Architecture: source amd64 all
Version: 2.88dsf-13.3
Distribution: experimental
Urgency: low
Maintainer: Debian sysvinit maintainers
<[email protected]>
Changed-By: Roger Leigh <[email protected]>
Description:
initscripts - scripts for initializing and shutting down the system
sysv-rc - System-V-like runlevel change mechanism
sysvinit - System-V-like init utilities
sysvinit-utils - System-V-like utilities
Closes: 186892 353943 378776 406685 423405 481546 483643 503805 530582 564635
585543 599241 599734 607136 612594 616571 620191 620735
Changes:
sysvinit (2.88dsf-13.3) experimental; urgency=low
.
[ Roger Leigh ]
* Non-maintainer upload.
* Support for new top-level directory /run to replace /var/run,
/var/lock, /dev/shm and /lib/init/rw as a place to store transient
writable data which should not be preserved across a system
reboot (Closes: #186892, #616571, #620191). /run fixes existing
issues with RAMRUN and RAMLOCK options using tmpfs on /var/run and
/var/lock (Closes: #423405, #481546, #564635, #607136, #620735).
Additionally, /run/shm replaces /dev/shm and may share the same
tmpfs as /run if RAMSHM is set to "no" in /etc/default/rcS. /tmp
may also be configured to be a tmpfs if RAMTMP is set to "yes" in
/etc/default/rcS. /tmp may also be configured to use /run directly if
it is symlinked to /run/tmp, for example.
Summary:
/var/run → /run
/var/lock → /run/lock
/dev/shm → /run/shm
/lib/init/rw → /run (not transitioned automatically)
/dev/.* → /run (not transitioned automatically)
These changes do not take effect until the system is rebooted as
is currently done for /lib/init/rw setup. Prior to a reboot, the
paths are made available via bind/nullfs/firmlink mounts, depending on
the platform. Following a reboot, the old paths will be converted to
symlinks, or bind/nullfs/firmlink mounts where symlinking is not
possible, to allow access via either the old or new paths, to permit
programs using the old paths to transition to use the new paths for
wheezy.
- debian/initscripts.postinst:
Take chroot detection logic from udev postinst (existing logic was
broken). Add detection logic for vserver environments and Hurd.
Trigger reboot to complete transition.
If the system has not yet transitioned to a tmpfs-based /run, set up
bind mounts as follows:
/var/run → /run
/var/lock → /run/lock
/dev/shm → /run/shm
On reboot, the system will complete the migration to a tmpfs-based
/run; this creates the directory heierachy from the old paths to
enable the use of the new /run paths prior to a restart. This means
packages may transition to using /run with a versioned dependency
upon initscripts.
Remove special handling for RAMRUN and RAMLOCK, which is now taken
care of by /run.
If in a chroot environment, just create symlinks from the new names
to the existing locations, since otherwise the changes would be
lost, and since rcS scripts aren't run the transition won't
complete.
- debian/src/initscripts/Makefile:
Provide top-level /run.
- debian/src/initscripts/doc/README.Debian:
Document new use of RUN_SIZE and LOCK_SIZE.
Document use of /run rather than /lib/init/rw.
Document use of SHM_SIZE and TMP_SIZE.
- debian/src/initscripts/etc/init.d/checkroot.sh:
Use /run in place of /lib/init/rw.
- debian/src/initscripts/etc/default/tmpfs:
Document TMPFS_SIZE, RUN_SIZE and LOCK_SIZE (Closes: #483643).
Document TMP_SIZE and SHM_SIZE.
- debian/src/initscripts/etc/init.d/mountkernfs.sh:
Create /run, /run/sendsigs.omit.d and /run/lock.
Mount /run/lock as a separate tmpfs if RAMLOCK=yes.
/run/lock has 01777 permissions to match /var/lock.
Mount /tmp as a separate tmpfs if RAMTMP=yes or / is being mounted
read-only (Closes: #503805, #585543).
Drop mounting of /var/run and /var/lock.
- debian/src/initscripts/etc/init.d/mountdevsubfs.sh:
Create /run/shm. Mount /run/shm as a separate tmpfs if RAMSHM=yes.
- debian/src/initscripts/etc/init.d/mtab.sh:
domtab mirrors behaviour of domount in mount-functions exactly, to
prevent duplicate mounts (required for bind mount support).
Bind mount /run/init and drop mounting of /var/run. Mount /run/lock
in place of /var/lock.
Mount /tmp if RAMTMP=yes.
Mount /run/shm if RAMSHM=yes.
- debian/src/initscripts/etc/init.d/sendsigs:
Use new paths:
files: /run/sendsigs.omit /lib/init/rw/sendsigs.omit
dirs: /run/sendsigs.omit.d/ /lib/init/rw/sendsigs.omit.d/
- debian/src/initscripts/etc/init.d/umountfs:
Ignore /run. Continue to ignore /lib/init/rw in order to handle
clean shutdown. No longer ignore /var/run and /var/lock.
- debian/src/initscripts/etc/init.d/umountnfs.sh:
Check for presence of .ramfs than configuration variable when
skipping /var/run and /var/lock.
Ignore /run. Continue to ignore /lib/init/rw in order to handle
clean shutdown. No longer ignore /var/run and /var/lock.
- debian/src/initscripts/lib/init/bootclean.sh
Don't clean /var/run and /var/lock (Closes: #378776). Because
these directories are now a tmpfs, cleaning no longer makes sense.
- debian/src/initscripts/lib/init/tmpfs.sh:
Read /etc/default/tmpfs and provide defaults if unset.
- debian/src/initscripts/lib/init/mount-functions.sh:
Support bind mounts in domount() (Closes: #353943).
Drop support for mounting /var/run and /var/lock as separate
tmpfs filesystems. Symlink /var/run to /run and /var/lock to
/run/lock if possible. If /var/run and /var/lock are directories,
attempt to remove and symlink if successful, or else bind mount.
- debian/src/initscripts/lib/init/vars.sh:
Read /etc/default/rcS and provide defaults if unset.
- debian/src/initscripts/man/rcS.5:
Drop documentation of RAMRUN.
Update documentation for RAMLOCK (Closes: #406685).
Document RAMTMP and RAMSHM.
- debian/src/initscripts/share/default.rcS:
Remove RAMRUN.
Add RAMSHM and RAMTMP.
RAMLOCK, RAMSHM and RAMTMP default to enabled for new installs.
.
[ Michael Biebl ]
* Remove dead usplash support code (Closes: #599241, #599734, #612594).
.
[ Martin F. Krafft ]
* Add comments to /etc/default/rcS (Closes: #530582).
.
[ Samuel Thibault ]
Hurd portability for initscripts postinst and init scripts.
Hurd does not currently support tmpfs mounts, but will do in the
future. Use firmlinks in place of bind mounts.
Checksums-Sha1:
be9d988363ea206734abf37e28aa05c0e6562b4e 1532 sysvinit_2.88dsf-13.3.dsc
de3efda313a5c2f31d54eadeeff76b161da65156 172561 sysvinit_2.88dsf-13.3.diff.gz
b78268833a44e50f9cd3e2f9c973e586e1950092 123172 sysvinit_2.88dsf-13.3_amd64.deb
124dd7d5976ab932b12836aa034285adf38ebadc 123756
sysvinit-utils_2.88dsf-13.3_amd64.deb
549bda85e582e268f0c845f510af1f15c0a78e23 75664
initscripts_2.88dsf-13.3_amd64.deb
b2825862ee97b31ff274955be71a231546dd7c83 76464 sysv-rc_2.88dsf-13.3_all.deb
Checksums-Sha256:
07d58ffae680f2875127b9192a7e2d9e4ac5d43df44592d5c353992e869352a6 1532
sysvinit_2.88dsf-13.3.dsc
661a477552f9be1a0f1f112b392a0f18f6007ca5490fc94079c771f90671cfcf 172561
sysvinit_2.88dsf-13.3.diff.gz
4c1472aef05058062225daddf11d4390824a73b7bdea886508b26b1f6722495f 123172
sysvinit_2.88dsf-13.3_amd64.deb
7990833fcea2c8b52bf91f7e2dfce748ec285270926aa2f86ffc3dcf8e9881fd 123756
sysvinit-utils_2.88dsf-13.3_amd64.deb
5f9af575d548648a96c07412df3c4a83fde14575b3cc714b16203211736795b2 75664
initscripts_2.88dsf-13.3_amd64.deb
dd1393d8206bb5b320d42f92b100636108396edb59fb993a69823aea04cae57a 76464
sysv-rc_2.88dsf-13.3_all.deb
Files:
ce5a50face05beafa6cab9642a0bb95a 1532 admin required sysvinit_2.88dsf-13.3.dsc
6dbe29e91350698e63857ae24de5ffbf 172561 admin required
sysvinit_2.88dsf-13.3.diff.gz
7518abcfd4f81b48129b56d32e0ae9a8 123172 admin required
sysvinit_2.88dsf-13.3_amd64.deb
9a672f235a3a1cae9b0435ee3397c41c 123756 admin required
sysvinit-utils_2.88dsf-13.3_amd64.deb
281d99c48bda7dd1abf32b74c5f91ab2 75664 admin required
initscripts_2.88dsf-13.3_amd64.deb
c802c38a538c6e39e05b6d079833e4f9 76464 admin required
sysv-rc_2.88dsf-13.3_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEAREDAAYFAk2puNAACgkQVcFcaSW/uEgMKwCg7OelUXpt8gjS5XCQJ6fdnL8N
cvMAniD5GrfZsHPB8tn1OIkv3OQNnDoB
=KEGe
-----END PGP SIGNATURE-----
--- End Message ---
_______________________________________________
Pkg-sysvinit-devel mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/pkg-sysvinit-devel