The Alpine Linux Technical Steering Committee (TSC) has decided to change the base filesystem hierarchy. In the future, /lib, /bin, and /sbin will be symbolic links to their /usr counterparts, and every package shall be installed under the /usr paths. For now, /usr/bin and /usr/sbin will continue to be independent paths, but that might change if the Filesystem Hierarchy Standard (FHS) gets updated.

Timeline

The transition to the /usr merge will be organised around 3 milestones:

  1. Finish preparations: the preparations that have been in the works for months will be finished, and the Merge Request that finalizes the initial work will be merged. Any new edge installations will be /usr-merged from this point onwards.

  2. Release of Alpine Linux 3.23: any new alpine installations of this and future releases will be /usr-merged. Users will be able to upgrade from older releases to 3.23 without being forced to /usr merge their systems, or the /usr-merge causing breakage. From this point onwards, users are encouraged to migrate existing installs.

  3. End-of-support for 3.22: after 3.22 is EOL non-/usr-merged systems will be considered officially unsupported. The following stable release (possibly 3.26 or 3.27) will make the /usr-merge compulsory and non-merged installations upgrading to it will break.

How to migrate?

If you are using diskless installations and relying on apkovl files to persist configuration across reboots, you do not need to do anything. The versions of alpine-conf and alpine-mkinitfs available in the 3.23 release correctly unpack the apkovl files on a system with the links in place.

If you have a long-living installation of Alpine Linux edge, or upgraded to 3.23 from an older release, you are encouraged test and migrate your system to be /usr-merged. The /usr-merged system will be better supported in the future, and will be safer to run. To migrate:

Does this affect me?

As a general user, this change should not affect you in any way. The symbolic links warrant backwards compatibility, and PATH will not change, so everything will continue working as it used to. There might be, however, some small group of users affected by this change:

Why has this been done?

This has been done for 2 different sets of reasons:

Reasons

There are some potential benefits for Alpine from having installations /usr-merged:

FAQ