-----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(a)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
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-----