我似乎无法在 trusty 中安装 linux-virtual 内核(用于虚拟机)。软件包安装得很好,但它们只是空的,除了 usr/share/doc 中的变更日志和版权文件外什么都没有。
在 Ubuntu 14.04 trusty 上安装 -virtual kernel 的正确步骤是什么?还是整个东西现在都被弃用了?
谢谢
以供参考:
root@s2:/boot/grub# dpkg -L linux-virtual
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/linux-virtual
/usr/share/doc/linux-virtual/copyright
/usr/share/doc/linux-virtual/changelog.gz
root@s2:/boot/grub# dpkg -L linux-image-virtual
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/linux-image-virtual
/usr/share/doc/linux-image-virtual/copyright
/usr/share/doc/linux-image-virtual/changelog.gz
root@s2:/boot/grub# dpkg -L linux-image-extra-virtual
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/linux-image-extra-virtual
/usr/share/doc/linux-image-extra-virtual/copyright
/usr/share/doc/linux-image-extra-virtual/changelog.gz
root@s2:/boot/grub# dpkg -L linux-headers-virtual
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/linux-headers-virtual
/usr/share/doc/linux-headers-virtual/copyright
/usr/share/doc/linux-headers-virtual/changelog.gz
root@s2:/boot/grub# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
答案1
包裹linux-image-*
不名称中包含内核版本号元包(也可以看看这个问题)。它们的工作原理是不直接提供软件,而是始终将为你的 Ubuntu 版本提供的最新稳定内核声明为依赖性。 (这里有一些关于一般依赖关系的更多信息。)
这当有新内核可用时,会自动安装(并且无需删除旧内核,因此如果新内核出现问题,您可以使用旧内核进行启动)。
尽管如此,内核linux-image-virtual
导致安装(目前) 与 相同linux-image-generic
。也就是说,在最近的版本(例如 14.04)中,Ubuntu 不再为虚拟机提供单独的内核。(但linux-image-virtual
仍然为您提供内核并安装更新的内核;您不必安装任何其他元包来实现这一点。)Ubuntu 12.04做有单独的虚拟内核包。
那里是仍有差异linux-image-generic
和之间linux-image-virtual
,这就是linux-image-generic
引入一些额外的内核模块这可能被认为是非必要的,因为它不仅依赖于最新的linux-image-<VERSION>-generic
软件包,还依赖于最新的linux-image-extra-<VERSION>-generic
软件包。相反,linux-image-virtual
依赖于linux-image-<VERSION>-generic
但不是在linux-image-extra-<VERSION>-generic
。
这实现了(至少部分)使“虚拟机内核”更加轻量级的目标。
考虑到这一点,你可能会感到困惑一套linux-image-extra-virtual
仍然存在,即使在 Ubuntu 14.04 中也是如此。只需将linux-image-generic
元包声明为依赖项即可。当linux-image-extra-virtual
依赖于实际的linux-image-extra-<VERSION>-virtual
模块提供包时(即当此类包存在时,例如在 12.04 中),它会安装当时的单独虚拟内核以及额外的模块。现在没有单独的虚拟内核,因此需要linux-image-extra-virtual
做的就是安装额外的模块,这可以通过确保已linux-image-generic
安装来实现。
linux-image-extra-virtual
实际上是过渡方案在最近的 Ubuntu 版本中;它实际上只存在,以便旧系统(例如,12.04)linux-image-extra-virtual
在升级到较新的系统(例如,14.04)后安装了必要的软件包。
资料来源:
- 嵌入指向http://packages.ubuntu.com数据库。
- 错误 1222278 的评论 1经过亚当·康拉德
-generic
,解释和内核元包之间的当前区别-virtual
。
在最近的 Ubuntu 版本中,有很多文档没有更新以反映这一点linux-image-virtual
并linux-image-generic
提供相同的内核,这就是我提供链接以packages.ubuntu.com
明确显示依赖关系的原因。(这里有一点点信息在这个问题中。我认为,Ubuntu 或 Debian 发行说明中明确详细地说明了这一点。)
或者说整个东西现在已经被弃用了?
这或许是对所发生情况的准确描述。但关键点在于,这与没有直接提供实际的内核文件无关linux-image-virtual
;linux-image-generic
元包也没有直接提供这些文件。