TechnicalOverview

Introduction

The Ubuntu team is happy to bring you the latest and greatest software the Open Source community has to offer. This is their latest result, the Ubuntu 9.10 Release Candidate, which brings a host of exciting new features.

Upgrading from Ubuntu 9.04

If you are upgrading from Ubuntu 9.04, we have easy-to-follow upgrade instructions.

New features since Ubuntu 9.04

Upstart

As part of our boot performance work, we have now transitioned to Upstart native jobs, to let users get to their desktop faster after boot. Upstart is written by Scott James Remnant.

Software Center

Ubuntu 9.10 RC includes the Ubuntu Software Center, developed by Michael Vogt, replacing 'Add/Remove' in the Applications menu.

GNOME

Ubuntu 9.10 RC includes the latest GNOME 2.28 desktop environment with a number of great new features:

  • Empathy has replaced Pidgin as the default instant messaging client, introducing the Telepathy framework.

  • The gdm 2.28 login manager by William Jon McCann is a complete rewrite compared to the version in earlier Ubuntu releases, permitting a more integrated login experience.

  • Evince, the GNOME document viewer, now ships with an enforcing AppArmor profile. This greatly increases security by protecting you against flaws in the historically problematic PDF and image libraries. Users who use a non-standard location for their home directory will need to adjust the home tunable in /etc/apparmor.d/tunables/home. This profile has been developed by the Ubuntu Security team.

Ubuntu 9.10 translation status

Thanks to the efforts of the broad translations community around the globe, Ubuntu is available in the following 25 languages: Spanish, Brazilian Portuguese, French, Italian, Swedish, German, Hungarian, Simplified Chinese, English, Russian, Dutch, Japanese, Portuguese, Finnish, Danish, Catalan, Czech, Polish, Korean, Bulgarian, Greek, Slovenian, Traditional Chinese, Basque and Galician.

This list represents the languages which have achieved the target of what we consider a translated operating system. However, Ubuntu is also available in many other languages with varying degrees of support, a big number of which are close to what we consider complete: Asturian, Serbian, Vietnamese, Estonian, Norwegian Bokmål, Bengali, Hebrew, Gujarati and Hindi. You can see the full list of languages, along with their statistics at https://wiki.ubuntu.com/Translations/ReleaseLanguages/9.10.

Application development with Quickly

Quickly, by Rick Spencer and Didier Roche, makes it easy for developers to make new applications for Ubuntu, and to share those application with other Ubuntu users via .deb packages or personal package archives.

Kubuntu

Kubuntu 9.10 includes the first Kubuntu Netbook release, Social from the Start and the latest KDE packages. See the Kubuntu technical overview.

Ubuntu Enterprise Cloud Images

Ubuntu 9.10 RC includes images for common use on Ubuntu Enterprise Cloud (UEC) and Amazon's EC2. You can try out the latest Ubuntu 9.10 server image instantly on EC2 using a preconfigured AMI, or download an image and put it into your own Ubuntu Enterprise Cloud. For information on using UEC images on Amazon EC2, see the EC2 Starter's Guide.

Ubuntu One

Ubuntu 9.10 RC ships with Ubuntu One by default. Ubuntu One is your personal cloud. You can use it to back up, store, sync and share your data with other Ubuntu One users.

Ubuntu One gives all features and 2 GB of essential storage to everyone. Synchronize files, contacts, and Tomboy notes across all of your Ubuntu computers and to the cloud. More space is available with a monthly subscription.

Ubuntu One project information is available on Launchpad.

Linux kernel 2.6.31

Ubuntu 9.10 RC includes the 2.6.31-14.48 kernel based on 2.6.31.1. The kernel ships with Kernel Mode Setting enabled for Intel graphics (see below). linux-restricted-modules is deprecated in favour of DKMS packages.

hal deprecation

Ubuntu 9.10 RC's underlying technology for power management, laptop hotkeys, and handling of storage devices and cameras maps has moved from "hal" (which is in the process of being deprecated) to "DeviceKit-power", "DeviceKit-disks" and "udev".

New Intel video driver architecture

The Intel video driver has switched from the "EXA" acceleration method to the new "UXA", solving major performance problems of Ubuntu 9.04. Ubuntu 9.10 RC also features kernel mode setting by default on Intel hardware, which reduces boot-time flickering and dramatically speeds up suspend/resume.

ext4 by default

The new "ext4" filesystem is used by default for new installations with Ubuntu 9.10 RC; of course, other filesystems are still available via the manual partitioner. Existing filesystems will not be upgraded.

