Advanced Configuration for Automated Repository Setup for Debian
Automated installation and upgrades with Debian are easy out of the box, but going past the basics on configuration can get extremely confusing. This article straightens out your confusion.
The repository listing that comes with your stock Debian install is nice but very, very limited. This article gives you a repository listing (sources.list) which will take you almost anywhere you want to go in terms of what's available in the Debian software universe.
It also initiates you into the mysteries of what all those notations in a Debian source.list file mean, shows you how to add repositories to a repository including how to easily find and install the GPG keys used to ensure that you get the software you intended to install instead of malware, and how to set up the apt preferences file so that you get the software from the current repository when you can and newer generation software when you need to.
This article also shows you how to get your installer to let you know about software bugs before you install software packages, and presents you with a simple way to protect yourself from corruption of configuration files. You'll also learn how to get to more repository sites should you have needs that are out of the ordinary.
With the information in this article and references that will take you further, you should be able to make your Debian Linux workstation fit you instead of vice versa.
Install/Upgrade Application Basics
dpkg -i packagename
dpkg -r packagename
dpkg –configure -a
(configure) A program might not install correctly for any number of reasons. This command will clean up the mess for all half-installed programs.
Note that there are times when you’ll want to install a program even if it’s available in repositories—for example, if you need a bug fix that isn’t officially out yet. Opera for Linux 9.25 had a problem with running Flash, so I downloaded and manually installed the beta 9.5 package.
This is the first automated downloadable package manager for Debian. It’s simple, but for the most part, you’re better off using aptitude from the command line. The command you’ll be using with it is:
get update Update local repository database. This tells you what packages are currently available.
aptitude is my favorite updater/installer command-line tool:
# aptitude search applicationname # aptitude install applicationname
It’s a GUI shell over dpkg. You can use it as an easy way to install packages.
If you’re using stable, it’s what pops up the red triangle to signal upgrade time. It’s a great tool. Unfortunately, it died in the maintenance process (status as of February 2008). It’s been eliminated from unstable/testing, and the version in Experimental is broken. However, it worked perfectly when I installed Kubuntu (Ubuntu with KDE window manager pre-installed) to a VMware Server VM recently, so I hope it will return soon to Debian.
I've started using this GUI program for system updates. While there is no way it can be used at this point to generate automated program upgrade notification in Linux, it works just fine for displaying lists of upgradeable programs and installing the ones that you'll actually want. Invoke it via Start > System > Update Manager. The GUI is simple and should be self-explanatory, and the Details window works as described in the "How Do You Protect from Program Bugs?" section later.
In the meantime, a good command-line solution for upgrading is:
# aptitude safe-upgrade
It’s less likely to produce surprising results by removing packages than aptitude full-upgrade. However, it won’t remove packages if the dependencies for a package require that this be done; full-upgrade will. But you’ll have more warning if you have to use full-upgrade.
I suggest putting a reminder in your computer via Kalarm (choose Start > Office > Kalarm) to check for upgrades on a weekly basis. Unfortunately, without adept, there’s no really satisfactory solution for automatically checking for updates. The gnome update-notifier utility (works with the gnome Update-Manager) is currently distributed with an Ubuntu configuration file.