Bug 230

Summary: makewhatis expects /usr to be rw
Product: [Retired] Red Hat Linux Reporter: Marc MERLIN <marc_soft>
Component: manAssignee: David Lawrence <dkl>
Status: CLOSED NOTABUG QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: 5.2   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1998-12-04 22:10:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marc MERLIN 1998-11-30 10:00:14 UTC
Resending old report to bugzilla.

This "bug" doesn't show on a stock installation.

The problem is that makewhatis is non FHS compliant (since
one is supposed to be able to mount /usr as read
only)

If you replace the makewhatis cron job with the following
script, it should catch the most common setups (it won't
work though if for instance /usr/local/man is a mount point)

#!/bin/bash
#
# By marcsoft
(07/27/98)

USR=no
USRLOCAL=no
if [ ! -z "`cat /proc/mounts  | grep '/usr ' | grep ro`" ];
then

USR=yes
        mount -o remount,rw
/usr
fi
if [ ! -z "`cat /proc/mounts  | grep '/usr/local ' | grep
ro`" ]; then

USRLOCAL=yes
        mount -o remount,rw
/usr/local
fi

makewhatis
-w

if [ $USR = "yes" ];
then
        mount -o remount,ro
/usr
fi
if [ $USRLOCAL = "yes" ];
then
        mount -o remount,ro
/usr/local
fi

Comment 1 David Lawrence 1998-12-04 22:10:59 UTC
This would be nice ideally but it unfortunately cannot happen
realistically. A multiuser machine requires /usr to be accessible most
of the time. When root wants to upgrade something, they would need to
unmount the partition and then remount rw in order to upgrade and then
back again. This would cause interruption. Most of the /usr tree is
already non writable by users other than root regardless.

Comment 2 Marc MERLIN 1998-12-04 22:20:59 UTC
You don't need to umount /usr to remount as read write, there is no
interruption involved.

I use:
magic:~$ more /var/local/scr/rw
#!/bin/sh

echo Remounting /usr read-write
if [ ! -z "`cat /proc/mounts  | grep '/usr '`" ]; then
        mount -o remount,rw /usr
fi
if [ ! -z "`cat /proc/mounts  | grep '/usr/local '`" ]; then
        mount -o remount,rw /usr/local
fi

/usr has been read only on my systems for over two years with no
problems whatsoever (except the occasional script that I need to fix).
The main reason for having /usr ro is to prevent long fscks and
possible filesystem corruption when a crash/power outage does occur.

Note that it is still fine with me if you discard this though :-)