Upgrade to repository main

From Alpine Linux
Revision as of 19:26, 5 August 2009 by Ttrask (talk | contribs) (Spelling / grammar)

How to upgrade to signed repositories

From Alpine 1.9 alpha18 and newer the packages and repositories are signed. Due to this change the index format changed. Index was also renamed from APK_INDEX.gz to APKINDEX.tar.gz.

We used this occation to also merge the core and extra repositories into a single repository: main.

If you boot from CF, USB, or cdrom and run from tmpfs, then it's just a matter of replacing the boot media and reboot. If you boot and run from a harddisk, then it's really recommended to reinstall the system.

This document shows how to upgrade to the signed 'main' repository if you still want to try it. It might work, it might not.

Make backup

Before you start, you should make a backup of your configuration. This can be done with the lbu utility.

lbu package backup.apkovl.tar.gz

Copy the backup.apkovl.tar.gz to a safe place. Might be handy in case the upgrade fail and you end up reinstalling.

Upgrading basic packages

Make sure that you have latest base utilites from 'core' before we switch to the new, 'main' repository.

apk add -u alpine-base

(In case you get an ERROR: libcrypto: Trying to overwrite usr/lib/libcrypto.so owned by openssl. due to a change in openssl/libcrypto you can solve that with apk add -u --force openssl and then retry apk add -u alpine-base)

Then you will need a newer version of apk-tools. Use wget to download a static version of apk.

wget http://dl-3.alpinelinux.org/alpine/v1.9/apk.static
chmod +x apk.static

Verify that the apk version is atleast 2.0_rc1.

./apk.static --version

Now, replace the core and extra repositories with 'main' in /etc/apk/repositories with a text editor. Then start the upgrade and re-install the recompiled and signed packages. It might work, it might break your system, so, again, make sure you have that backup.

./apk.static upgrade -a

If things went well, it should be a matter of rebooting and you are done.