Annvix
Personal tools



/Release Notes/2.0

From Annvix

Annvix 2.0-RELEASE Release Notes

WARNING: As always, please ensure to backup important data prior to upgrading, including dumping any databases (mysql, postgresql, openldap). Please read the release notes completely before attempting an upgrade!

Contents

New Versions of Software

Annvix 2.0-RELEASE comes with several versions of new software. All of it can't possibly be listed, but the important ones to watch out for are listed. We highly recommend doing whatever backup you deem necessary in case anything goes wrong with the upgrade or your data isn't compatible with a new version of the software. Backup guidelines will be noted where applicable for particular pieces of software. The afterboot manpage also contains great information on backing up databases, etc.

The following table illustrates the major components of software that has been upgraded. You may wish to read up on the changes in the software from the individual vendor websites.

Annvix 1.2-RELEASE Annvix 2.0-RELEASE
PHP 4.4.2 PHP 5.2.0
Apache 2.0.55 Apache 2.2.4
MySQL 4.1.14 MySQL 5.0.27
PostgreSQL 8.0.8 PostgreSQL 8.2.1
Shorewall 2.4.1 Shorewall 3.2.7

We have also included the following new programs:

  • net-snmp 5.3.1
  • CUPS 1.2.7

Kernel Changes

The default Annvix kernel is now a 2.6 kernel (currently 2.6.16). The 2.4 kernel is no longer being built, but is still available in subversion. The reason we are no longer supporting the 2.4 kernel (as well as a 2.6 kernel) is to save some maintenance effort and the 2.6 kernel affords us the ability to use AppArmor, as well as RSBAC, whereas AppArmor is not available for the 2.4 kernel. To that end, we've chosen to use 2.6.16 as it appears to be a kernel that will be supported (perhaps unofficially) for some time yet, instead of the moving target the other kernel versions are.

Installer Changes

