Upgrading Alpine Linux to a new release branch: Difference between revisions

From Alpine Linux
(Category:Package Manager, {{Obsolete}})
No edit summary
Line 1: Line 1:
{{Obsolete}}
{{Warning|Make sure that you have a backup of your important data.}}


== General notes ==
= Upgrading an Alpine Linux Hard-disk installation  =
Alpine can be booted from various media.<BR>
It has also made some adjustments through time and this could also have impact on how a upgrade could be done.<BR>
These factors makes it hard to make a 'general' upgrade instruction that fits all scenarios.<BR>
The principle is still the same.


To make your upgrade easy, we now present various documents that will help you in your situation.
When Alpine Linux is installed to hard drive, upgrading the installation is simple.


== What is your *present* setup ==
== Upgrading to latest release ==
You need to know...
{{:Upgrading to latest release}}
* what alpine version the box (that you are upgrading) is running at this moment.
* what media you are planning to upgrade (on what media is your alpine distro at this moment).<BR>''Choose '''CD''', '''USB''', '''HD/CF''' or whatever fits your setup.''


 
== Upgrading to Edge ==
Choose your current setup in the below list
{{:Edge:Upgrading to Edge}}
{|
|'''alpine-1.9.x or later'''
|[[Upgrading_Alpine_-_v1.9.x|All Installation Types]]
|
|
|-
|'''alpine-1.8.x'''
|[[Upgrading_Alpine_-_CD_v1.8.x|CD]]
|[[Upgrading_Alpine_-_HD_v1.8.x|HD/CF/USB]]
|
|-
|'''alpine-1.7.x'''
|
|
|
|-
|'''alpine-1.6.x'''
|
|
|
|-
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|}


[[Category:Installation]]
[[Category:Installation]]
[[Category:Package Manager]]
[[Category:Package Manager]]

Revision as of 12:24, 4 May 2012

Warning: Make sure that you have a backup of your important data.


Upgrading an Alpine Linux Hard-disk installation

When Alpine Linux is installed to hard drive, upgrading the installation is simple.

Upgrading to latest release

Repository Settings

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

Besides doing it manually (see below) 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 editing the repository lines to reflect the new version number.
  • Or, use a one-line command to edit all version numbers in the file "in place". Here's how you'd change v2.5 to v2.6:

    sed -i -e 's/v2\.5/v2\.6/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


Manual editing of /etc/apk/repositories:


Edit the /etc/apk/repositories file using any editor of your choice (nano for instance) and if necessary, add references to the Alpine Linux package repositories. In the example below, the file references the Alpine Linux 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.19/main http://dl-3.alpinelinux.org/alpine/v3.19/community

In this example, To upgrade Alpine Linux from version 3.19 to 3.20, simply replace the version number 3.19 by 3.20 in all the places, so that the file will look like this:

Contents of /etc/apk/repositories

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

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

Upgrading to Edge

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.

The crucial difference is, that when editing the /etc/apk/repositories file, all referenced repository versions (such as v3.2 or latest-stable) therein need to be pointing to edge.

When using edge branch, testing repository can be added if the packages that one needs are available only in testing repository.

Note: Remember that, packages in testing repository have no support.


Contents of /etc/apk/repositories

#/media/cdrom/apks http://dl-cdn.alpinelinux.org/alpine/edge/main http://dl-cdn.alpinelinux.org/alpine/edge/community http://dl-cdn.alpinelinux.org/alpine/edge/testing

After upgrading to edge, the currently installed edge version may be checked with

$ cat /etc/alpine-release

and referring to the build date that is attached to the release.

Warning: Do not enable stable and edge repos at the same time. This can break your system. Either use edge or stable. If you mix stable and edge repositories, you're on your own.