bd satish wrote: > [~]:11 $ cat /proc/version > Linux version 2.6.32-5-amd64 (Debian 2.6.32-39) (da...@debian.org) ^^^^^^^^^2.6.32-39 is running
> [~]:12 $ apt-cache policy linux-image-2.6.32-5-amd64 > linux-image-2.6.32-5-amd64: > Installed: 2.6.32-39 > Candidate: 2.6.32-39 2.6.32-39 is both installed and the latest candidate. > Version table: > *** 2.6.32-39 0 > 500 http://ftp.debian.org/debian/ squeeze-updates/main amd64 Packages > 500 http://ftp.fi.debian.org/debian/ squeeze-proposed-updates/main > amd64 Packages > 100 /var/lib/dpkg/status Version 2.6.32-39 exists in all three of those places, two network repositories and one local cache directory. This is an updated kernel that was pushed into the stable-updates area. It isn't a security upgrade. It is a point release upgrade. The previous kernel isn't being replaced for security reasons. Instead the new kernel is being release as a feature improvement. Therefore this one goes into the feature improvement repository of squeeze-updates. In addition this tells me that you have squeeze-proposed-updates in your sources.list file too. Lots of packages are pushed into squeeze-proposed-updates that never make it through the release process and never actually make it into a release. But probably nothing bad there. I don't know of anything causing trouble there. So probably okay. But I would not recommend doing that unless you know what you are doing. It isn't a repository that you would normally have in your sources.list file. > 2.6.32-38 0 > 500 http://ftp.fi.debian.org/debian/ squeeze/main amd64 Packages 2.6.32-38 is the kernel in the latest point release. Seeing it here in the standard squeeze repository at this point is normal. In the next point release the standard repository will be upgraded with the latest package. Until then it is available over in squeeze-updates. > 2.6.32-35squeeze2 0 > 500 http://security.debian.org/ squeeze/updates/main amd64 Packages > 500 http://security.debian.org/debian-security/ squeeze/updates/main > amd64 Packages This is the last security release kernel. Because it was a security release it went into the security.debian.org repository. As a security release it replaced the previous 2.6.32-35squeeze1 security release and 2.6.32-35 released squeeze kernel. It itself has been superseded by the above 2.6.32-38 and 2.6.32-39 kernels but isn't removed from the security archive. Eventually it is likely that another security advisory will need to be issued and yet a newer kernel will be released as a security release. In which case this one will be superseded then. > This is confusing. Linux image is 2.6.32-5 but "installed version" is > 2.6.32-39 ! Am I missing something ? Tom H wrote: > It means that you have > "linux-image-2.6.32-5-amd64_2.6.32-39_amd64.deb" installed and it's > the latest amd64 kernel deb for squeeze. Yes. For one as Tom says you already have the latest kernel installed. That is why you are not seeing the upgrade being offered. Because you already upgraded and already have the latest kernel installed. Not only that but you have rebooted since then and so are running that kernel. Usually there is a time window after install and before rebooting when you would still be running the previous kernel. That would be shown in the /proc/version information. As to your specific question, well, I only have a fuzzy understanding and can therefore only explain it partially. But I will give explaining it a go. But think of this like the Bohr model of the atom. It is not correct but still useful until a more precise understanding is needed. If someone wants to jump in and give the actual details that is fine. The kernel presents an ABI (application binary interface) and an API (application programming interface). That is the combined set of system calls and their interfaces. As long as the API does not change then kernel modules compiled with the kernel do not need to be updated. As long as the interface is maintained then kernel modules compiled against it do not need to be recompiled. But ever so often the ABI must change due to development. Mostly new system interfaces are added. But sometimes existing system interfaces are changed. In that case modules compiled with the kernel must be recompiled. That is an important point. If compiled kernel modules can be continued to be used or if they must be recompiled against the new kernel. Debian names the kernel package linux-image-2.6.32-5-amd64 with a version 2.6.32-39. If the ABI/API does not change then the package name is kept the same and the version is increased. If the ABI/API changes in an incompatible way and kernel modules need to be recompiled then the package name is changed to a different name. The package name, the package version will always have a part that matches the upstream kernel version. In this case 2.6.32. Then the part -5 signifies the version of the ABI/API in Debian. The -amd64 is obviously the architecture. The -39 is the version of that ABI/API package. Again, I am sure the model I presented is imprecise. Especially around the hand waving I did around ABI/API. If anyone wants to correct this with actual details that is great. Until then I hope it is good enough to at least have some understanding of the process that is involved and can make decisions based upon it to know when your system kernel needs to be updated and when associated kernel modules need to be rebuilt against it. At least you can tell when your running kernel matches the installed kernel and when the installed kernel is the latest available or when there is an upgrade pending. Hope that helps, Bob
signature.asc
Description: Digital signature