The Annvix installer for 2.0-RELEASE is largely identical to the installer for previous versions with a few important enhancements:

  • man-pages are installed by default now
  • SATA and SCSI devices are autoprobed again (was missing in the first alpha)
  • no more questioning about locales (since we only support english)
  • More robust error handling (ie. when you pick a bad mirror or mistype a URI, you get a chance to do it again (and again, until it's right) because we now check the validity of the entered/chosen mirror first)
  • urpmi is no longer installed by default
  • The "-n" option to install-pkgs tells it not to do any network-using functions, such as setting up an apt repository
  • You're prompted for root's password in install-pkgs
  • You have the opportunity to setup the first user (always as an admin) in install-pkgs
  • You no longer have to mount proc in the chroot manually, install-pkgs does it for you
  • You no longer have to type out the timezone you're in, but you get to pick it from a list
  • Got rid of all the cdialog-based dialogs; it's all straight text now with no buttons (except for net-setup)
  • Nicer status messages (and some color!)
  • Setup grub.conf according to how things are mounted (ie. instead of always assuming (hd0,0) is /boot, we can make the configuration more accurate, such as using (hd1,2) if /boot is /dev/hdb3 or using (hd0,1)/boot if there is no separate /boot partition and /dev/hda2 is /)
  • Do a batch install of grub so there's no manual installation of grub at all anymore
  • Based on what RAID devices are setup prior to the install, install-pkgs now writes /etc/mdadm.conf properly (this is necessary due to an issue where we can't have mdassemble support MDASSEMBLE_AUTO due to a compilation issue with dietlibc (see bugzilla bug #35)
  • Offer to install any available updated packages once the install is complete
  • Dump the user into the chroot to do any post-install tasks; once the user exits the chroot the system will umount everything and reboot on it's own

Init System Changes

The init system in Annvix has radically changed. Previously, it was pure Mandriva with runit tossed in to handle the service stuff but now it has been revamped quite a bit to be more like the Gentoo init system. These changes also make Annvix quite a bit different from Mandriva and other SysVinit-style systems.

For one, the chkconfig package is no longer available. The function of chkconfig has been replaced with the rc-update program (which is very similar to the Gentoo program of the same name with changes to suit Annvix).

As well, there are no more /etc/rc.d directories; these have been completely removed. runlevels did not exist previously; there was a single runlevel (for all intents and purposes, this was runlevel 3). Now you can have as many runlevels as you want, completely customized. Runlevel information is stored in /etc/runlevels/[runlevel] where [runlevel] is (by default) "default". Annvix also comes with a "single" run level.

Each runlevel directory contains symlinks to the initscripts found in /etc/init.d. It also contains the service/ subdirectory which essentially replaces the /service directory. This means that you can customize what services are available in a particular runlevel. For instance, you can have the "single" runlevel start the network initscript, and then start just the mingetty*, socklog*, and sshd services.

Initscripts provided for Mandriva and Red Hat, etc. won't work very well with the new system without some slight modification. For all intents and purposes, the initscripts are identical but have a little extra information that rc-update requires. For instance, the relevant parts of /etc/init.d/network would be:

order=10
name="network"

Not a lot there, but this information tells rc-update in what order to place the initscript (think of the chkconfig line in a "normal" initscript) when executing them.

Otherwise, besides being faster and far less bloated, the init system will look and feel relatively the same.

Upgrading Notes

The upgrade from 1.2-RELEASE to 2.0-RELEASE should be extremely straightforward. The simplest way to perform the upgrade is to use the 1.2-to-2.0-upgrade upgrade script.

BEFORE UPGRADING PLEASE READ Using the tcb shadow alternative AS IT FUNDAMENTALLY ALTERS HOW YOUR SYSTEM WILL MANAGE PASSWORDS!! IF YOU DO NOT DO THIS YOU MAY END UP LOCKED OUT OF YOUR SYSTEM!!

Also, you may wish to look at Upgrading Strategies for important imformation about backing up databases, etc.

PLEASE NOTE: You absolutely cannot simply point urpmi to the new release directory and expect that an --auto-select will upgrade everything. It will not. You will break your system if you do not use the upgrade script!

User changes

Annvix 2.0 adds a new group called ctools which is the group users must be added to in order to use gcc. Since compiling rpms and whatnot as root is a bad idea, you should place another administrative user in the ctools group. The reason that the ability to compile wasn't added to the admin group was that systems could potentially wish to allow certain users access to gcc, but not necessarily grant them access to other administrative programs.

Miscellaneous

  • Be sure to update your aide database (if you are using it) immediately after the upgrade. Not only is this important from a security standpoint, you will receive and extremely large email overnight if you don't.
  • The shorewall package has been upgraded from 2.4.1 to 3.2.7. For the most part it is backwards compatible, however you should read the shorewall upgrade issues page for more information on changes.
  • The slapd service will not restart after the upgrade because it requires the 2.6 kernel in order to run properly. This is a deficiency in the openldap build system; you will need to reboot and then manually bring slapd back up again.
  • NOTE: If you are using software RAID (mdadm) you will need to ensure you have a properly constructed /etc/mdadm.conf file. Something changed that prevents a system from auto-assembling the RAID system (except for the / partition it seems), unless you have a properly defined /etc/mdadm.conf which would look like:
ARRAY /dev/md0 devices=/dev/sda1,/dev/sdb1
ARRAY /dev/md1 devices=/dev/sda3,/dev/sdb3
ARRAY /dev/md2 devices=/dev/sda5,/dev/sdb5
ARRAY /dev/md3 devices=/dev/sda6,/dev/sdb6

It seems as though using simply:

DEVICE /dev/sd[ab][1356]

is no longer sufficient. The upgrade script attempts to do this for you; however it would be prudent to make sure it did it correctly before you reboot.

Known Bugs

The following known bugs exist and will be corrected as quickly as possible:

  • The Annvix installer does not support booting off of SATA CD/DVD devices. If you have such a device (or get a "can't find CD-ROM" error when booting), use an external USB CD/DVD device or boot from an ATAPI IDE CD/DVD device.

Resources

The following links contain more information and are worth reading before upgrading: