The first new technology that I would like to outline is called Upstart. I thought it was fitting to outline this feature first because it is integral within the boot process. Without the improvements in Upstart, Ubuntu would not be able to boot as fast as it currently does. Upstart has been used, incrementally, in Ubuntu since version 6.10 but with Ubuntu 9.10 it has made the transition complete. Without going into too much detail, Upstart was designed to replace the aging System-V init system that is commonly found on Linux distributions.
The idea behind Upstart is that modern systems are more dynamic and event-driven, as opposed to static and pre-defined, and the boot process should make use of that. With the previous system, System-V, each service that is started at boot-time was defined an ordered number in which to start. This has worked well enough for many years, but it can cause problems for maintainers as they have to make sure that the boot order of services is globally compatible. For example, networking needs to be enabled before network services are enabled. If these (as a simple example) get out of order, services will not be available as expected after the machine has booted. Upstart takes the simple idea that certain services rely on other services and redefines them into event-driven tasks.
It is very exciting news that Ubuntu has finally completed the transition to Upstart after so many releases. This is a big step toward improving bootup performance on Ubuntu 9.10.
You can read much more about Upstart at http://upstart.ubuntu.com.
Ubuntu has also made another big change to the boot process with XSplash. XSplash is replacing the previous USplash, which was known to cause issues. I have noticed that XSplash seems faster, as well as addressing the compatibility issues caused by its predecessor. I think you'll also enjoy the new bootup graphic. This is another step towards Ubuntus goal of a ten-second boot process by Ubuntu 10.04, which is due out in April of 2010.
While both Upstart and XSplash contribute to improved boot performance all other changes should be transparent to the end-user. All other boot related services should perform as expected, with no migration or customization on the user's part.
Linux Kernel: 2.6.31
Ubuntu 9.10 "Karmic Koala" has also upgraded the Linux Kernel to version 2.6.31. This version ships with Kernel Mode Settings enabled for Intel graphics cards as well as some impressive security features. Kernel mode-setting (KMS) shifts responsibility for selecting and setting up the graphics mode from the X window system to the Linux Kernel itself. When X is started, it then detects and uses the mode without any further mode changes. This promises to make booting faster, improves graphical performance and reduces screen flickering.
In regards to security features, Ubuntu 9.10 enables non-exec memory in this latest version of the Linux Kernel. What does this mean? Most modern CPUs protect against executing non-executable memory regions such as heap or stacks, but require that the Linux Kernel use "PAE" addressing. This is known either as Non-eXecute (NX) or eXecute-Disable (XD). This is the default for 64bit and generic-pae kernels and this protection reduces the areas an attacker can use to perform arbitrary code execution. The protection is now partially emulated on 32-bit kernels without PAE starting in Ubuntu 9.10.
In addition, Ubuntu 9.10 has also made it possible to disable the loading of any additional kernel modules once the system is running. This adds yet another layer of protections against attackers loading kernel rootkits. This feature can be enabled by setting the value of /proc/sys/kernel/modules_disabled to 1.
With these security and performance additions in the 2.6.31 version of the Linux Kernel, Ubuntu promises to become a better contender on both the Desktop and the Server environments!
The previous version of Ubuntu, version 9.04, offered the ext4 filesystem as an option, but not as a default. After six-months of testing and stabilization I am also happy to announce that ext4 will be enabled by default in Ubuntu 9.10.
I have been very happy with the ext4 filesystem. I have seen impressive speed improvements over ext3, and now use ext4 on each of my systems that supports it. Again, another impressive step toward a faster and more performance-driven Ubuntu experience.
The AppArmor system in Ubuntu 9.10 features an improved parser engine that uses cache files. This greatly improves the time taken to initialize AppArmor at boot time. 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 not.
If you're not familiar with AppArmor, it is a Mandatory Access Control application originally designed at Novell. It is now primarily community-driven, but has been the default in Ubuntu for a few releases. It continues to mature, and security profiles are pre-defined and applicable for many common applications. To find out more about AppArmor you can read the Ubuntu community documentation on using it at: https://help.ubuntu.com/community/AppArmor
On the Desktop Ubuntu has become one of the first distributions to include GNOME 2.28. There are many impressive improvements for the graphical desktop environment, and Ubuntu leverages them very well. Because Ubuntu defaults to the GNOME desktop environment, all of the latest features will be available in Ubuntu 9.10.
GNOME 2.28 includes the first release of the GNOME Bluetooth module to help users manage their Bluetooth devices. GNOME Bluetooth supports hundreds of Bluetooth devices, including mice, keyboards and headsets. This also includes PulseAudio integration for headsets and headphones.
GNOME Bluetooth also includes support for internet access through your mobile phone. After pairing your mobile phone with GNOME Bluetooth, NetworkManager will include an entry to use your mobile phone for internet access. This is a very exciting improvement, and something I wish were included earlier. As someone who travels a lot, I pair my mobile phone and GNOME desktop quite often. Previously this required a physical connection, generally done over USB. With GNOME Bluetooth you can tether your devices without any wires!
Another useful improvement that I am excited about is the Time Tracker applet, which helps you track your time and tasks. This applet has been available previously, but with the release of GNOME 2.28 there have been a number of improvements. These include improved auto-complete support which allows you to update the start time on the fly, improved support for late-night workers and the ability to add earlier tasks that have already been completed.
For anyone that does any kind of contract work, this applet is a life-saver. I use it every day to track which contracts my time should be billed to, right down to the minute!
One other big change that Ubuntu users are going to notice on the desktop is the replacement of Pidgin Instant Messenger with Empathy. Empathy is the default instant messenger in GNOME, which is built on the Telepathy communications framework. Empathy allows the same functionality of Pidgin in that it can connect to multiple IM networks at once, but tries to do so in a more modular way.
Some of the improvements that you'll find in Empathy in this release are an improved method of updating your status and reorganizing contacts. Empathy also supports audio and video chats on supported networks, and video chats can now be made fullscreen. Users are also able to share their desktop with Empathy contacts by using the GNOME Remote Desktop Viewer, vino.
Geolocation has also been added using Geoclue for XMPP (Jabber, Google Talk) contacts. You can view a contact's location by hovering the mouse over their contact name in the list. Privacy options are also available for this feature, for those that cannot or wish not to publish this information.
Cheese, the webcam photo and video application, has been improved as well. Primary changes are an optimized screen for smaller devices such as netbook computers.
There are far more improved features in the new GNOME desktop to cover in this article. The Ubuntu desktop experience continues to be refined with each new release.
In the Cloud
Ubuntu continues to do work "in the cloud" with its Ubuntu Enterprise Cloud Images. Ubuntu 9.10 includes images for common use on the Ubuntu Enterprise Cloud as well as Amazon's EC2. These images allow you to dynamically built Ubuntu based virtual machines on remote servers and use them for whatever purpose you need. I have been fortunate to be one of the testers for the Amazon EC2 Ubuntu images, and I have to say they are very responsive and stable. If you or your company does any work with cloud computing I invite you to check out Ubuntu's Enterprise images with UEC or EC2.
Ubuntu 9.10 also continues its offering of Ubuntu One, as an integrated cloud-based file storage utility, integrated into Ubuntu. Ubuntu One allows you to very easily synchronize your computer with other computers on the Ubuntu One network storage service.
Sharing files between your computers or even with friends and family has not been easier. You can very easily drag-and-drop files to be stored long-term on remote storage, share links to the files over the web, and easily synchronize files between multiple machines in the same office.
Ubuntu One offers a very unique, very reliable service only available on Ubuntu based machines. This service continues to improve with the enhancements made in Ubuntu 9.10.
Ubuntu 9.10 "Karmic Koala" continues Ubuntu's tradition of six-month releases, each offering new features and improvements on the release before it. The release teams, as well as communities around the globe, have been hard at work to bring the world the latest and greatest in stable Linux desktop and server software. It truly is amazing the amount of time and work that can go into a release in such a short amount of time, yet Ubuntu has proven that it can be done time and time again. Ubuntu truly is a force to be reckoned with when it comes to pushing the envelope, yet at the same time stabilizing and improving the overall experience.
The core development team will have just a short vacation before they start work again on Ubuntu 10.04 "Lucid Lynx". This release will be a Long-Term Supported (LTS) release, meaning that it will be marketed to businesses and be made available on OEM hardware. Much of the work in Ubuntu 9.10 is instrumental to making the LTS release the best possible product that it can be. I am very excited to see what 10.04 has to offer, but for that we'll have to wait another (short) six-months. Until then, I hope you try out Ubuntu 9.10 and share in the movement that the Ubuntu desktop product has become!
(Screenshots used courtesy of GNOME. Original images and detailed release notes available at: http://library.gnome.org/misc/release-notes/2.28/)
If you have read this article you may be interested to view :
- Compiling and Running Handbrake in Ubuntu
- Control of File Types in Ubuntu
- Ubuntu 9.10: How To Upgrade
- Ubuntu User Interface Tweaks
- Securing Network Services with FreeBSD Jails
- Create a Local Ubuntu Repository using Apt-Mirror and Apt-Cacher