Include:Upgrading to latest release: Difference between revisions

From Alpine Linux
mNo edit summary
m (minor re wording to make it easier to read)
 
(20 intermediate revisions by 7 users not shown)
Line 1: Line 1:
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.
=== Update Repositories File ===


First thing is to to edit or check the {{Path|/etc/apk/repositories}} file.
The Repositories file {{Path|/etc/apk/repositories}} can be updated using one of the following methods.


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}}. 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 <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}}


Note, subsequent manual changes of the version numbers in {{Path|/etc/apk/repositories}} may be avoided for following releases, by having the repository lines refer to "latest-stable" instead of an absolute value:
Launch the [[Alpine_setup_scripts#setup-apkrepos|<Code>setup-apkrepos</Code>]] script: {{Cmd|# setup-apkrepos}} Pressing {{Key|e}} will open the file to edit  using [[BusyBox#vi|'''vi''' editor]]. Edit the repository lines to reflect the new version number.


{{Cmd|http://dl-3.alpinelinux.org/alpine/latest-stable/main
==== Using sed command ====
 
Use a one-line command to edit all version numbers in the file "in place". Here's how you'd change <var>v3.20</var> to <var>v3.21</var>: {{Cmd|# sed -i -e 's/<var>v3\.20</var>/<var>v3\.21</var>/g' /etc/apk/repositories}}
 
==== Manual editing of {{Path|/etc/apk/repositories}}====
{{:Include:Using_Internet_Repositories_for_apk-tools}}
 
==== Using '''latest-stable''' instead of version number====
 
Manual changes of the version numbers may be avoided for future release upgrades by having the repository lines refer to "latest-stable" instead of an absolute value in the repositories file.
{{Warning|Changing the repositories to <code>latest-stable</code> may initiate unexpected release upgrades. Beware of the consequences.}}
The {{Path|/etc/apk/repositories}} file should appear as follows:{{Cat|/etc/apk/repositories|http://dl-3.alpinelinux.org/alpine/latest-stable/main
http://dl-3.alpinelinux.org/alpine/latest-stable/community}}
http://dl-3.alpinelinux.org/alpine/latest-stable/community}}


However, beware of initiating unexpected release upgrades then.
=== Updating package lists ===


With the correct repositories file in place, the latest index list of available packages can be obtained with:
{{Cmd|# apk update}}


Manual editing of {{Path|/etc/apk/repositories}}:
{{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.}}


{{:Include:Using_Internet_Repositories_for_apk-tools}}
=== 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:
{{Cmd|# apk add --upgrade apk-tools}}


Sometimes it is required to first upgrade only the Alpine Linux Package Manager itself to the latest available version, before upgrading other packages. For example, when upgrading from a version of Alpine before 2.3.0_rc1. But simply always doing so should't hurt, either:
Next, to upgrade all installed packages:
{{Cmd|apk add --upgrade apk-tools}}
{{Cmd|# apk upgrade --available}}


Next, to upgrade all installed packages: {{Cmd|apk upgrade --available}}
The <code>--available</code> 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.
The <code>--available</code> 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:
{{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:
{{Cmd|sync
{{Cmd|sync
reboot}}
reboot}}
}}
}}
[[Category:Package Manager]]
[[Category:Installation]]

Latest revision as of 12:01, 12 June 2025

Update Repositories File

The Repositories file /etc/apk/repositories can be updated using one of the following methods.

Using setup-apkrepos script

Launch the setup-apkrepos script:

# setup-apkrepos

Pressing e will open the file to edit using vi editor. Edit the repository lines to reflect the new version number.

Using sed command

Use a one-line command to edit all version numbers in the file "in place". Here's how you'd change v3.20 to v3.21:

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

Manual editing of /etc/apk/repositories

Edit the /etc/apk/repositories file using any editor of your choice (nano for instance).

Contents of /etc/apk/repositories

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

In the above file, to upgrade Alpine Linux from version 3.20 to 3.21, simply replace the number 3.20 by 3.21 in all the places:

Contents of /etc/apk/repositories

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

Using latest-stable instead of version number

Manual changes of the version numbers may be avoided for future release upgrades by having the repository lines refer to "latest-stable" instead of an absolute value in the repositories file.

Warning: Changing the repositories to latest-stable may initiate unexpected release upgrades. Beware of the consequences.


The /etc/apk/repositories file should appear as follows:

Contents of /etc/apk/repositories

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

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