Ultima Linux 8.4 (codenamed “we’d call it Machine Head, but Deep Purple would sue”) is the latest Ultima release, succeeding the previous version 8.3. Beta 1 was released for x86 on July 22, 2008, and for AMD64 five days later. Beta 2 was released for both architectures on September 6, 2008. The final release was announced on September 25, 2008.
Contents |
wb.img).
linuxrc script.
| NOTE | The fastest and safest way to upgrade to a new major release is simply to reformat and reinstall, when possible. Some new features may require a system reinstall to fully utilize. |
Support for JFS and XFS filesystems, and/or disk encryption through cryptsetup, will require re-formatting your system’s hard disk.
Ultima Linux 8.4 uses the GCC 4.3.0 compiler by default, as this was the latest release at the start of development. Most programs should build without problems on the new compiler, but in case there are incompatibilities the GCC 4.1.2 and 3.4.6 compilers have also been provided (as gcc-4.1.2 and gcc-3.4.6, respectively).
The older compilers are built as “compatibility packages” that peacefully coexist with 4.3.0 (and in fact, require it to be installed). There are some limitations: Only C and C++ are supported with the compatibility packages, and native language support is not supported (debugging output is in U.S. English only). The 4.1.2 compiler is not backwards-compatible with the package in Ultima Linux 8.3.
You can usually choose a previous compiler with the CC and CXX environment variables, or by using the compiler keyword in mkbuildscript.
If upgrading from a previous version of Ultima Linux, you must be careful to use installpkg, not upgradepkg, on the GNU C Library (any package starting with glibc). Failure to do so will result in an unbootable system, as existing programs will not be correctly adjusted to use the new library version.
The safest way to upgrade is to trick upgradepkg into thinking there is no glibc package installed:
root@aqualung:~/ultimalinux-8.3/x86# rm -fv /var/log/packages/glibc-*
Then install new packages using upgradepkg like so:
root@aqualung:~/ultimalinux-8.3/x86# upgradepkg --install-new */*.tgz
| NOTE | Many other distributions suggest switching into single-user mode (telinit 1) before upgrading glibc. In our experience this is usually not necessary, but it may not be a bad idea to be safe.
|
Note that the new C library requires a 2.6.24 or newer kernel. Compatibility with previous kernel releases has been removed for speed (glibc runs fastest when optimized for a specific kernel version) and security (2.6.24 fixes a major root-access exploit found in previous kernel versions).
The system init scripts for Ultima Linux 8.4 are now in a separate ultima-init-scripts package; they are no longer packaged with the sysvinit program.
Ultima Linux 8.4’s init scripts have been completely rewritten to provide numerous new features, including faster startup time, numerous bugfixes, and easier integration for third-party programs. To fully take advantage of the new scripts, you will need to overwrite your existing ones, like so:
root@aqualung:~/ultimalinux-8.4/x86# ( cd /etc/rc.d ; rename .new * )
The rc.hotplug script, which activates the legacy hotplug system used by the Linux 2.4 kernel, has been deactivated by default, as this functionality is largely implemented by udev. The hotplug system has been retained, however, in case some devices (such as sound cards) are not correctly configured by udev.
The rc.portmap script, which starts the RPC portmapper needed to use NFS, has been renamed to rc.rpc.
The new version of the shadow package, which provides support for secure, encrypted login passwords, has made several changes to its configuration file format. To prevent login errors, run the following command after upgrading the shadow package:
root@aqualung:~/ultimalinux-8.4/x86# ( cd /etc ; mv login.defs.new login.defs )
Ultima Linux 8.4 makes greater use of user accounts and privilege separation than Ultima Linux 8.3 and previous releases. Among other changes:
The new user and group accounts will be automatically added to your system configuration if you upgrade from a previous release. For more information on user accounts, see User Account Management.