[Pkg-sysvinit-devel] Bug#339023: marked as done (initscripts: umountroot fails if / is bind-mounted somewhere)

Debian Bug Tracking System owner at bugs.debian.org
Sun Jan 22 22:34:00 UTC 2006


Your message dated Sun, 22 Jan 2006 14:19:01 -0800
with message-id <E1F0nY5-0005US-97 at spohr.debian.org>
and subject line Bug#339023: fixed in sysvinit 2.86.ds1-11
has caused the attached Bug report 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 I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 14 Nov 2005 15:22:52 +0000
>From gmulas at ca.astro.it Mon Nov 14 07:22:52 2005
Return-path: <gmulas at ca.astro.it>
Received: from giacomo.dsf.unica.it
	([192.84.153.89] helo=capitanata.ca.astro.it ident=Debian-exim)
	by spohr.debian.org with esmtp (Exim 4.50)
	id 1EbgAV-0001rv-F5
	for submit at bugs.debian.org; Mon, 14 Nov 2005 07:22:52 -0800
Received: from gmulas (helo=localhost)
	by capitanata.ca.astro.it with local-esmtp (Exim 4.54)
	id 1EbgAB-0005jF-MO
	for submit at bugs.debian.org; Mon, 14 Nov 2005 16:22:31 +0100
Date: Mon, 14 Nov 2005 16:22:31 +0100 (CET)
From: Giacomo Mulas <gmulas at ca.astro.it>
Reply-To: Giacomo Mulas <gmulas at ca.astro.it>
To: Debian Bug Tracking System <submit at bugs.debian.org>
Subject: initscripts: umountroot fails if / is bind-mounted somewhere
Message-ID: <Pine.LNX.4.63.0511141621280.21836 at capitanata.ca.astro.it>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-OAC-capitanata-MailScanner: Found to be clean
X-OAC-capitanata-MailScanner-From: gmulas at ca.astro.it
Delivered-To: submit at bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE 
	autolearn=no version=2.60-bugs.debian.org_2005_01_02

Subject: initscripts: umountroot fails if / is bind-mounted somewhere
Package: initscripts
Version: 2.86.ds1-5
Severity: wishlist
Tags: patch

I ran into a subtle problem with my amd64 computer which drove me crazy for
a while, until I tracked it down. Upon shutdown or reboot, the root
filesystem would not be unmounted nor be remounted readonly, with the result 
that I always had a dirty root filesystem. It was not a big issue, since it
always had time to settle and write buffers to disk, but it was annoying.
I finally found out that this was due to having the root director
bind-mounted by default on a chroot cage (I run an amd64 bit system and have
a chrooted i386 installation for compatibility reasons). Upon shutting down,
when trying to umount the root filesystem umountroot found the line saying
/    /ia32/amd64    none    bind            0       3
and tried to umount that instead of the root filesystem, which remained
mounted rw. Since in the sid version of mount it is possible to specify that
the command must be applied only to filesystems mounted with (or without) 
some given options, I solved my problem by replacing the line
mount -n -o remount,ro /
in the umountroot script with
mount -n -O no bind -o remount,ro /
With the above, the root filesystem may have been bind-mounted any number of
times and it will cause no problems, since the bind mounts have been
umounted already at this stage and the "-O no bind" options tell mount to
ignore any entries referring to bind mounts.

While this is a rather peculiar problem, it is one which is common to any
people who bind-mount the root filesystem anywhere, and is trivial to fix
with no side-effects, with the one-liner above. It would also be nice to
come up with a solution which works on sarge as well as with sid, but I did
not dig into it since I run sid...

best regards
Giacomo

-- System Information:
Debian Release: testing/unstable
   APT prefers unstable
   APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14-turion64-jak
Locale: LANG=it_IT.UTF-8 at euro, LC_CTYPE=it_IT.UTF-8 at euro (charmap=UTF-8) (ignored: LC_ALL set to it_IT.UTF-8)

Versions of packages initscripts depends on:
ii  coreutils                     5.93-2     The GNU core utilities
ii  dpkg                          1.13.11    package maintenance system for Deb
ii  e2fsprogs                     1.38-2     ext2 file system utilities and lib
ii  libc6                         2.3.5-7    GNU C Library: Shared libraries an
ii  lsb-base                      3.0-11     Linux Standard Base 3.0 init scrip
ii  util-linux                    2.12p-8    Miscellaneous system utilities

