如何远程升级debian系统?

我在我控制的几台服务器上运行debian,并想远程升级它们。 我没有直接访问键盘,因为他们是VPS机器在不同的位置。

我已经远程运行以下命令:

apt-get update apt-get upgrade apt-get dist-upgrade 

…我如何远程升级我的debian系统上的内核? 还有什么更多的呢?

你在做什么是正确的。 您必须重新启动才能使用新的内核。

你可以用uname -r来validation你的2.6.32-5内核,这是debian stable的最新版本。 问题是:“你需要一个更新的内核吗?或者你只是想确保你的内核是最新的?” 如果您需要更新的内核,因为缺less某些function或硬件支持,则可以启用backports存储库并从那里获取3.2内核。 这里有关于backports的说明 。 启用backports存储库后,可以运行apt-get -t squeeze-backports install linux-image-$arch其中$ arch是从uname -r获得的string,这可能是{486,686,amd64}之一。

如果您只想validation您的内核是否正在运行,您可以使用apt-cache policy linux-image-$(uname -r)来检查当前版本的内核软件包,并查看Installed:and Candidate:行。 他们应该是一样的。 您也可以将此版本与当前列出的“stable-sec”(意思是稳定的安全性)的版本进行比较, 以进行包裹跟踪系统 。

比较内核版本时,不应该将当前的内核ABI版本2.6.32-5与当前版本的linux-2.6版本相混淆。 这时2.6.32-5内核的当前版本是2.6.32-45。

更新:

正如@bahamat正确指出的那样,你不能从uname -r得到完整的图像,但是/proc/version包含了更完整的信息。 如果你看看cat /proc/version的输出结果,你应该看到如下所示:

 Linux version 2.6.32-5-686 (Debian 2.6.32-45) ([email protected]) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Sun May 6 04:01:19 UTC 2012 

这告诉我们当前运行的内核来自linux-image-2.6.32-5-686软件包的2.6.32-45版本。 如果这里的软件包版本与apt-cache policyInstalled: line的linux-image-2.6.32-5-686版本不同,那么可能只是需要重新引导到新的内核中。

如果重启后它们仍然不同,那么你可能需要重新configuration你的引导程序。

如果您只是为了安全而进行更新,那么您的做法是正确的(不要忘记重新启动服务器或虚拟机)。 记住:把sshd服务放在rcX中,这样你可以在每次重新启动的时候访问你的服务器(几乎如果这些东西运行正常,哈哈)

PS:最后一条命令是apt-get dist-upgrade(在dist和upgrade之间有连字符)