Fedora 17’s unified filesystem (/usr-move)

Daniel J Walsh dwalsh at redhat.com
Fri Jan 27 15:08:15 UTC 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/27/2012 08:10 AM, Harald Hoyer wrote:
> Hello Testers and rawhide Users,
> 
> Fedora 17 will locate the entire base operating system in /usr. The
> directories /bin, /sbin, /lib, /lib64 will only be symlinks: /bin →
> /usr/bin /sbin → /usr/sbin /lib → /usr/lib /lib64 → /usr/lib64
> 
> Some reasoning behind this change is outlined here: 
> http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge
>
>  The official Fedora 17 feature page is here: 
> https://fedoraproject.org/wiki/Features/UsrMove
> 
> The needed changes to implement the unified filesystem are about to
> land in rawhide soon. New installations of rawhide/Fedora 17 will
> install the symlinks right away, and no special care needs to be
> taken
> 
> Currently installed systems need some manual steps to convert the
> current system to match the layout of rawhide/Fedora 17. After
> that, the system can continue to be updated with YUM as usual.
> 
> Some RPM packages in rawhide/Fedora 17 will carry a RPM dependency
> guard, which will make sure, they can only be installed when /bin,
> /sbin, /lib, /lib64 are symlinks and not directories like in Fedora
> 16 and older.
> 
> The installed system’s base filesystem layout can not be safely
> altered, while the system itself is running on top of it. Dracut,
> the initramfs used to find and mount the root filesystem, can be
> instructed to convert the filesystem to match rawhide/Fedora 17’s
> expectations.
> 
> A screenshot of a successful conversion process is here: 
> http://people.freedesktop.org/~kay/usrmove-convert-log.png
> 
> The packages, which are about to land in rawhide, are at this
> moment available via the ‘f17-usrmove’ koji tag. They are ready for
> testing now. Any tests, preferably in virtual machines or
> snapshots, where failures are acceptable, are more than welcome,
> and any feedback is greatly appreciated.
> 
> Keep in mind, that this still needs wider testing and a possible
> bug in the conversion logic might break an installed system. Please
> be careful with your data, do not try this on a production system,
> and always have a backup of your data.
> 
> If your system has a split-off /usr, a separate mount point, the
> dracut /usr mount conversion logic for /usr on NFS is not yet
> supported; we are working on it. /usr on iSCSI, FCoE, NBD although
> is supported, as long as “netroot=...” is specified on the kernel
> command line for these disks (see man dracut.kernel(7)).
> 
> Please report any issues regarding the /usr-move test (not general
> rawhide bugs) by replying to this email, by sending an email to the
> fedora-test list <test at lists.fedoraproject.org>, or by grabbing
> ‘haraldh’ or ‘kay’ on IRC #fedora-devel on freenode, or contact us
> by email directly.
> 
> The final guard in RPM is not yet enabled in the ‘f17-usrmove’ koji
> tag version of the packages. Make sure you never install any of the
> packages below this tag on an unconverted system, it will not be
> able to bootup. Before the packages hit rawhide, the guard will be
> enabled and safely prevent these packages to be installed on
> unconverted systems.
> 
> At the moment, we are still waiting for an updated RPM in the koji
> buildsystem, which provides the runtime check for the filesystem
> guard. After this is resolved by Fedora Release Engineering, we can
> go ahead and enable the needed guard and move the packages from the
> ‘f17-usrmove’ koji tag to ‘rawhide’: 
> https://fedorahosted.org/rel-eng/ticket/5034
> 
> This is the screen log of a full conversion and update process: 
> http://people.freedesktop.org/~kay/usrmove-convert-log.txt
> 
> Here are the steps to prepare your system, to convert it, and to be
> able to continue updating your installed system with YUM:
> 
> Download and install the most recent dracut package from rawhide: #
> yum --enablerepo=rawhide update dracut
> 
> Update the installed initramfs image for your current kernel, and
> instruct dracut to include the dracut module to convert your
> current filesystem: # dracut --force --add usrmove
> 
> If dracut detects ‘rd.usrmove’ on the kernel command line at
> bootup, it starts the filesystem conversion of the root
> filesystem.
> 
> Change the following kernel commandline parameter directly in the
> bootloader menu, which is shown during bootup, or edit the line in
> /etc/grub*.cfg. - remove “ro” - append “rw” to let dracut mount
> your root filesystem writeable - remove “rhgb” to hide the
> graphical bootsplash - append “rd.info” to get a more verbose
> output from dracut - append “rd.usrmove” to enable the /usr-move
> conversion script in dracut - append “selinux=0” for now, because
> the relabeling in a converted F16 system does not seem to work
> properly at this moment
> 
> During bootup, dracut will now convert your filesystem, and /lib,
> /lib64, /bin and /sbin should then all be symbolic links to the
> corresponding directories in /usr.
> 
> After the conversion, the system needs to be immediately updated to
> rawhide. No packages from F16 or F15, or older rawhide packages
> must be installed anymore. Make sure to disable any F15 and F16
> repositories in yum!
> 
> Any files with conflicting names, which the conversion could not
> resolve, will be backed up to files named *.usrmove~ residing in
> /usr/lib, /usr/lib64, /usr/bin and /usr/sbin.
> 
> The log messages, which dracut has generated during bootup, can be
> retrieved with: # dmesg | grep dracut
> 
> After a successful conversion, revert the changes made to the
> kernel command line in the bootloader config file /etc/grub*.cfg.
> 
> SELinux relabelling should take effect after you rebooted your
> updated system and can take a long time (at least in a VM it takes
> insanely long and is still not finished). We are currently
> investigating, what seem to take so long, so you might consider to
> test with SELinux disabled for now.
> 
> Until the rawhide repository gets all the converted rpms, use the
> f17-usrmove repository to update the system after the filesystem
> conversion and disable rawhide in the file
> /etc/yum.repos.d/fedora-rawhide.repo
> 
> Add f17-usrmove in the file /etc/yum.repos.d/f17-usrmove.repo 
> [f17-usrmove] name=Fedora $releasever - $basearch 
> failovermethod=priority 
> baseurl=http://koji.fedoraproject.org/repos/f17-usrmove/latest/$basearch
>
> 
enabled=1
> metadata_expire=1d gpgcheck=0
> 
> # yum clean all # yum upgrade
> 
> After upgrading, all should be set and done.
> 
> Have fun with your system and say “Good bye” to /bin, /sbin, /lib,
> /lib64 and meet them in /usr.
> 
> :-)
WHy not do this with enforcing=0 rather then selinux=0, then the
relabel should not be required.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8ivd8ACgkQrlYvE4MpobNHNACfSp7CG7IT9EN/UOibqU+uaYM3
8E8AoJUpm24iz4UgyD6Mw96ilMO7QyjB
=3JXA
-----END PGP SIGNATURE-----


More information about the test mailing list