为什么我得到了矛盾的 Ubuntu 版本?

为什么我得到了矛盾的 Ubuntu 版本?

我正在运行 Ubuntu 12.04.*

我想知道我正在运行的是 12.04 的哪个版本(星号)。我读了有关LTS启用堆栈并且似乎 12.04 有 12.04.0、12.04.1、12.04.2、12.04.3、12.04.4、12.04.5 这些版本,它们可能与运行不同的内核和 xorg 服务器有很大不同。

我想找到我的确切版本,但问题是我得到了相互矛盾的信息

使用lsb_release -a收益率12.04。5

root@box:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:    12.04
Codename:   precise

看着cat /etc/apt/sources.list说 12.04。1

root@box:~# cat /etc/apt/sources.list | grep cdrom
# deb cdrom:[Ubuntu 12.04.1 LTS _Precise Pangolin_ - Release i386 (20120817.3)]/ precise main restricted

检查我的根文件系统的创建日期(以确认我的记忆,我在 2012 年 9 月的某个时候安装了该盒子(远早于 12.04.5))显示 12.04.1

root@box:~# dumpe2fs /dev/mapper/root    -h  | grep created
Filesystem created:       Fri Sep 21 12:56:19 2012

GUI 根本没有帮助并且只显示 12.04: 显示 ubuntu 版本

那么我运行的是哪个版本,为什么我会看到这些矛盾的信息?我的内核是 3.2 版本,但这还不能帮助我理解硬件支持堆栈政策和程序。会不会是我之前用的是 12.04.1 版本,然后不小心改成了 12.04.5?(这可能吗?但为什么我之后仍然运行 3.2 内核apt-get dist-upgrade?)或者只是lsb_release -a坏了,我应该提交错误报告?

答案1

让我们将您的问题分为两部分:

  1. 您当前的 Ubuntu 版本来自/etc/apt/sources.list

  2. 从其他所有内容的输出中可以了解您当前的 Ubuntu 版本。

现在来解释一下:

  1. Ubuntu

    该文件中唯一升级的行是以deb、或开头的行deb-src,因为#deb#deb-src

    Ubuntu 使用 apt 进行包管理。Apt 在文件中存储了存储库或软件渠道的列表。

    如果文件中有任何其他未注释的行并且不以 开头deb等,则该命令sudo apt-get update将产生错误。

    但与您相关的主要部分是文件不会整体更新,而是其中上面提到的行。因此,该文件基本上与您安装 Ubuntu 时的文件相同,并且更清楚地说明您12.04.1最初安装了 Ubuntu LTS 并升级到12.04.5LTS。

  2. 现在,第二部分,

    lsb-release --help

    -v, --version      show LSB modules this system supports
    -u, --upstream     show upstream LSB data
    -i, --id           show distributor ID
    -d, --description  show description of this distribution
    -r, --release      show release number of this distribution
    -c, --codename     show code name of this distribution
    -a, --all          show all of the above information
    

    即,该命令lsb_release -a为您提供有关当前 Ubuntu 版本的准确信息。

另外关于内核的其他问题,最新的内核是精确的是 3.13.*。所以,你的 Ubuntu 一切正常。但另一方面,如果你想在当前版本上安装最新的内核,那么你可能需要遵循此YouTube

编辑: 作为飞行员6指出并来自Ubuntu 维基12.04.x Ubuntu 内核支持部分:

看来 12.04.5 的内核版本是 3.13.*。

答案2

您正在使用 Ubuntu 12.04.5。它是更新的 12.04 版本。

但是包括内核和 X.org 在内的 HWE Stack 不会自动更新。

我没有发现任何可以报告的问题或错误。

答案3

当我更新一些使用 14.04.1 安装介质安装的系统时,我遇到了同样的疑问,这些系统已更新至 14.04.3,但未将内核推送到某个 HWE 版本上。

我认为有意义的事情是 12.04.5 的安装介质(CD 版本)将默认使用 Trusty HWE 内核(3.13.xx)。12.04.5 作为一个版本,只是指将所有软件包升级到某个点。

内核版本与点发布没有明确的联系。

因此,使用 12.04.5 版本的 Ubuntu 是没问题的,它使用 12.04 的原始内核。内核支持计划也很有帮助,对我的理解有很大帮助。

答案4

Ubuntu 系统和 GNU/Linux 系统通常都是模块化的,而不是单片化的。一般来说,您可以挑选软件包版本,只要它们都是为同一发行版构建的(在您的例子中是“精确”或 12.04)。

发布时间基本上由版本决定基础文件已安装的软件包。发行版本号一般用于指示软件包的更新程度,但不可能用一个数字来概括系统的整体状态。

有时,随着软件更新的应用,您的base-files软件包也会升级,因此描述您系统的版本号也会增加。这些版本号的增加并不是什么大问题,您也不需要做太多事情来阻止它们。它们只是表明 Canonical 推出了比平常更多的软件包更新,并且他们决定为这些检查点发布修订的 DVD 映像。


您发现的行sources.list

# deb cdrom:[Ubuntu 12.04.1 LTS _Precise Pangolin_ - Release i386 (20120817.3)]/ precise main restricted

… 无关紧要。首先,该#字符表示该行已被注释掉,并且没有任何效果。其次,我假设您的目录中也有一些条目sources.list指向 HTTP 存储库。网络上的这些存储库将携带比安装 CD 上的任何内容都更新的软件包,因此软件包更新程序会更喜欢较新的软件包。

因此,您最初使用 12.04.1 CD/DVD 安装了系统。但这一切都已成为过去。常规软件包更新现已将您升级到 12.04.5,就像您使用 12.04.5 介质安装了系统一样。


总结一下:

  • 您正在运行某个 12.04 版本。除非您刻意升级到下一个版本(例如 14.04),否则这种情况不会改变。
  • 更具体地说,您可以声称您的操作系统已更新至 12.04.5,如 所示lsb_release
  • 12.04.1、12.04.2、12.04.3 等之间的差异非常小,不值得大惊小怪。
  • 您可以选择不将某些软件包升级到最新版本,这是没问题的。

相关内容