If you have full backups and are confident, you can upgrade an existing ext3 filesystem to ext4 by following directions in the Ext4 Howto. (Note that the comments on that page at the time of writing about Ubuntu's use of vol_id vs. blkid are out of date and are not applicable to Ubuntu 9.10 RC.) Maximum performance will typically only be achieved on new filesystems, not on filesystems that have been upgraded from ext3.

GRUB 2 by default

GRUB 2 is the default boot loader for new installations with Ubuntu 9.10 RC, replacing the previous GRUB "Legacy" boot loader. Existing systems will not be upgraded to GRUB 2 at this time, as automatically reinstalling the boot loader is an inherently risky operation.

If you wish to upgrade your system to GRUB 2, then see the GRUB 2 testing page for instructions. See also the upstream draft manual.

Some features are still missing relative to GRUB Legacy. Notable among these are lock/password support, an equivalent of grub-reboot, and Xen handling.

iSCSI installation

The iSCSI installation process has been improved, and no longer requires iscsi=true as a boot parameter; the installer will offer you the option of logging into iSCSI targets if there are no local disks, or you can select "Configure iSCSI" in the manual partitioner.

Putting the root filesystem on iSCSI is now supported.

AppArmor

AppArmor in Ubuntu 9.10 RC features an improved parser that uses cache files, greatly speeding up AppArmor initialisation on boot. AppArmor also now supports 'pux' which, when specified, means a process can transition to an existing profile if one exists or simply run unconfined if one does not.

Please see the AppArmor documentation for information on using AppArmor in Ubuntu.

New profiles

In addition to the above changes to AppArmor itself, several profiles were added. Enforcing profiles for ntpd, evince, and libvirt are enabled by default. Complain mode profiles for Dovecot are now available in the apparmor-profiles package.

A new profile is provided for Firefox as well, though it is disabled by default. Users can enable AppArmor sandboxing of their browser by running:

$ sudo aa-enforce /etc/apparmor.d/usr.bin.firefox-3.5

This profile can be disabled again by performing:

$ sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox-3.5
$ sudo ln -s /etc/apparmor.d/usr.bin.firefox-3.5 /etc/apparmor.d/disable/usr.bin.firefox-3.5

An AppArmor profile is now available for Apache in the libapache2-mod-apparmor package. When used in combination with the mod_apparmor Apache module, web applications can now be protected and isolated from each other. Instructions for enabling the profile are in the /etc/apparmor.d/usr.lib.apache2.mpm-prefork.apache2 file.

Please see the SecurityTeam/KnowledgeBase for a full listing of readily available profiles in Ubuntu.

Libvirt

Libvirt now contains AppArmor integration when using KVM or QEMU. Libvirtd is configured to launch virtual machines that are confined by uniquely restrictive AppArmor profiles. This feature significantly improves virtualisation in Ubuntu by providing user-space host protection as well as guest isolation.

Uncomplicated Firewall

The Uncomplicated Firewall now has support for filtering by interface and egress filtering when using the ufw command. Documentation for ufw is also improved to help users better utilise the ufw framework and take full advantage of Linux netfilter's power and flexibility. See UbuntuFirewall#Features for a full list of features.

Non-eXecutable Emulation

Non-eXecutable (NX) memory protection, also known as eXecute-Disable (XD), has always been available in Ubuntu for any systems that had the hardware to support it and ran the 64-bit kernel or the 32-bit server kernel. The 32-bit PAE desktop kernel (linux-image-generic-pae) now also provides the PAE mode needed for hardware with the NX CPU feature.

For systems that lack NX hardware, the 32-bit kernels now provide an approximation of the NX CPU feature via software emulation that can help block many exploits an attacker might run from stack or heap memory.

Blocking Module Loading

To block the loading of any further modules after boot (generally for servers with unchanging hardware), the /proc/sys/kernel/modules_disabled one-way sysctl flag now exists to add another layer of protections against attackers loading kernel rootkits.

Position-Independent Executables

Building on the work done in Ubuntu 8.10 and 9.04 to proactively protect Ubuntu from unknown threats by using strict compiler flags, more applications have been built as Position-Independent Executables (PIE) to take advantage of the Address Space Layout Randomisation (ASLR) available in the Ubuntu kernel.

In addition to the growing program list, PIE programs are now also built with the BIND_NOW linker flag to take full advantage of the existing RELRO linker flag. This results in PIE programs having fewer places in their memory that can be controlled to redirect program flow when an attacker attempts memory-corruption exploits.

New input method framework

Ubuntu has switched to IBus as preferred input method framework. Unlike the previously used SCIM, IBus is under active development and fixes a number of SCIM's design limitations.

The language selector tool now gives the user the possibility to select the preferred input method framework.

Language-selector improvements

Chinese language-packs, formerly containing both Simplified Chinese and Traditional Chinese translations, have been split into separate packages for these languages. This reduces the amount of data Chinese users need to download.

The language-support-extra and language-support-translations metapackages have been removed from the archive. Packages which provide additional translations for applications such as Thunderbird or OpenOffice.org are now installed by language-selector only if the application package is already installed on the system.

In Ubuntu 9.10 it is necessary to run language-selector manually to get the missing localisation packages installed. An automatic solution for this is planned for the next Ubuntu release.

Known issues

For a full list of errata for Ubuntu 9.10, please see the Ubuntu 9.10 release notes.

KarmicKoala/TechnicalOverview (last edited 2009-10-28 16:06:36 by pitti)