Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 710388

Summary: cannot create /root on separate volume
Product: Red Hat Enterprise Linux 6 Reporter: Tomasz Kepczynski <tomasz.kepczynski>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED WONTFIX QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.1   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-09 20:26:29 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 Tomasz Kepczynski 2011-06-03 09:44:49 UTC
Description of problem:
As in title really. I attempted to put /root on separate volume during install and both attempts (interactive install and kickstart) threw at me critical partitioning error: "This mount point is invalid. The /root directory must be on / filesystem.".
Well, this is my job to decide what goes where, don't make me redundant and I don't see any technical reason why this shouldn't be allowed.

Version-Release number of selected component (if applicable):
anaconda 13.21.117

How reproducible:
Always
 
Actual results:
anaconda does not allow putting /root on separate partition/volume

Expected results:
anaconda allows putting /root on separate partition/volume

Additional info:
Additionally I see two scenarios where separate /root volume is really beneficial:
1. read only / filesystem
2. test setup with many OSes where you want to share root home between them (and yes, I used to have setups with several Linux installations and keeping root in sync is a nightmare).
SLES has no problems putting /root on separate partition.

Comment 2 Dave Cantrell 2011-06-09 20:26:29 UTC
/root is the root user account's home directory on RHEL systems.  anaconda does not permit having /root on a filesystem other than /.  The same is true for /bin, /dev, /sbin, /etc, and /lib.

Comment 3 Tomasz Kepczynski 2011-06-10 07:52:45 UTC
Could you at least explain WHY? I do understand the reasoning for /bin, /sbin, /etc, and /lib, but I don't for /root.

BTW /dev IS on separate filesystem:
gklab-63-001:~> grep /dev /proc/mounts
udev /dev devtmpfs rw,seclabel,relatime,size=4021724k,nr_inodes=1005431,mode=755 0 0

Comment 4 Dave Cantrell 2011-06-13 21:44:47 UTC
Well, /dev is virtual.  But the /dev directory contains a handful of basic device nodes that can be used before udev starts up.

Before we started using /root for root's home directory, we used /.  So it followed that root's home directory would live on the root volume, despite being in a subdirectory.  It makes sense for the root user to be able to log in and have access to his or her home directory in instances of system problems.  Moving /root to a separate filesystem works against that safeguard.  So I guess I don't see the advantage.

"Because SuSE does it" is not a sufficient justification or use case.  Why are you wanting to put /root on its own filesystem?

Comment 5 Tomasz Kepczynski 2011-06-14 06:48:50 UTC
> It makes sense for the root user to be able to log in and have access to his or her home directory in instances of system problems. Moving /root to a separate filesystem works against that safeguard.  So I guess I don't see the advantage.

Ok, let's discuss this:
1. In case of problems with a system you are very likely to go into single user mode. Then you will be logged in / directory and not /root, so /root availability is not strictly speaking a requirement.
2. If /root is available, then it is mounted in single user mode (yes, I've just checked this).
3. Now, if system cannot mount /root at this stage there are two possibilities: a) it's on a network and I absolutely do not suggest putting /root there (anyway, I don't think partitioning screen in anaconda allows putting any directory on a network) b) volume with /root is so corrupted that if it was on / we would be in much bigger trouble.

So for me, the reasonable requirement is to put /root on local filesystem (this includes iSCSI, FC and FCoE targets if / is there), /root on the same filesystem as / is too strict.

Now I already explained why I want to separate this:
1. read only / filesystem.
2. I want to share /root between several OSes I have on the machine (multiboot).
3. You can extend the previous one to sharing /root with VMs (when used with appropriate filesystem like gfs2).
4. Additionally you don't pollute / with crap which tends to gather in home directories (and root will eat all free space, including the reserved space), and this itself can sometimes avoid boot-up/login problems.

Comment 6 Dave Cantrell 2011-07-05 20:24:22 UTC
In Fedora we follow the FHS unless there is agreement to do something different.  See:

http://fedoraproject.org/wiki/Packaging:Guidelines#Filesystem_Layout

Here's what the FHS has to say about /root:

http://www.pathname.com/fhs/pub/fhs-2.3.html#ROOTHOMEDIRECTORYFORTHEROOTUSER

And the footnote:

http://www.pathname.com/fhs/pub/fhs-2.3.html#FTN.AEN1037

The first sentence of the footnote is more or less my point:

"If the home directory of the root account is not stored on the root partition it will be necessary to make certain it will default to / if it can not be located."

If we change anaconda to allow /root on a separate filesystem, will Fedora still meet this FHS requirement?  I don't know, but I think I'm safe in saying "maybe".  I'm sure there is software in Fedora that assumes /root is on /, so for this change to really happen, the entire distribution needs to be audited to ensure it can handle /root on a separate filesystem.