Bug#763751: systemd: mounts automounts on boot even with option "noauto"

Jakob Schürz wertstoffe at nurfuerspam.de
Sat Oct 4 11:12:28 BST 2014


Am 2014-10-03 09:54, schrieb Jakobus Schürz:
> Am 2014-10-02 17:44, schrieb Michael Biebl:
>> Am 02.10.2014 um 17:34 schrieb Jakob Schürz:
>>> I get this message (debug systemd on boot, writing to dmesg)
>>>
>>> [   29.064987] systemd[1]: Got direct mount request on
>>> /var/cache/backup, triggered by 1771 (mountpoint)
>>
>> If I read that correct, it's the mountpoint binary.
>> You might start grepping for mountpoint in your /etc directory. Maybe
>> that turns something up.
> 
> Ok... I didn't know a Binary called mountpoint. :) Now i know ist.
> 
> And a grep in /etc for "mountpoint" gave me
> 
> root at pluto[23:05]:/etc # grep mountpoint * -R
> grep: warning: alternatives/glx/libGL.so-master: Rekursive
> Verzeichnisschleife.
> Übereinstimmungen in Binärdatei alternatives/php.
> grep: warning: alternatives/libGL.so-master/libGL.so-master: Rekursive
> Verzeichnisschleife.
> ca-certificates/update.d/jks-keystore:if ! mountpoint -q /proc; then
> complete.tcsh:    complete attach 'n/-mountpoint/d/' 'n/-m/d/'
> 'n/-type/(afs nfs rvd ufs)/' \
> complete.tcsh:			  mountpoint noexplicit explicit type mountoptions \
> grep: cups/ssl/server.key: Datei oder Verzeichnis nicht gefunden
> default/cryptdisks:# mountpoints by space.
> init.d/udev:  if mountpoint -q /dev/pts/; then
> init.d/udev:  if mountpoint -q /dev/shm/; then
> init.d/udev:  mountpoint -q /run/ || return 0
> init.d/udev:    if mountpoint -q /dev/; then
> init.d/mountnfs.sh:		while ! mountpoint -q $mountpt; do
> init.d/dbus:  if ! mountpoint -q /proc/ ; then
> init.d/checkroot.sh:		ddev="$(mountpoint -qx $rootdev)"
> init.d/checkroot.sh:		rdev="$(mountpoint -d /)"
> init.d/checkroot.sh:			if [ "$(mountpoint -qx /dev/root)" = "4:0" ]
> rc2.d/S19dbus:  if ! mountpoint -q /proc/ ; then
> rc3.d/S19dbus:  if ! mountpoint -q /proc/ ; then
> rc4.d/S19dbus:  if ! mountpoint -q /proc/ ; then
> rc5.d/S19dbus:  if ! mountpoint -q /proc/ ; then
> rcS.d/S17mountnfs.sh:		while ! mountpoint -q $mountpt; do
> rcS.d/S07checkroot.sh:		ddev="$(mountpoint -qx $rootdev)"
> rcS.d/S07checkroot.sh:		rdev="$(mountpoint -d /)"
> rcS.d/S07checkroot.sh:			if [ "$(mountpoint -qx /dev/root)" = "4:0" ]
> rcS.d/S02udev:  if mountpoint -q /dev/pts/; then
> rcS.d/S02udev:  if mountpoint -q /dev/shm/; then
> rcS.d/S02udev:  mountpoint -q /run/ || return 0
> rcS.d/S02udev:    if mountpoint -q /dev/; then
> smbnetfs.conf:# PS: You can use "cd
> mountpoint/domain:user:password at computer"
> grep:
> systemd/system/network-online.target.wants/home-user-dir1-dir2-dir3-dir4.automount:
> Datei oder Verzeichnis nicht gefunden
> grep:
> systemd/system.back/backup-automount.target.wants/var-cache-backup.automount:
> Datei oder Verzeichnis nicht gefunden
> grep:
> systemd/system.back/home-user-Musik-System\x2dServer.device.requires/systemd-cryptsetup at home.service:
> Datei oder Verzeichnis nicht gefunden
> 
> And tadaaa, "mountpoint" is the devil.
> When i look on the result above, it could only be "init.d/mountnfs.sh"
> so i try to deactivate nfs-mounts, and report what happens.
> 
>>
>>> But i have no idea, what process 1771 is...
>>>
>>> Another guy in debianforum.de has the same effect. And i don't know,
>>> which process wants access to the automount-ponts on bootup? How can i
>>> find this out?
>>>
>>> And the mounting of this automount-points on boottime only happens, 
>>> when
>>> systemd is involved... Try it on your own.
>>
>> Well, obviously. automounts are systemd specific.
> 
> If this is true, what i thought before, then it's a fault in design. And
> further u think it's a good aproach, that more intelligent people think
> about this. Because I think I'm not the only one with this problem. And
> a "noauto" in fstab should be exact this - even with automount-option.
> 
> regards
> 
> Jakob
> 
After make my recherches if found /etc/init/mtab.sh and
/lib/init/mount-functinons.sh

mtab.sh calls the function "domount" from mount-functions.sh. The Option
"noauto" isn't passed to this function, but... automountpoints are
marked with "systemd-1" in mtab and /proc/mount as DEVNAME

The script asks only if $DEVNAME is zero. So i added some lines
After this lines
	# We give file system type as device name if not specified as
	# an argument
	if [ -z "$DEVNAME" ] ; then
	    DEVNAME=$FSTYPE
	fi

i added this:
	case "$DEVNAME" in
		systemd-1)
			return
			;;
	esac

so automount-points did not get mounted on boot anymore.

This belongs to

root at debian: # apt-file search mount-functions.sh
initscripts: /lib/init/mount-functions.sh

Should I file a bugreport to initscripts?

jakob




More information about the Pkg-systemd-maintainers mailing list