aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <w.d.hubbs@gmail.com>2015-10-07 11:35:31 -0500
committerWilliam Hubbs <w.d.hubbs@gmail.com>2015-10-07 11:35:31 -0500
commit6fa0d6318bcd5c98548cff2ff840bca116892ca5 (patch)
tree8fcf5b06d2faa60b5b1ac1387c3af6e169cec71e
parent80d3928b0d13f09a9c1e82bd27c9fff943d84d43 (diff)
mtab: fix update logic
This advises users to remove mtab from their runlevels if /etc/mtab is a symlink, and it creates the symlink if /etc/mtab does not exist on a system. X-Gentoo-Bug: 560060 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=560060
-rw-r--r--init.d/mtab.in15
1 files changed, 6 insertions, 9 deletions
diff --git a/init.d/mtab.in b/init.d/mtab.in
index 51575b43..1442ffd6 100644
--- a/init.d/mtab.in
+++ b/init.d/mtab.in
@@ -12,21 +12,18 @@ depend()
start()
{
- [ -L /etc/mtab ] && return 0
local rc=0
ebegin "Updating /etc/mtab"
- if ! checkpath -W /etc; then
+ if [ -L /etc/mtab ] ; then
+ ewarn "/etc/mtab is a symlink, not updating."
+ ewarn "FYI - You can safely remove mtab from your runlevels."
+ elif ! checkpath -W /etc; then
rc=1
elif [ ! -e /etc/mtab ]; then
+ einfo "Creating mtab symlink"
ln -snf /proc/self/mounts /etc/mtab
else
- ewarn "The support for updating /etc/mtab as a file is"
- ewarn "deprecated and will be removed in the future."
- ewarn "Please run the following command as root on your system."
- ewarn
- ewarn "ln -snf /proc/self/mounts /etc/mtab"
- ewarn
-
+ einfo "Updating mtab file"
# With / as tmpfs we cannot umount -at tmpfs in localmount as that
# makes / readonly and dismounts all tmpfs even if in use which is
# not good. Luckily, umount uses /etc/mtab instead of /proc/mounts