linux-image-virtual软件包在14.04中是空的可靠吗?
我似乎无法获得可信赖安装的linux-virtual内核(用于VM)。 软件包安装完全正常,但它们只是空的,除了usr / share / doc中的changelog和copyright文件之外没有任何东西。
在Ubuntu 14.04上安装-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
在名称中不包含内核版本号的linux-image-*
包是元数据包 (另请参阅此问题 )。 它们的工作原理是不直接提供软件,而是始终将为Ubuntu版本提供的最新稳定内核声明为依赖项 。 ( 这里有一些关于依赖性的更多信息。 )
这会导致新内核在可用时自动安装 (并且不会删除旧内核,因此如果在较新的内核中出现问题,您可以使用较旧的内核进行引导)。
尽管如此,安装的linux-image-virtual
内核(目前)与linux-image-generic
。 也就是说,在最新版本(如14.04)中,Ubuntu不再为VM提供单独的内核。 (但是linux-image-virtual
仍然为你提供内核并导致安装更新的内核;你不必安装任何其他的元数据包来实现这一点。) Ubuntu 12.04 确实有单独的虚拟内核包。
linux-image-generic
和linux-image-virtual
之间仍然存在差异 ,那就是linux-image-generic
引入了一些额外的内核模块 ,这些模块可能被视为不重要,不仅取决于最新的linux-image-
package,还有最新的linux-image-extra-
包。 相比之下, linux-image-virtual
依赖于linux-image-
但不依赖于linux-image-extra-
。
这实现了(至少部分)使“虚拟机内核”更轻量级的目标。
考虑到这一点,您可能会对linux-image-extra-virtual
软件包如何仍然存在感到困惑,即使在Ubuntu 14.04中也是如此。 这只是通过将linux-image-generic
元数据包声明为依赖项来实现的。 当linux-image-extra-virtual
依赖于实际的linux-image-extra-
模块提供软件包时(例如,当这些软件包存在时,例如在12.04中),它安装了当时的单独虚拟软件内核,加上额外的模块。 现在没有单独的虚拟内核,因此所有linux-image-extra-virtual
需要做的就是安装额外的模块,这是通过确保安装linux-image-generic
来实现的。
linux-image-extra-virtual
实际上是最近Ubuntu版本中的过渡包 ; 它实际上只存在,因此具有linux-image-extra-virtual
旧系统(例如12.04)在升级到较新系统(例如,14.04)后安装了必要的软件包。
资料来源:
- 嵌入到http://packages.ubuntu.com数据库中条目的链接。
- Adam Conrad 对bug 1222278的评论1 ,解释了
-generic
和-generic
内核元数据包之间的当前差异。
在最近的Ubuntu版本中,有很多文档尚未更新以反映linux-image-virtual
和linux-image-generic
提供相同的内核,这就是为什么我提供了到packages.ubuntu.com
链接到显式显示依赖关系。 ( 在这个问题中有一些信息。我认为有一些Ubuntu或Debian发行说明明确地解决了这个问题。)
或者现在全部弃用了吗?
这可以被认为是对所发生事件的准确描述。 但关键是,这与linux-image-virtual
没有直接提供的实际内核文件无关; linux-image-generic
元数据包也不直接提供它们。