Edge: Difference between revisions

From Alpine Linux
(Update transclusions to {{:Include:...}})
No edit summary
Line 8: Line 8:


{{:Include:Upgrading_to_Edge}}
{{:Include:Upgrading_to_Edge}}
{{Warning|Do not enable stable and edge repos at the same time! This can break your system! Either use edge or stable!.}}


== See also ==
== See also ==

Revision as of 05:31, 26 May 2021

"edge" is the name given to the current development tree of Alpine Linux. It consists of a APK repository called "edge" and contains the latest build of all available Alpine Linux packages. Those packages are updated on a regular basis.

Warning: "edge" is under constant development so be careful using it in production. It is possible that bugs in "edge" could cause data loss or could break your system.


End users should not use "edge" as their main day-to-day workstation or as productive system. Because "edge" is a development branch, many changes are not heavily tested (or tested at all) and packages in "edge" can and sometimes do break without warning.

However, testing "edge" is a very valuable activity which helps the Alpine Linux development to ensure that the quality of the stable releases is high. Testing "edge" is a great way to contribute to the Alpine Linux development.

An upgrade of Alpine Linux from a stable version to the rolling development version edge basically requires the same steps as Upgrading to latest release.

There are only two differences:-

  • When editing the /etc/apk/repositories file, all referenced repository versions (such as v3.22 or latest-stable) therein need to be pointing to edge as follows.

    Contents of /etc/apk/repositories

    #/media/cdrom/apks http://dl-cdn.alpinelinux.org/alpine/edge/main http://dl-cdn.alpinelinux.org/alpine/edge/community @testing http://dl-cdn.alpinelinux.org/alpine/edge/testing
  • When the upgrade completes, edge currently issues an encouragement to run a "/usr-merge" script that would update the base filesystem hierarchy:
usr_merge_nag.sh: 
* INFO: The current system is not /usr-merged.
* In the future, the /usr-merge will be compulsory and the migration will happen
* automatically. You can help testing the migration path by running it manually
* before, but there might be known and unknown bugs at the time of migration:
* https://gitlab.alpinelinux.org/groups/alpine/-/milestones/16
*
* See https://alpinelinux.org/posts/2025-10-01-usr-merge.html and
* https://gitlab.alpinelinux.org/alpine/aports/-/issues/17624#note_551336
* for more details.
*
* You can disable this message by masking the usr-merge-nag package:
*   apk add '!usr-merge-nag'
Applying this change should not affect general users. For background information on this process, consult the news release, including its listing of the types of installations that may be affected.
As indicated above, this update is not currently a requirement but will be implemented in the future.
To attempt its implementation with a dry run first that should foresee errors in execution:
# As per a standard system upgrade to Edge or to a new release
doas apk upgrade -aU    

# Install the script
doas apk add merge-usr

# Simulate the outcome of the merge: do a "dry run".  This would report any errors onscreen
doas merge-usr --dryrun

# If any error is reported, it would be appreciated if you could kindly open an issue at https://gitlab.alpinelinux.org/alpine/aports/–/issues/new 

# WARNING: The next step would be to run the script, but it is only to be run as long as the steps above were performed without any errors
doas merge-usr

# The script would no longer be required and may now be deleted from the system
doas apk del merge-usr

# Remember to sync and reboot, as per usual after a system upgrade
doas sync
doas reboot
Warning: Do not enable stable and edge repos at the same time! This can break your system! Either use edge or stable!.


See also