Simplified Package Management in Ubuntu Hoary
John Meuser takes you down memory lane on how you used to or currently do install packages in Debian-based Linux distributions. Now, thanks to Ubuntu’s Hoary distribution and some slick changes to Synaptic, it’s a breeze to install new software for GNOME and your entire Linux box.
Ubuntu Hoary is scheduled to be released next month, but many adventurous users have been using it for quite some time. Many GNOME users will begin using it this month to try out some of the new GNOME 2.10 features. Ubuntu Warty was little more than Debian Sid with an updated GNOME. Thanks to an active community over the course of the last six months, Hoary promises to offer much more. One of the biggest differences is the inclusion of X.org as the default X server, but there are a myriad of small additions that add up to make a big difference. Ubuntu’s modifications to the Synaptic package manager is one of the many.
APT and deselect
Debian’s APT system is arguably the most effective Linux package system available. Most of the power of APT comes from the vast repository system. Almost any program you can possibly want is as easy to install as
apt-get install packagename But what do you do if you do not know the name of the program that you want? Or what if you do not have a need in mind and you just want to see what is available? This need is what
dselect was written for.
Unfortunately, the ncurses interface, in my opinion, is one of the worst ever coded. Even an advanced user has problems navigating the complicated tree with obscure commands. Software installation is one of the first things a new user needs to do, so having such an arcane interface can be very daunting to a new Debian user.
The next evolution in APT came with
aptitude. Aptitude, like dselect, uses an ncurses text interface, but is much easier to use. The commands make more sense and so does the organization of the package tree. With Aptitude, the user can do things that were nearly impossible to do before. For instance, you can go to the top of the “Installed Packages” branch, and tell it to uninstall all installed packages. It will politely refuse to easily remove essential packages (by forcing you to type “Yes, I realize that this is a very bad idea” in order to proceed), but will clean your system of everything else. This is a good way to go back to the beginning without re-installing. While aptitude is by far the most powerful APT frontend, it is still quite daunting for a new user to use.
This is a function that Synaptic attempts to fulfil. It was originally released by a Debian derivative called Storm Linux1 which went under in 2001. It uses an easy to use GTK interface and has very sensible defaults (not unlike the philosophy behind all of GNOME). Ubuntu, being heavily desktop-oriented, naturally centered their package management around Synaptic.
Hoary brings a good number of changes to the Synaptic system to make package management even easier. In the true UNIX tradition, the changes are in the form of several tiny programs working together that do exactly what the need to, and nothing more. The most immediately visible addition is the
It is a tiny program that is started with GNOME and displays an icon in the notification area when updates are available. It updates the package listing periodically in the background, and will even begin downloading the upgraded packages.
For some reason the default behavior when you click on the icon is to update the package listing again, which doesn’t make sense because this happens in the background periodically anyway. If you right click on the icon you see all the functions available, including what I think is a sensible default,
Show Updates. This option runs another new program,
The upgrade manager shows what packages the system wants to upgrade, which you can deselect from being upgraded if you wish. Under “details” you can see the Changelog and Details of the package.
Once you decide that you are ready to proceed with the upgrade, hit the install button on the lower right corner of the window. Synaptic’s download and install system now takes over, which hides the details of the individual downloads.
Once all the packages are downloaded, the dpkg system installs the packages in the hidden terminal.
Questions that previously required interaction with the terminal now provide a Debconf interface using the GNOME frontend. The upgrade process never requires the user to access a terminal, which helps new users become comfortable with upgrading their system.
Ubuntu Hoary also makes basic APT configuration much easier for new users. It offers an interface to add or edit the entries in
/etc/apt/sources.list which can be accessed through Synaptic or the preferences menu of the update-notifier. It shows the repositories that are currently listed, and provides an interface to edit them or add new repositories.
The only function that is somewhat lacking with the new Synaptic frontend is application installation. There is a new program called
gnome-app-install that shows a simple list of common GNOME programs with a checkbox for installation or removal.
The list is very limited, so it isn’t very useful2. It doesn’t show anything but core GNOME programs, most of which are installed by default anyway on an Ubuntu system. The only inclusion that is perplexing to me as a VIM user is Emacs in the Accessories section. Emacs is a GTK1 program that doesn’t interact at all with GNOME. The graphical version of VIM is GTK2-based and registers itself with the GNOME session. So I don’t quite understand Emacs’ inclusion and VIM’s exclusion, but that’s a whole other flame war.
I believe that Hoary’s release next month will be a great new step in the evolution of the Linux desktop. Ubuntu hits the sweet-spot of ease-of-use and functionality perfectly, and I for one anxiously await the release of 5.10 in October. I can’t wait to see what the Ubuntu team comes up with next.
1 As I predicted, I was completely wrong with my assuption that iSynaptic was made by Storm Linux. They made a similar tool using GTK1, which is what I was thinking of. Synaptic was originally a WINGS gui, which is the widget set that WindowMaker uses. Thanks to all who sent me the correction.
2 Jdub emailed me shortly after publishing this article explaining that when Hoary is released, gnome-app-install will list every package that provides a .desktop icon in the GNOME application menu. In other words, basically every major gui program will be listed.