initscripts recommends no packages.

-- no debconf information


-- 
_________________________________________________________________

Giacomo Mulas <gmulas at ca.astro.it>
_________________________________________________________________

OSSERVATORIO ASTRONOMICO DI CAGLIARI
Str. 54, Loc. Poggio dei Pini * 09012 Capoterra (CA)

Tel. (OAC): +39 070 71180 248     Fax : +39 070 71180 222
Tel. (UNICA): +39 070 675 4916
_________________________________________________________________

"When the storms are raging around you, stay right where you are"
                          (Freddy Mercury)
_________________________________________________________________

-- 
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.


---------------------------------------
Received: (at 339023-close) by bugs.debian.org; 22 Jan 2006 22:26:23 +0000
>From katie at ftp-master.debian.org Sun Jan 22 14:26:23 2006
Return-path: <katie at ftp-master.debian.org>
Received: from katie by spohr.debian.org with local (Exim 4.50)
	id 1F0nY5-0005US-97; Sun, 22 Jan 2006 14:19:01 -0800
From: Petter Reinholdtsen <pere at debian.org>
To: 339023-close at bugs.debian.org
X-Katie: $Revision: 1.65 $
Subject: Bug#339023: fixed in sysvinit 2.86.ds1-11
Message-Id: <E1F0nY5-0005US-97 at spohr.debian.org>
Sender: Archive Administrator <katie at ftp-master.debian.org>
Date: Sun, 22 Jan 2006 14:19:01 -0800
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-4.3 required=4.0 tests=BAYES_00,DONT_DELETE,
	HAS_BUG_NUMBER autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-CrossAssassin-Score: 39

Source: sysvinit
Source-Version: 2.86.ds1-11

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.86.ds1-11_i386.deb
  to pool/main/s/sysvinit/initscripts_2.86.ds1-11_i386.deb
sysv-rc_2.86.ds1-11_all.deb
  to pool/main/s/sysvinit/sysv-rc_2.86.ds1-11_all.deb
sysvinit_2.86.ds1-11.diff.gz
  to pool/main/s/sysvinit/sysvinit_2.86.ds1-11.diff.gz
sysvinit_2.86.ds1-11.dsc
  to pool/main/s/sysvinit/sysvinit_2.86.ds1-11.dsc
