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-genericlinux-image-virtual之间仍然存在差异 ,那就是linux-image-generic 引入了一些额外的内核模块 ,这些模块可能被视为不重要,不仅取决于最新的linux-image--generic package,还有最新的linux-image-extra--generic包。 相比之下, linux-image-virtual依赖于linux-image--generic依赖于linux-image-extra--generic

这实现了(至少部分)使“虚拟机内核”更轻量级的目标。

考虑到这一点,您可能会对linux-image-extra-virtual软件包如何仍然存在感到困惑,即使在Ubuntu 14.04中也是如此。 这只是通过将linux-image-generic元数据包声明为依赖项来实现的。 当linux-image-extra-virtual依赖于实际的linux-image-extra--virtual模块提供软件包时(例如,当这些软件包存在时,例如在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-virtuallinux-image-generic提供相同的内核,这就是为什么我提供了到packages.ubuntu.com链接到显式显示依赖关系。 ( 在这个问题中有一些信息。我认为有一些Ubuntu或Debian发行说明明确地解决了这个问题。)

或者现在全部弃用了吗?

这可以被认为是对所发生事件的准确描述。 但关键是,这与linux-image-virtual没有直接提供的实际内核文件无关; linux-image-generic元数据包也不直接提供它们。