[conspire] Ubuntu Unable to process updates

Rick Moen rick at linuxmafia.com
Sat Mar 1 11:59:22 PST 2008


Quoting K Sandoval (indigo.kai at gmail.com):

[Switching to doing Ubuntu package-management from the command line:]

> You know what I think I might just do that.

Well, if you want to do that, here's what I recomend, using the task of
going from feisty (7.04) to gutsy (7.10) as an example.  (You can use a
printout of this e-mail as a cheat-sheet.)



Key notion: small steps

First, take a good look at /etc/apt/sources.list.  Your non-comment 
lines are probably something like this:

deb http://us.archive.ubuntu.com/ubuntu/ feisty main restricted universe multiverse
deb http://us.archive.ubuntu.com/ubuntu/ feisty-updates main restricted
deb http://archive.ubuntu.com/ubuntu feisty-backports main universe multiverse restricted
deb http://security.ubuntu.com/ubuntu feisty-security main restricted universe multiverse

You're going to want to change every instance of "feisty" to "gutsy" --
but first, you want to sync up your system with the very latest packages
available on the Feisty Fawn branch.  Why?  Small steps.  You want to
minimise the change of hiccups during the feisty -> gutsy upgrade, to
make the version gap small.  So:

$ sudo apt-get update  #Fetches newest catalogues for each 'deb' line.
$ sudo apt-get dist-upgrade  #Upgrades all installed pkgs to latest.

When that is done, turn your attention back to sources.list.  You
_could_ hand-edit each line's "feisty" to "gutsy".  Or you could do
this, using "sed", the "stream editor".  In this context, "stream" means
on the fly, i.e., batched.  The commands are (pretty much) the same ones
that work in vi.

sudo sed -e 's/\sfeisty/ gutsy/g' -i /etc/apt/sources.list

The "-e" is edit string.  "-i" is input file.  You could equivalently 
have opened sources.list for editing in vi:

$ sudo vi /etc/apt/sources.list 

...and done:

:%s/feisty/gutsy/g

...then saved and edited.

The colon is a "Hey, vi, the following is a command from the colon ('ex') set."
"%" means "This will apply to the entire file."
"s" means substitute.
"/feisty/gutsy/" means "For 'feisty', substitute 'gutsy'."
"g" means "globally".

However, doing it with "sed" saves time and fumbling:  It's a
single-step edit.


Key notion:  Update most important packages first.

Having upgraded your system to the latest "feisty" packages, and then 
changed sources.list to point to "gutsy", you need first to fetch the
"gutsy" catalogues:

$ sudo apt-get update

During any big jump, I always recommend if possible fetching and
installing the most important packages, on which others depend, first as
a separate operation.  On Debian/*buntu systems, those are:  libc6 perl 
dpkg apt apt-utils debconf

So, as your first installation of "gutsy" packages, you can do:

$ sudo apt-get install libc6 perl dpkg apt apt-utils debconf

Then, update the rest of the packages:

$ sudo apt-get dist-upgrade

You will almost certainly receive a new kernel package, as part of
those, and will probably see some dire, alarmist warning about needing
to reboot.  Yes, you _should_ reboot, but it's not as urgent as the
worrywart message would suggest.  E.g., I upgraded my PPC laptop from
Xubuntu feisty to gutsy a couple of weeks, ago, haven't rebooted yet,
and all that's happened is sound is temporarily non-functional in Xine,
etc.


*buntu release names, thus far:

Warty Warthog, 4.10
Hoary Hedgehog, 5.04
Breezy Badger, 5.10
Dapper Drake, 6.06 "LTS"
Edgy Eft, 6.10
Feisty Fawn, 7.04
Gutsy Gibbon, 7.10
Hardy Heron, 8.04 "LTS" (if they make the 2007, month 04 target)
Intrepid Ibix, probably 8.10 (if they make the 2008, month 10 target)

"LTS" designates a release for which Canonical, Ltd. offers long-term
support contracts.

Ubuntu/Kubuntu/Edubuntu/Xubuntu/Mythbuntu/Gobuntu/Fluxbuntu users need
to periodically edit the branch in sources.list _because_ *buntu is a
release-oriented distribution.  By contrast, users of the Debian
testing/unstable tracks have no such burden because those are rolling
targets, and users of the Debian "stable" track don't either, because 
the name "stable" is implemented in the Debian online package mirrors as
a symbolic link that gets re-pointed on each release day -- so you as a
Debian user don't need to think about it.







More information about the conspire mailing list