Weblog entry #13 for oxtan
And no matter how hard I try, I do not seem to be able to update my kernel.
etch:~# apt-get update
Get:1 http://security.debian.org etch/updates Release.gpg [189B]
Hit http://security.debian.org etch/updates Release
Get:2 http://ftp.de.debian.org etch Release.gpg [378B]
Hit http://ftp.de.debian.org etch Release
Ign http://ftp.de.debian.org etch/main Packages/DiffIndex
Ign http://security.debian.org etch/updates/main Packages/DiffIndex
Hit http://ftp.de.debian.org etch/main Packages
Ign http://security.debian.org etch/updates/main Sources/DiffIndex
Ign http://security.debian.org etch/updates/contrib Sources/DiffIndex
Hit http://security.debian.org etch/updates/main Packages
Hit http://security.debian.org etch/updates/main Sources
Hit http://security.debian.org etch/updates/contrib Sources
Fetched 2B in 1s (2B/s)
Reading package lists... Done
etch:~# apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
The following packages have been kept back:
linux-image-2.6-686
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
is this happening to anybody else?
my sources.list:
deb http://security.debian.org/ etch/updates main
deb-src http://security.debian.org/ etch/updates main contrib
deb http://ftp.de.debian.org/debian etch main
Comments on this Entry
The linux-image-2.6-686 package isn't a real package, it's just a link to the latest linux-image. Be default apt-get and aptitude won't upgrade to it. Try a little encouragement and you should find it pulls in the right new kernel image for you.
$sudo aptitude dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
Building tag database... Done
The following NEW packages will be automatically installed:
linux-image-2.6.18-5-686
The following NEW packages will be installed:
linux-image-2.6.18-5-686
The following packages will be upgraded:
linux-image-2.6-686
1 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.3MB of archives. After unpacking 48.0MB will be used.
Do you want to continue? [Y/n/?]
By the way you know you should be using aptitude not apt-get these days?
--
"It's Not Magic, It's Work"
Adam
[ Parent | Reply to this comment ]
################################################################
If you are using the apt-get package manager, use the line for
sources.list as given below:
apt-get update
will update the internal database
apt-get upgrade
will install corrected packages
################################################################
and however much better aptitude is, well, old habits die hard. I have upgraded this etch several times already (also kernel updates) with those commands, so I do not quite understand why it is not working now. Annoying, specially if you are subscribed to the security list and the instructions there are not correct.
[ Parent | Reply to this comment ]
[ Send Message | View dkg's Scratchpad | View Weblogs ]
the way the kernel packages are organized, an ABI-incompatible kernel is not merely a new version of the old package, but rather an entirely new package. this allows you to have multiple versions of the kernel installed on your system, which is a nice feature: If that new kernel you just installed fails to boot, the old version is still around as a fallback.
The linux-image-2.6-archname package is just a metapackage, as ajt described above; that is, it depends on the latest package that provides a 2.6 kernel for your architecture (archname == 686 in your case).
apt-get upgrade's heuristic is (from apt-get(8)):
Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version.
But since upgrading the metapackage would pull in a new package, apt-get upgrade won't touch it. This is what apt-get dist-upgrade is for:
dist-upgrade: in addition to performing the function of upgrade, also intelligently handles changing dependencies with new versions of packages;So an apt-get dist-upgrade would be willing to pull in new packages (the new kernel), whereas apt-get upgrade would not.
Hope this helps make the situation clearer. Thanks for posting this comment. I'm sure you weren't the only person tripped up by this.
[ Parent | Reply to this comment ]
Glad to read that good ole apt-get still gets the job done ;)
[ Parent | Reply to this comment ]
Not everyone agrees to that. I have noticed a re-occuring sentiment about aptitude being able to mess up things. I don't really trust aptitude, but that's because it has a weird user interface I just can't get used to. Apt-get works so much nicer for me. I believe the general idea is that one shouldn't use dselect, but apt-get is perfectly fine.
[ Parent | Reply to this comment ]
--
"It's Not Magic, It's Work"
Adam
[ Parent | Reply to this comment ]