我在自己控制的几台服务器上运行 Debian,我想远程升级它们。我无法直接访问键盘,因为它们是位于不同位置的 VPS 机器。
我已经远程运行了以下命令:
apt-get update
apt-get upgrade
apt-get dist-upgrade
...如何远程升级我的 Debian 系统上的内核?还有什么其他内容吗?
答案1
你做的是正确的。你必须重新启动才能使用新内核。
答案2
你可以使用 2.6.32-5 内核来验证你是否拥有uname -r
最新的 Debian 稳定版内核。问题是:“你需要更新的内核吗?还是你只是想确保你的内核是最新的?”如果你需要更新的内核,因为缺少某些功能或硬件支持,你可以启用 backports 存储库并从那里获取 3.2 内核。此处提供了反向移植说明启用 backports 存储库后,您可以运行,apt-get -t squeeze-backports install linux-image-$arch
其中 $arch 是您获取的字符串,uname -r
可能是 {486,686,amd64} 之一。
如果您只想验证内核当前版本,您可以检查您安装的内核包的当前版本,apt-cache policy linux-image-$(uname -r)
并查看 Installed: 和 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 版本。如果此处的软件包版本与 行中的 linux-image-2.6.32-5-686 版本不同Installed:
,apt-cache policy
那么您可能只需要重新启动进入较新的内核。
如果重启后它们仍然不同,那么您可能需要重新配置您的引导加载程序。
答案3
如果您只是为了安全而更新,那么您做对了(不要忘记重新启动服务器或虚拟机)。请记住:将 sshd 服务放在 rcX 中,这样您就可以在每次重新启动服务器时访问(几乎只要一切运行正常,哈哈)
PS:最后一个命令是 apt-get dist-upgrade (dist 和 upgrade 之间有连字符)