Package: mount Version: 2.17.2-3.3 Tags: patch On a diskless system, I installed a fresh copy of lenny from a PXE booted Debian installer. I installed to a USB drive, remade the initrd for NFS boot, placed the files on an NFS server, and PXE booted from that. No nfs-common package was installed, nor is it needed, since the kernel mounts the root with nolock, e.g.:
---------- $ cat /proc/mounts rootfs / rootfs rw 0 0 none /sys sysfs rw,nosuid,nodev,noexec 0 0 none /proc proc rw,nosuid,nodev,noexec 0 0 udev /dev tmpfs rw,size=10240k,mode=755 0 0 192.168.1.1:/exports/server/root / nfs rw,vers=3,rsize=524288,wsize=524288,namlen=255,hard,nointr,nolock,proto=tcp,timeo=7,retrans=10,sec=sys,mountproto=udp,addr=192.168.1.1 0 0 tmpfs /lib/init/rw tmpfs rw,nosuid,mode=755 0 0 usbfs /proc/bus/usb usbfs rw,nosuid,nodev,noexec 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 devpts /dev/pts devpts rw,nosuid,noexec,gid=5,mode=620 0 0 ---------- I tried upgrading to squeeze following the Release Notes. It failed in section 4.5.4, with the "apt-get upgrade", with mount.preinst requiring nfs-common in the usual way: ---------- Preparing to replace mount 2.13.1.1-1 (using .../mount_2.17.2-3.3_amd64.deb) ... You have NFS mount points currently mounted, and this version of mount requires that nfs-common be upgraded before NFS mounts will work. Aborting install. ---------- In your resolution to bug #435223 et al., it appears that you didn't consider the effect on diskless, NFS-rooted systems having no other NFS mounts. It appears that your reason for this requirement was the assumption that mount.nfs should be present if NFS mounts are present. That's not true if / is the only NFS mount ever. Current workaround: "aptitude install nfs-common", re-do the apt-get, then remove nfs-common and its auto packages through aptitude.
*** preinst.orig Mon Nov 29 13:30:46 2010 --- preinst Mon Nov 29 14:09:44 2010 *************** *** 22,28 **** if [ Debian = "$DISTRO" ]; then if [ -f /proc/mounts ] && ! chrooted; then ! NFS_IN_USE=$(sed -n '/^[^ ]* [^ ]* nfs /p' /proc/mounts) else NFS_IN_USE="" fi --- 22,30 ---- if [ Debian = "$DISTRO" ]; then if [ -f /proc/mounts ] && ! chrooted; then ! # mount.nfs is assumed to be needed if there is currently a ! # non-root NFS mount. ! NFS_IN_USE=$(awk '/^[^ ]+ [^ ]+ nfs / && !/^[^ ]+ \/ nfs /' /proc/mounts) else NFS_IN_USE="" fi