Bug 184228 - /sbin/fixfiles depends on files in /usr
Summary: /sbin/fixfiles depends on files in /usr
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: policycoreutils
Version: 4.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Daniel Walsh
QA Contact: Ben Levenson
URL:
Whiteboard:
Depends On:
Blocks: 176344
TreeView+ depends on / blocked
 
Reported: 2006-03-07 15:23 UTC by Bastien Nocera
Modified: 2007-11-30 22:07 UTC (History)
2 users (show)

Fixed In Version: RHBA-2007-0227
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-05-01 22:45:40 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2007:0227 0 normal SHIPPED_LIVE policycoreutils bug fix update 2007-04-27 21:37:00 UTC

Description Bastien Nocera 2006-03-07 15:23:42 UTC
policycoreutils-1.18.1-4.7

/sbin/fixfiles (which might be called by /etc/rc.sysinit) depends on
/usr/sbin/setfiles which might not be available if /usr isn't mounted.

Comment 1 Daniel Walsh 2006-03-10 14:39:43 UTC
It should be moved to /usr/sbin, although I don't think it is ever used without
/usr being mounted.

Comment 2 Frank Hirtz 2006-03-10 15:18:40 UTC
If SELinux needs to be relabled per the check in rc.sysinit, then this will be
called. If the client has /usr non-locally mounted, it won't be present should
this happen, causing a problem.

Comment 3 Daniel Walsh 2006-03-10 21:46:23 UTC
Then the check needs to mound /usr, since relabeling without /usr is probably a
waste of time.

Comment 4 Frank Hirtz 2006-03-10 21:55:58 UTC
I don't believe that it's realistic to have /usr mounted in sysinit, especially
for a network mounted /usr as there're a good number of needed services which
haven't happened yet.

In the more general sense, we have a longer term request in to clean up /usr
dependencies in initscripts.

Comment 6 Daniel Walsh 2006-04-11 18:42:45 UTC
fixfiles is only called in /etc/rc.sysinit after /usr is mounted.

Comment 7 Frank Hirtz 2006-04-17 21:06:06 UTC
It would appear that is only the case if /usr is local though It looks like
rc.sysinit explicitly mounts local filesystems, checks quotas and then checks to
see if a relabel is needed. If /usr is a non-local share, it's not mounted yet
and since /sbin/fixfiles calls /usr/sbin/setfiles, it breaks. Am I misreading
what's going on here? 

Comment 8 Daniel Walsh 2006-04-19 10:47:26 UTC
Ok a non local /usr would be a problem.

Dan

Comment 12 RHEL Program Management 2006-08-18 16:33:33 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 13 Eric Hagberg 2006-08-31 16:20:34 UTC
I'd also like to point out that relabelling everything except /usr isn't
necessarily a waste of time - especially if /usr is a readonly share (not even
writable by root. Relabelling everything else in the local filesystem is
probably a good thing and you don't even have to do anything special to avoid
attempting to relabel stuff in /usr, which can't be done anyway and would likely
generate a lot of errors if it was attempted.

Comment 15 Daniel Walsh 2007-01-29 15:25:11 UTC
Fixed in 1.18.1-4.10

Comment 19 Red Hat Bugzilla 2007-05-01 22:45:41 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2007-0227.html



Note You need to log in before you can comment on or make changes to this bug.