您跑步了sudo apt-get update
,问题仍然存在。因此,您可能只拥有较新的版本,linux-image-server
而linux-headers-server
不是已配置软件来源中linux-server
提供的任何软件包。
即使您使用中央服务器,这种情况也可能会在很短的时间内发生(如果更新它,则可能会发生更长的时间)。我的理解是,如果使用镜子,它可能会出现更长的时间。这并不意味着您不应该使用镜像-中央服务器(http://archive.ubuntu.com
)通常非常慢,而国家,区域或其他镜像则要快得多。
一个软件包搜索发现,两者的3.2.0.37.45版本linux-image-server
,并linux-server
为Ubuntu 12.04存在。因此,这可能与您的镜子有关。
以下是一些替代方案:
忽略它
如果您能够将软件包管理器用于其他目的(例如,安装其他软件包),则可以忽略它。当您的镜像更新时,您可能只会得到软件包。
这不是一个问题,不要有最新的linux-server
包,因为它是一个综合包不提供任何实际的软件。它仅存在,因此它可以列出三个软件包作为依赖项,确保它们保持安装状态:
你已经有最新版本的linux-headers-server
和linux-image-server
。我的猜测是这是一个64位系统,这就是为什么未linux-generic-pae
显示任何消息的原因。似乎一切都很好。
然而:
- 如果问题出在 阻止更新和安装其他软件包的工作(而不是仅在执行此操作时显示这些消息而不干扰它),那么您应该应用其他解决方案。
- 如果您不希望一直都看到这些消息并希望摆脱它们,那么您可能也希望这样做。
- 即使没有使用落后于主要下载服务器的镜像,也没有得到此软件包,这有点奇怪,因为该软件包也是由提供的
http://security.ubuntu.com
。该服务器应始终在中启用/etc/apt/sources.list
。因此,我建议检查以确保已启用该功能。您可能需要sources.list
在编辑之前进行备份(sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
)。该问题也可能是由于使用过时的数据缓存Web代理(如果使用的话)造成的。(以下解决方案也可以解决此问题。)
更改为其他下载服务器
我猜您正在运行Ubuntu Server系统,并且可能未安装GUI。因此,请参阅:
更换镜像后,运行:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
如果愿意,您可以在linux-server
更新后将服务器改回。
手动下载并安装.deb
软件包文件
您可以在Ubuntu 12.04中手动下载并安装.deb
最新版本的linux-server
metapackage 文件。
cd
到要下载该软件包的位置。
如果这是64位系统,请运行:
wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-server_3.2.0.23.25_amd64.deb
如果这是32位系统,请运行以下命令:
wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-server_3.2.0.23.25_i386.deb
(我linux-meta
在Ubuntu的源包的Launchpad页面上获得了这两个链接。)
现在(对于64位和32位),运行以下命令以安装软件包:
sudo dpkg -i linux-server_3.2.0.23.25_*.deb
(或者只是开始输入包的名称并使用Tab它来完成它。)
取出包装
由于它是一个元软件包,提供您已经拥有的软件,因此可以删除该软件包。然后,您将不再收到错误。如果愿意,可以稍后再安装(可以定期运行apt-get update && apt-cache policy linux-server
以查看是否有新版本)。
如果要删除它,则有两个步骤。首先是卸载linux-server
。第二是确保软件包不会在以后自动删除。
依赖将不会被删除,立即。因此,首先执行这些步骤无关紧要。
1.卸载linux-server
。
要卸载linux-server
,只需运行:
sudo apt-get remove linux-server
2.将其依赖项标记为手动安装
要向APT(程序包管理器)告知您打算安装的程序包,即使没有任何东西声明它们具有依赖性,请将其标记为手动安装。
为此,如果这是64位系统,请运行以下命令:
sudo apt-mark manual linux-image-server linux-headers-server
如果是32位系统,请运行以下命令:
sudo apt-mark manual linux-image-server linux-headers-server linux-generic-pae
(您应该拥有,apt-mark
但如果没有,则不能安装软件,可以使用- apt-get install
而不是-- apt-mark manual
手动指定要安装的软件包,这会导致即使已安装,也将其标记为手动安装。)
来源:将 一个deb软件包标记为已使用,因此不建议将其自动删除
(尤其是Lekensteyn的答案。)
linux-server_3.2.0.37.45
)确实解决了该问题。