Include:Upgrading to latest release: Difference between revisions

From Alpine Linux
(replaced heading names moved content from Include:Using_Internet_Repositories_for_apk-tools rephrased sentence)
Line 1: Line 1:
==== Repository Settings ====
=== Update Repository Settings ===


First thing is to to edit or check the {{Path|/etc/apk/repositories}} file.
First thing is to to check the {{Path|/etc/apk/repositories}} file and edit it using one of the following methods.


Besides doing it manually (see below) this may be done using one of the following shortcuts.
==== Manual editing of {{Path|/etc/apk/repositories}}====
:* Launching the corresponding Alpine setup script, {{Cmd|setup-apkrepos}} and pressing {{Key|e}} to edit {{Path|/etc/apk/repositories}}. Then editing the repository lines to reflect the new version number.
{{:Include:Using_Internet_Repositories_for_apk-tools}}
:* Or, use a one-line command to edit all version numbers in the file "in place". Here's how you'd change <var>v2.5</var> to <var>v2.6</var>: {{Cmd|sed -i -e 's/<var>v2\.5</var>/<var>v2\.6</var>/g' /etc/apk/repositories}}


===== latest-stable=====
Besides doing it manually this may be done using one of the following shortcuts.
==== Using setup-apkrepos script====
Launching the corresponding Alpine setup script, {{Cmd|setup-apkrepos}} and pressing {{Key|e}} to edit {{Path|/etc/apk/repositories}} using the default [[BusyBox#vi|vi]] editor. Then editing the repository lines to reflect the new version number.
 
==== Using sed command ====
One can also use a one-line command to edit all version numbers in the file "in place". Here's how you'd change <var>v3.19</var> to <var>v3.20</var>: {{Cmd|sed -i -e 's/<var>v3\.19</var>/<var>v3\.20</var>/g' /etc/apk/repositories}}
 
==== latest-stable====


Note, subsequent manual changes of the version numbers in {{Path|/etc/apk/repositories}} may be avoided for future release upgrades by having the repository lines refer to "latest-stable" instead of an absolute value:
Note, subsequent manual changes of the version numbers in {{Path|/etc/apk/repositories}} may be avoided for future release upgrades by having the repository lines refer to "latest-stable" instead of an absolute value:
Line 17: Line 23:
{{Warning|Changing the repositories to <code>latest-stable</code> may initiate unexpected release upgrades. So beware of the consequences of unexpected release upgrades, when using <code>latest-stable</code>}}
{{Warning|Changing the repositories to <code>latest-stable</code> may initiate unexpected release upgrades. So beware of the consequences of unexpected release upgrades, when using <code>latest-stable</code>}}


Manual editing of {{Path|/etc/apk/repositories}}:
=== Updating package lists ===


{{:Include:Using_Internet_Repositories_for_apk-tools}}
With the correct repositories file in place, the latest index list of available packages can be obtained with:
{{Cmd|apk update}}
 
{{Tip|Adding the <code>--update-cache</code> or <code>-U</code> to another apk command, as in <code>apk add -U ...</code> or <code>apk upgrade -U</code>, has the same effect as always running <code>apk update</code> immediately before the other apk command. Instead of auto-update it only if the index has not been updated recently.}}


==== Upgrading packages ====
=== Upgrading packages ===


At times it is required to first upgrade just the Alpine Linux Package Manager itself to the latest available version, before upgrading any other package. This was the case, for example, when upgrading from a version of Alpine before 2.3.0_rc1. But  simply always doing so shouldn't hurt, either:
At times it is required to first upgrade just the Alpine Linux Package Manager itself to the latest available version, before upgrading any other package. This was the case, for example, when upgrading from a version of Alpine before 2.3.0_rc1. But  simply always doing so shouldn't hurt, either:

Revision as of 18:10, 22 November 2024

Update Repository Settings

First thing is to to check the /etc/apk/repositories file and edit it using one of the following methods.

Manual editing of /etc/apk/repositories

Edit the /etc/apk/repositories file using any editor of your choice (nano for instance) to edit the Alpine Linux package repositories.

Contents of /etc/apk/repositories

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

In the above file, to upgrade Alpine Linux from version 3.19 to 3.20, simply replace the number 3.19 by 3.20 in all the places, so that the updated repositories file looks like below:

Contents of /etc/apk/repositories

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

Besides doing it manually this may be done using one of the following shortcuts.

Using setup-apkrepos script

Launching the corresponding Alpine setup script,

setup-apkrepos

and pressing e to edit /etc/apk/repositories using the default vi editor. Then editing the repository lines to reflect the new version number.

Using sed command

One can also use a one-line command to edit all version numbers in the file "in place". Here's how you'd change v3.19 to v3.20:

sed -i -e 's/v3\.19/v3\.20/g' /etc/apk/repositories

latest-stable

Note, subsequent manual changes of the version numbers in /etc/apk/repositories may be avoided for future release upgrades by having the repository lines refer to "latest-stable" instead of an absolute value:

Contents of /etc/apk/repositories

http://dl-3.alpinelinux.org/alpine/latest-stable/main http://dl-3.alpinelinux.org/alpine/latest-stable/community
Warning: Changing the repositories to latest-stable may initiate unexpected release upgrades. So beware of the consequences of unexpected release upgrades, when using latest-stable


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.

Upgrading packages

At times it is required to first upgrade just the Alpine Linux Package Manager itself to the latest available version, before upgrading any other package. This was the case, for example, when upgrading from a version of Alpine before 2.3.0_rc1. But simply always doing so shouldn't hurt, either:

apk add --upgrade apk-tools

Next, to upgrade all installed 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 musl require doing this.

Note: All services that have been upgraded need to be restarted, to begin using the upgraded version. If the kernel is upgraded, it's required to reboot to begin using the upgraded version:

sync reboot