Include:Upgrading to latest release

From Alpine Linux
Revision as of 11:42, 5 July 2021 by Sb1 (talk | contribs)

When Alpine Linux is installed ins sys mode, e.g. on a hard drive, upgrading to a newer stable version is a straightforward package manager operation.

First thing is to to edit or check the /etc/apk/repositories file.

This may be done using one of the following shortcuts.

  • Launching the corresponding alpine setup script,

    setup-apkrepos

    and pressing e to edit /etc/apk/repositories. Then adjusting (changing) the repository lines to the new version number by hand.
  • Or, use a one-liner command to edit (change) all versions in the file "in place". This is how you'd change v2.5 to v2.6:

    sed -i -e 's/v2\.5/v2.6/g' /etc/apk/repositories

Note, all subsequent manual changes to the version numbers in

/etc/apk/repositories} to upgrade to following releases may also be avoided, by having the repository lines refer to "latest-stable" instead of an absolute value:

http://dl-3.alpinelinux.org/alpine/latest-stable/main

http://dl-3.alpinelinux.org/alpine/latest-stable/community

However, beware of initiating unexpected release upgrades then.


{Path may also be edited manually:


Edit the /etc/apk/repositories file using an editor (nano for instance) and if necessary, add references to the Alpine package repositories. In the example below, the file references the Alpine CD, so that if a requested package is available on the local media, it will be obtained from there instead of being downloaded from the remote repository:

Contents of /etc/apk/repositories

/media/cdrom/apks http://dl-3.alpinelinux.org/alpine/v3.3/main

To upgrade, in this example, from version 3.3 to 3.19, simply change:

http://dl-3.alpinelinux.org/alpine/v3.3/main

to

http://dl-3.alpinelinux.org/alpine/v3.19/main

So that the file will look like this:

Contents of /etc/apk/repositories

/media/cdrom/apks http://dl-3.alpinelinux.org/alpine/v3.19/main
Note: Starting with version 3.3, there is a new repository called community. Many packages have been moved from the main repository to the community repository to indicate that they are not guaranteed to be supported beyond six months. If you are using any of these packages, be sure to add the community repository. For example: http://dl-3.alpinelinux.org/alpine/v3.19/community

Above, only one possible repository is shown, however, http://dl-3.alpinelinux.org/alpine/ may also be replaced with any geographically close mirror from: http://rsync.alpinelinux.org/alpine/MIRRORS.txt

Updating package lists

With the correct repositories file in place, the latest index list of available packages can be obtained with:

apk update

Tip: Adding the --update-cache or -U to another apk command, as in apk add -U ... or apk upgrade -U, has the same effect as always running apk update immediately before the other apk command. Instead of auto-update it only if the index has not been updated recently.

If you're upgrading from a version of Alpine before 2.3.0_rc1, ensure you have the latest available version of the Alpine Linux Package Manager first before upgrading anything else:

apk add --upgrade apk-tools

Next, upgrade all your packages:

apk upgrade --available

The --available switch is used to force all packages to be upgraded, even if they have the same version numbers. Sometimes changes in uClibc require doing this.

Note: You will need to restart any services that have been upgraded to begin using the upgraded versions. If the kernel is upgraded, you will need to reboot to begin using the upgraded version:

sync reboot