Include:Upgrading to latest release: Difference between revisions
Prabuanand (talk | contribs) (replaced heading names moved content from Include:Using_Internet_Repositories_for_apk-tools rephrased sentence) |
Prabuanand (talk | contribs) (fixed heading names to add clarity and added # to clarify that the commands require root privileges) |
||
Line 1: | Line 1: | ||
=== Update | === Update Repositories File === | ||
First | First step is to to check the {{Path|/etc/apk/repositories}} file and update it using one of the following methods. | ||
==== Using setup-apkrepos script==== | ==== 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. | 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 ==== | ==== 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}} | 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}} | ||
==== | ==== Manual editing of {{Path|/etc/apk/repositories}}==== | ||
{{:Include:Using_Internet_Repositories_for_apk-tools}} | |||
==== Using '''latest-stable''' instead of version number==== | |||
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 20: | Line 18: | ||
http://dl-3.alpinelinux.org/alpine/latest-stable/main | 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}} | ||
{{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>}} | ||
=== Updating package lists === | === Updating package lists === | ||
With the correct repositories file in place, the latest index list of available packages can be obtained with: | With the correct repositories file in place, the latest index list of available packages can be obtained with: | ||
{{Cmd|apk update}} | {{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.}} | {{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.}} | ||
Line 33: | Line 29: | ||
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: | ||
{{Cmd|apk add --upgrade apk-tools}} | {{Cmd|# apk add --upgrade apk-tools}} | ||
Next, to upgrade all installed packages: | Next, to upgrade all installed packages: | ||
{{Cmd|apk upgrade --available}} | {{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 musl require doing this. |
Revision as of 18:29, 22 November 2024
Update Repositories File
First step is to to check the /etc/apk/repositories file and update it using one of the following methods.
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
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
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
Using latest-stable instead of version number
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
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
--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.
sync reboot