sysvinit_2.86.ds1-11_i386.deb
  to pool/main/s/sysvinit/sysvinit_2.86.ds1-11_i386.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 339023 at bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Petter Reinholdtsen <pere at debian.org> (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 ftpmaster at debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Sun, 22 Jan 2006 22:17:38 +0100
Source: sysvinit
Binary: sysv-rc sysvinit initscripts
Architecture: source i386 all
Version: 2.86.ds1-11
Distribution: unstable
Urgency: low
Maintainer: sysvinit maintainers <pkg-sysvinit-devel at lists.alioth.debian.org>
Changed-By: Petter Reinholdtsen <pere at debian.org>
Description: 
 initscripts - Scripts for initializing and shutting down the system
 sysv-rc    - System-V-like runlevel change mechanism
 sysvinit   - System-V-like init utilities
Closes: 55143 89481 95390 116366 160329 186880 189356 213028 220025 227540 237074 238861 242957 258290 272066 275680 286082 286479 316423 323749 327865 328582 328764 330155 331397 332309 333836 336172 338736 338801 339023 339979 340017 341075 341097 342160 342744 343596 343862 343863 343993 344001 344089 344547 344547 345267 345269 345272 345273 345321 345370 345719 345968 346139 346415
Changes: 
 sysvinit (2.86.ds1-11) unstable; urgency=low
 .
   [ Thomas Hood ]
   * rcS(5): Improve
   * sulogin(8): Improve; mention -t option  (Closes: #186880)
   * bootlogd(8): Improve; mention need for PTY support
   * initscripts postinst: Update to reflect script name changes
   * initscripts: Harmonize PATH settings
   * checkroot.sh: Don't check for need to start /sbin/update.
     We don't support pre-2.4 kernels any more.
   * checkroot.sh, mountall.sh: Run swapon with -v if VERBOSE!=no
   * Remove obsolete lintian overrides
   * Previous release also
     closes: #258290 "bootlogd: Bad file descriptor"
     closes: #327865 "bootlogd stopped working"
     closes: #328764 "bootlogd fails to start"
 .
   [ Petter Reinholdtsen ]
   * Time to upload all these changes into unstable  (Closes: #341075)
   * Revert default VERBOSE value to "yes" to reduce the amount of
     user visible changes in this upload.
 .
 sysvinit (2.86.ds1-10) experimental; urgency=low
 .
   [ Thomas Hood ]
   * bootclean: Adapt from old bootclean.sh; handle return status more
     carefully; print diagnostic messages on failures; eliminate use of
     subshells; add comments; improve deletion code
   * bootclean: Always rm /tmp/.X*-lock
   * mountall.sh: Eliminate unnecessary check for pre-2.4 Linux kernel
   * mountnfs.sh, mountall.sh: Choose different names for intnl. functions
   * mountnfs.sh: Only sleep 1 second after starting portmap; note that
     the code to start portmap will disappear someday
   * various scripts: Make more messages depend on VERBOSE being != "no"
   * various scripts: Handle return status more carefully
   * various scripts: Eliminate unnecessary uses of subshell
   * mountvirtfs -> mountkernfs.sh; mountdevsubfs -> mountdevsubfs.sh;
     mountvirtfs now calls the above two (for backward compatibility);
     mtab.sh now runs mountkernfs.sh and mountdevsubfs.sh to update
     the mtab file after mountall.sh.
   * /etc/init.d/rc: Restore PATH after sourcing an initscript
   * debian/rules:
     + Use ':', not the deprecated '.' between owner and group names
       in chown commands
     + Use '-o root' with install
   * /etc/init.d/README: Note that /etc/init.d/*.sh must have '#!/bin/sh'
     and must follow policy 10.4.
   * Override lintian and linda warnings
 .
   [ Ubuntu backports by T.H. ]
   * During shutdown and reboot take the progress bar from 100 to 0
   * Reduce diff with 2.86.ds1-6ubuntu1
 .
   Thanks to Mark Hatle and Marco d'Itri for help with this release.
 .
 sysvinit (2.86.ds1-9) experimental; urgency=low
 .
   [ Thomas Hood ]
   * Split mountdevsubfs out of mountvirtfs and run it at S04 and S37.
     [Note added in 2.86.ds1-10: these scripts were renamed]
     This should not behave any differently, but the split will allow
     packages that futz with /dev to do this at S03.
   * umountfs: Only run umount if there is something to unmount
     (Closes: #345272)
   * urandom: Set PATH so that find can be found  (Closes: #345273)
   * init: 64_init_set_PATH.dpatch: Set PATH if it's unset on re-exec
     (Closes: #345370)
   * init: 65_init_u_in_06.dpatch: Allow 'telinit u' in runlevels 0, 6
     (Closes: #345719)  People running Debian from unusual media (such
     as filesystems embedded in NTFS files) are wanting to unmount
     /sbin at the last moment and need to re-exec init to do so.
   * umountroot: Remount ro with -f on GNU/kFreeBSD  (Closes: #344547)
   * checkroot.sh, checkfs.sh: Pause for five seconds if sulogin fails
     so that the user can see the error message  (Addresses #337444)
   * Include /var/log/fsck/ in initscripts package  (Closes: #346139)
   * Replace /lib/init/functions.sh with /lib/init/mount-functions.sh
     for use by mountvirtfs and mountdevsubfs
   * various initscripts: Clean up code that reads fstab
   * various scripts: Redirect which program's stderr to /dev/null
     since the GNU version prints an error message when the command is
     not found  (Closes: #345321)
   * /etc/default/rcS: Make VERBOSE and DELAYLOGIN default to "no"
   * /etc/default/rcS: Remove descriptions of variables; leave behind
     a reference to rcS(5).  This eliminates the problem of comments
     becoming outdated without our being able to update them.
   * Remove obsolete docs
   * Make initscripts Depend on mount >= 2.11x-1  (Closes: #345968)
   * Remove obsolete dependencies on bsdutils, coreutils, dpkg, kbd and
     util-linux: the versions in question are older than oldstable, so
     any newly installed system and any system that has upgraded to
     sarge (or even woody) satisfies the constraints.
   * Remove obsolete dependency on the last package: last was forced off
     systems when they upgraded to buzz
   * Add Replaces to Conflicts: mdutils which no longer exists even in
     oldstable
   * initscripts postinst: Remove obsolete GMT-to-UTC code: this
     conversion was performed when systems were upgraded to potato
   * sysvinit: Depend on libc6 rather than Pre-Depending on it; we don't
     do anything special in the preinsts any more
   * Correct documentation of init's -e and -t options
   * Tweak descriptions
   * Add READMEs for remaining runlevel dirs  (Closes: #242957)
   * Previous release also
     closes: #227540 "skeleton: Don't include /usr/local/* in PATH"
     closes: #346415 "mountnfs.sh doesn't work with the "bg" mount option"
 .
   [ Petter Reinholdtsen ]
   * sysv-rc: Fix some typos in the startpar handling.  (Closes: #345269)
   * Add code to detect and report bad 'exit' calls in init.d scripts,
     if they kill /etc/init.d/rc.
   * Make sure sourcing work with dash /bin/sh, by using 'set $action'
     to pass arguments to the script. (Closes: #345267)
 .
   Thanks to Mark Hatle for help with this release.
 .
 sysvinit (2.86.ds1-8) experimental; urgency=low
 .
   [ Thomas Hood ]
   * Omit /run until we are sure it's needed  (Closes: #344001)
   * Previous release also
     closes: #338736 "mountvirtfs: Succeeds in various cases it should fail"
     closes: #342160 "checkroot.sh ignores fsck result"
     closes: #342744 "checkroot.sh sources mountvirtfs, yet supplies arguments"
   * Use /proc/mounts instead of /etc/mtab when unmounting  (Closes: #338801)
   * Check for files under mountpoints more thoroughly
   * initscripts.postinst:
     + Don't fail to install on file-rc systems  (Closes: #343993)
     + Don't fail to install in chroots  (Closes: #344089)
   * No longer keep the dynamic nologin flag file on the root filesystem;
     instead, keep it at /var/lib/initscripts/nologin.  Note to admins:
     initscripts's postinst symlinks /etc/nologin to the latter location.
     To switch login delaying on or off permanently, set DELAYLOGIN=no in
     /etc/default/rcS and either create or delete (respectively)
     /var/lib/initscripts/nologin.
   * mountvirtfs: Mount /dev/shm earlier; move long comment to README.Debian
   * Add 45_pidof_symlink.dpatch: Make pidof an absolute symlink
     (Closes: #343862)
   * debian/rules, 30_strip.dpatch: Strip .comment section from executables
     (Closes: #343863)
   * In umountfs, run umount with -f  (Closes: #344547)
 .
   [ Petter Reinholdtsen ]
   * Enable the startpar option as it should work now that .sh scripts
     are serialized.  The clock should no longer jump while startpar
     is used.
 .
 sysvinit (2.86.ds1-7) experimental; urgency=low
 .
   [ Petter Reinholdtsen ]
   * Add commented-out code to /etc/init.d/rc for sourcing
     *.sh scripts for runlevel 'S'.  This is preparation for fixing
     #339955.  Actually fixing it has to wait until other packages
     remove "exit" from their .sh scripts.
   * Implement progress bar support for splash screen.  Enabled when
     usplash_write is in PATH.  Patch from Scott James Remnant and Ubuntu.
 .
   [ Thomas Hood ]
   * *.sh: Make sure that these do their thing when they aren't given any
     command line arguments (as is the case when they are sourced)
   * initscripts: Improve use of log_* functions
     (Closes: #55143, #116366, #323749)
   * bootclean.sh: Do not delete symlinks-to-directories from /var/run/
     (Closes: #272066)
   * checkroot.sh: Fix double printing of 'Done checking root file system';
     mountall.sh: Fix chopped-up printing of mount information
     (Closes: #339979, #331397, #341097 and presumably closes: #332309)
   * checkroot.sh, checkfs.sh: Save fsck logs  (Closes: #189356)
     Thanks to Theodore Y. Ts'o.
   * checkroot.sh, mountvirtfs: Eliminate use of dir_writable in order to
     try to please selinux  (Closes: #333836)
   * checkroot.sh: Only run findfs for mount on /  (Closes: #275680)
     Thanks to Cameron Hutchison for the patch.
   * mountall.sh, mountnfs.sh: Split call to bootclean out into separate
     script called at the next sequence number  (Closes: #286479)
   * bootmisc.sh: Shorten motd header  (Closes: #340017)
   * bootmisc.sh: Store dynamic motd in /var/run/ and make /etc/motd a
     symbolic link.  The EDITMOTD variable no longer has any effect; to
     disable updating of the motd just point the /etc/motd symlink to a
     static file such as /etc/motd.static.
   * bootmisc.sh: Rotate dmesg log with savelog (Closes: #237074)
     and chgrp adm.
   * umountroot: Change mount command in order to exclude bind mounts of
     the root directory  (Closes: #339023)
   * Replace /etc/rc1.d/20single by /etc/rc1.d/S30killprocs and
     /etc/rc1.d/S99single so that packages can insert scripts to do
     things between the "killall5" in the former and the "exec init -t1 S"
     in the latter.  This may help to address #145280.
   * umountfs: Unmount tmpfs before swapoff and other fs's afterwards
     (Closes: #328582, hopefully without reopening #84782)
   * Make stop-bootlogd a distinct script rather than a symlink to bootlogd.
     Give it its own LSB header.
   * Add stop-bootlogd-single initscript to stop bootlogd in "single" mode
     (Closes: #213028, #220025)
   * checkfs.sh: Implement FSCKTYPES  (Closes: #89481)  Set, e.g.,
     FSCKTYPES="ext2,msdos" to fsck only file system types ext2 and msdos
     See fsck(8) for syntax.  FSCKTYPES="none" disables fsck of file
     systems (other than the root filesystem) altogether.
   * all initscripts: Set variables using common script
   * all initscripts: Fix usage messages
   * all initscripts: Allow VERBOSE to be set via the INIT_VERBOSE=yes
     kernel argument (Closes: #286082)  Experimental.  The name of the
     kernel argument may change in the future if we decide to implement
     this more generally.
   * Improve skeleton initscript
   * all scripts: Clean up; standardize indentation
   * all scripts: Use the "which" program to test for executability
   * initscripts: Experimentally include /run; include /sys in Linux
     builds
   * mountvirtfs: Mount a tmpfs on /run
   * mountvirtfs: Warn if mount point has stuff under it (Closes: #95390)
   * initscripts postinst: Mount virtual filesystems
   * initscripts preinst: Remove ancient /etc/init.d/boot conversion code
     (Closes: #343596)
   * default config files: Clean up comments
   * Make initscripts Depend on debianutils >= 2.13.1 in order to prevent
     #295850.  Note that debianutils also has to be >= 2.12.0 so that the
     "which" program is available in /bin.
   * Remove currently unneeded sysvinit Dependency on coreutils
     (Closes: #316423)
   * pidof: If the program is specified with a path, don't match processes
     of programs run from different paths  (Closes: #160329)
   * init: 40_selinux.dpatch: Remove superfluous printf argument
   * init: Add 63_init_longer_procname.dpatch  (Closes: #336172)
   * init.8: Mention that entering runlevel 1 kills all processes
     (Closes: #238861)
   * update-rc.d.8: Mention that update-rc.d will not create multiple start
     or multiple stop symlinks for a service in a single runlevel directory.
     (Closes: #330155)
   * Update FSF address
Files: 
 cca49f73a985dcc6fbf0410c3243cd14 848 admin required sysvinit_2.86.ds1-11.dsc
 7f26e6d72c29a20b3d0381a97141c21f 112802 admin required sysvinit_2.86.ds1-11.diff.gz
 801a25967fb00c616db597a464064b53 119464 admin required sysvinit_2.86.ds1-11_i386.deb
 01c5f33796185256906158ad4c967bb0 46656 admin required initscripts_2.86.ds1-11_i386.deb
 fe08677435abe9791026ad3ba4a095c6 46108 admin required sysv-rc_2.86.ds1-11_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFD0/h620zMSyow1ykRAkd0AJ9kv8MVXNUW6zYBQFSSq7rWyQYFIgCggc9E
i3nBoAmC80NrkOq2Kcm6Xvc=
=/H8P
-----END PGP SIGNATURE-----




More information about the Pkg-sysvinit-devel mailing list