Upgrading Alpine - v1.9.x
Upgrading Alpine 1.9.x that runs on HD/CF/USB
This document applies to alpine which is installed on HardDisk(HD), CompactFlash(CF) or USB.
All examples/instructions/actions mentioned in this document should be executed on the box that you are planning to upgrade (unless you are instructed otherwise).
Setup environment variables
To make the documentation a bit more "generic" we start by setting some environment variables.
vi /etc/lbu/lbu.conf
Make sure that the variable LBU_MEDIA
is not commented (by removing the leading '#').
You also need to set a appropriate value for your LBU_MEDIA
. The media you choose will be the media where you store your settings/configuration.
Examples:
LBU_MEDIA=usb
or:
LBU_MEDIA=sda1
Now that you have your /etc/lbu/lbu.conf configured for your needs, we will set the environment variables (note the leading .
).
. /etc/lbu/lbu.conf
You can test if your environment variable was set:
echo $LBU_MEDIA
It should output something like usb
, sda1
, or whatever you just configured.
Back up your config
Before starting to upgrade, it's wise to save your configuration.
lbu ci
Download a new Alpine Linux release
Start by checking that you have enough space on your media.
You need at least 400MB available space.
df -h | grep "Filesystem\|$LBU_MEDIA"
Start downloading a new '.iso' and a '.sha1' file
cd /media/$LBU_MEDIA wget -c Template:Latest 1.9 alpine iso-mirroralpine-1.9.3-x86.iso wget http://dev.alpinelinux.org/alpine/v1.9/iso/alpine-1.9.3-x86.iso.sha1
Check integrity of the downloaded files (it might take some time)
sha1sum -c alpine-1.8.3-i386.tar.gz.sha1
The output of the above command should say 'OK'.
If says 'FAILED', delete the iso file and download it again.
Copy the new release
Mount the ISO.
mkdir /tmp/alpine-new mount -t iso9660 alpine-1.9.3-x86.iso /tmp/alpine-new
Back up file that you have modified (below is a list of files that might need backing up)
syslinux.cfg: You might have modified it to show console on a serial port
cp /media/$LBU_MEDIA/syslinux.cfg /media/$LBU_MEDIA/syslinux.cfg.my
Copy the files:
cd /tmp/alpine-new rsync --delete -rltv .alpine-release * /media/$LBU_MEDIA/
Restore your backed up files (in case you had any)
mv -f /media/$LBU_MEDIA/syslinux.cfg.my /media/$LBU_MEDIA/syslinux.cfg
Make sure that all files are permanently saved in right place
sync
Execute upgrade script
The new media has a 'upgrade' script found on root level on media. This 'upgrade' script needs to be executed and walked through.
/media/$LBU_MEDIA/upgrade
You will be informed about various changes and you will be able to choose if you want to keep your old config-files or if you want to use a new.
Each setup is different, so it's hard to say what needs to be upgraded and what should be kept.
When the new media holds a updated version of configfile, you will be prompted with something that looks like this:
Quit, Next, Show diff, Edit new, Zap new, Use new (q/n/s/e/z/u) [s]:
If you choose to 'Edit new' you will use the 'vi' editor.
A short note on how you use that editor:
- i = Enter "insert" mode so you can edit the content
- [esc] = Enter CMD-mode where you can chose to save/quit
- CMD-mode has these options
- :w = Write your changes
- :q = Quit editor
- :q! = Force quit even if you have changes that is still not saved
- CMD-mode has these options
Clean up
Clean up the downloaded/unpacked files
umount /tmp/alpine-new rmdir /tmp/alpine-new rm /media/$LBU_MEDIA/alpine-1.9.3-x86.iso rm /media/$LBU_MEDIA/alpine-1.9.3-x86.iso.sha1
Save changes
Now that all upgrades are done, we should save our settings to our media (which you hopefully have backed up).
lbu ci
Rebooting
In most cases you will need to reboot Alpine (especially if there are changes in the kernel):
reboot
Note: If you know what you are doing, you might not need to reboot.
But make sure that all services affected by the upgrade are restarted.