From Mageia wiki
Jump to: navigation, search

Summary

Provide an easy way to mount most of the installed operating system files read-only during normal usage. Also make it easy to take snapshots (when combined with btrfs) or share it over the network.

Owner

  • Name: Colin Guthrie
  • Email: colin@mageia.org

Resources

Installer: Needs to be able to move files and do so in a friendly way to the user.

Ramdisk: Needs to be able to do moving to allow for upgrades.

QA: Need to test various upgrade scenarios.

Current status

  • Targeted release: Mageia 3
  • Last updated: 2013/05/03
  • Percentage of completion: 100%

Detailed Description

External References: Freedesktop.org Fedora

Why it would be good for Mageia to include it

Historically, tools and libraries needed to mount filesystems (including activating any underlying systems such as encryption, raid and lvm) have been artificially moved from the /usr tree to the / tree to facilitate the mounting of /usr. Since Mageia 2, the initrd (dracut) has taken over the job of /usr mounting meaning that such an artificial separation is no longer needed or desirable. Therefore, all tools can now be moved to /usr and there is no need to have artificial separation. This eases packaging and makes the installed system more useful generally (i.e. read-only mounting by default will allow for a safer and more secure system, it can be shared over the network and it can be snapshotted easily if the underlying filesystem supports it).

Test case

Ensure that the following symlinks are all present and correct:

/lib -> usr/lib
/lib64 -> usr/lib64
/sbin -> usr/sbin
/bin -> usr/bin

Ensure that using the "old" paths still works for tools: /bin/bash, /sbin/modprobe etc.

Software / Packages Dependencies

systemd should be compiled appropriatly to reflect this change. Other packages etc. should be updated and an rpmlint rule added to reject packages that include files in any of the above paths directly. Dracut should include the usrmove module for upgrades. Installer will likely need modifications.

What could disrupt development of this new feature

As we already use dracut in Mageia 2 by default, and as there are compatibility symlinks, there should be very little in the way of compatibility problems. The biggest potential problem is the transition itself.

Planning

Research into how best to transition things (i.e. using dracut's usrmove module) and what changes in the installer are needed.

Contingency

Most of the work itself will go into the transition itself. Once this is complete and tested and defined to be working well, packages will be updated. At this point it will be hard to roll back the change so a full evaluation should be done at this time.

Release Notes

This is now complete in Cauldron for Mageia 3.

In order to update from Mageia 2 simply install the mageia-prepare-upgrade package from updates_testing, reboot and select the "Mageia 3 Upgrade Preparation" boot entry and then upgrade as with previous versions.

Code is in place in mgaonline to guide users through this process in a graphically friendly way. Testing is underway on this although it is not yet 100% finalised.

Note: After moving filesystem there may be some left over files due to unhandled conflicts. To look for such files use the following command:

  • ls -1 /lib{,64}/*_so* /{bin,sbin,lib,lib64}/*.usrmove~

In most cases these files can be removed safely, but please try and work out which package these files originally came from such that we can ensure we've handled the migration properly :)

Documentation

See Fedora feature page