How to upgrade an installed Owl system

Download the new stuff

In the shell, run:

su - build
lftp http://mirrors.kernel.org/openwall/Owl/current/

To prepare for upgrading Owl-current on i686 (for example), issue the following commands to lftp:

mget Owl.mtree* # downloads Owl.mtree and Owl.mtree.sign
get native.tar.gz
cd i686
mget i686.mtree* # downloads i686.mtree and i686.mtree.sign
mirror -ev RPMS

If you intend to rebuild anything from source, you may also download or update your copy of the sources tree (optional, most people don't need this):

cd .. # back from i686
mirror -Lev sources

Now exit from lftp and proceed to check the authenticity and integrity of your downloads. If you do this for the very first time on a given system, you need to download and install Openwall's PGP keys first. You may get the keys from the Openwall website and install them with:

lftpget http://www.openwall.com/signatures/openwall-signatures.asc
lftpget http://www.openwall.com/signatures/openwall-online-signatures.asc
gpg --import openwall-signatures.asc openwall-online-signatures.asc

Alternatively, you may get the keys from a third-party keyserver:

gpg --keyserver pgp.mit.edu --recv-key 295029F1 8B4EDA79

Now that you have the keys in place, verify the *.mtree files:

gpg Owl.mtree.sign
gpg i686.mtree.sign

Each of these commands should report either Good signature from “Openwall Project …” (higher assurance, typical for Owl releases) or Good signature from “Openwall GNU/*/Linux online signing key” (lower assurance, typical for Owl-current snapshots).

Finally, verify the remaining downloaded files using the *.mtree files:

mtree -f Owl.mtree
mtree -f i686.mtree

This will detect a few “missing” things (since you did not download everything from the directories) and maybe a few “extra” things (e.g., your .bash* files), but it should not complain about any differing message digests (MD5 and SHA-1).

On x86_64, just use x86_64 in place of i686.

Upgrade the kernel

You only need to upgrade the kernel if there's a new revision of the kernel package for your branch of Owl (since you installed or since your last upgrade). Also, please note that there's no kernel package installed inside OpenVZ containers with the Owl userland; the host system's kernel is shared for all containers and for the host system itself.

Install the new kernel package while preserving the old version as well:

rpm -ivh ~build/RPMS/kernel-2*

Obtain and take note of the new kernel image filename (e.g., copy it into your clipboard):

rpm -qlp ~build/RPMS/kernel-2* | fgrep vmlinuz

Then edit your LILO bootloader configuration file (add a new section for the new kernel image) and make your changes take effect:

vi /etc/lilo.conf
lilo

Of course, the new kernel will only take effect after you reboot.

Upgrade the userland

...with "make installworld"

Extract the native tree and edit installworld.conf to indicate that you really do want to install over the main system:

su - build
rm -rf native
tar xzf native.tar.gz
cp native/Owl/build/installworld.conf .
vi installworld.conf

Change the line:

ROOT=/owl

to read:

ROOT=/

As root, run:

cd ~build
make installworld

Watch for any “Failed …” lines (there should be none).

...with "rpm -F"

As an alternative to the approach above, in many cases you may simply issue:

rpm -Fvh ~build/RPMS/*.rpm

which also tends to run a lot quicker since it upgrades changed packages only, not all of them.

Please note that you must have already upgraded the kernel as described above, or rpm -F will result in your old kernel package getting removed (upgraded to the new one), which will break your existing bootloader setup and also leave you with no fallback kernel (having a fallback kernel is desirable in case the new kernel would fail to boot up). When upgrading a system inside an OpenVZ container, this does not matter (there's no real kernel package installed on the in-container system anyway).

Alternative: upgrade via CVS, build from source

Although not recommended for most users, it is also possible to retrieve the Owl native tree from Openwall's anoncvs server and/or to build the RPM packages from source. This is illustrated on its separate wiki page, and the relevant documentation may be found in Owl/doc/DOWNLOAD and Owl/doc/BUILD.

Back to Openwall GNU/*/Linux user community resources.

Owl/upgrade.txt · Last modified: 2011/04/24 17:38 by solar
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate to DokuWiki Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Powered by OpenVZ Powered by Openwall GNU/*/Linux