我想从 14.04 升级到 14.04.2 版本。我所做的是:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade -y
然后我想升级到 3.16 内核,因为上面的命令还没有完成,所以我所做的是:
sudo apt-get install linux-generic-lts-utopic xserver-xorg-lts-utopic libegl1-mesa-drivers-lts-utopic xserver-xorg-video-all-lts-utopic xserver-xorg-input-all-lts-utopic
sudo apt-get install linux-signed-generic-lts-utopic
现在我这样做:
uname -a
我明白了
Linux Y500 3.16.0-33-generic #44~14.04.1-Ubuntu SMP Fri Mar 13 10:33:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/os-release | grep VERSION= I get
VERSION="14.04.2 LTS, Trusty Tahr"
当我这样做时lsb_release -a
我得到了
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
我知道这一点uname -a
,而且lsb_release -a
两者都指的是不同的信息,但为什么
cat /etc/os-release | grep VERSION=
显示不同的版本?
答案1
总结:该系列 HWE 内核实际上是在 14.04.2 版本之前发布的。
真正的问题是,为什么Ubuntu 上的uname -v
输出#44~14.04.1-Ubuntu SMP Fri Mar 13 10:33:29 UTC 2015
14.04。2也就是说,为什么 14.04.2 系统会收到氢能资源内核版本号标记为 14.04.1 的内核?
这就是为什么你的问题可以归结为这个特定点:
lsb_release -a
并且同意;他们都说您使用的是 14.04.2(您确实有)。因此,唯一明显的差异在于 给出的有关内核的信息和两者以及有关您的整个系统的信息。cat /etc/os-release | grep VERSION=
uname
/etc/lsb-release
/etc/os-release
- 您运行的
uname -a
是 ,而不是uname -v
。但uname -a
会打印 所打印的所有可用信息(当和已知时,uname
它相当于)。您感兴趣的输出仅限于 中令人困惑的“内核版本”字段uname -snrvmpio
-i
-o
man uname
。 - 尽管有时它被称为“内核版本”,但实际上最好将其视为构建号或构建标识符,如果你不喜欢将非数字字符串称为“数字”。
uname -v
更改的输出使用户能够区分内核作为一系列单独的版本构建,即使它们属于相同的底层“内核版本”(uname -r
)。
要理解为什么你的“内核版本”包含 14.04.1 而不是 14.04.2,第一步是注意大多数内核版本字符串(包括下游 Ubuntu 内核)都不包含任何有关整个操作系统的版本信息。例如,在我的 15.04 系统上:
ek@Io:~$ uname -v
#12-Ubuntu SMP Fri Apr 3 04:03:26 UTC 2015
这是更常见的情况。第一个字 ( #12-Ubuntu
) 表示这是此特定内核的第十二个下游 Ubuntu 构建 - 或者,无论如何,它是一系列构建中的第十二个,这些构建可能完全由具有相同 的内核组成,也可能不完全由具有相同 的内核组成uname -r
。
Ubuntu 中的 HWE 内核包含指示特定 Ubuntu 版本的数字,因为它是从更高版本的 Ubuntu 反向移植而来的,应该很容易与那Ubuntu 版本的构建。为了区分通过以下方式提供的 Linux 3.16 的 HWE 构建linux-generic-lts-utopic 为了可靠通过提供的linux 通用 为了乌托邦,Trusty 版本的内核版本字符串包含 14.04.1。
为什么不用 14.04.2 而要用 14.04.1?(毕竟,14.04.2 发行说明说“这个版本包含更新的内核和 X 堆栈...”14.04.1 发行说明不要说这样的话。
原因是linux-generic-lts-utopic --第一个包是作为依赖项引入实际安装 3.16 内核——已发布并可在 Trusty 上安装之间14.04.1 和 14.04.2 点版本。
要检查这一点,您可以访问Launchpad 上的 Ubuntu和搜索linux-generic-lts-utopic
包, 揭示linux-meta-lts-utopic
作为底层源包。然后点击“查看完整发布信息”或者“查看完整更改日志”揭示了包裹的历史。
尤其,在出版史上, 笔记:
- 全部条目列表可靠作为目标,所以这与您的系统有关;我们没有查看错误的 Ubuntu 版本的软件包。
- 第一个被认为是稳定的软件包,即在更新或者安全口袋(而不仅仅是建议的口袋)开始于3.16.0.25.19在2014-12-11 01:25:33 UTC。
也就是说,linux-meta-lts-utopic
它于 2014 年 12 月 11 日为 Trusty 推出,十周前这2015 年 2 月 20 日发布 14.04.2 点版本。这些内核发布时,它们是针对 14.04.1 系统而非 14.04.2 系统构建并在其上测试的,因此它们的版本使用 模式进行编号(并且出于一致性考虑,应该保留这种编号方式)。#N~14.04.1-Ubuntu
答案2
米奇这基本上和我问你的问题是一样的这里之前:) 我也尝试去弄清楚。
我尝试通过 Google 搜索并访问了不同的论坛,包括 Ubuntu 官方资源,最后我们得到了以下结论:
Ubuntu 14.04.2 附带默认的 Utopic 内核,它是 3.16.0.30(稳定版),例如apt-cache policy
我从中获得内核:
Installed: 3.16.0-30.40~14.04.1
linux-headers-3.16.0-30-generic:
Installed: 3.16.0-30.40~14.04.1
Candidate: 3.16.0-30.40~14.04.1
linux-image-extra-3.16.0-30-generic:
Installed: 3.16.0-30.40~14.04.1
Candidate: 3.16.0-30.40~14.04.1
我所做的是,我使用来自 ubuntu.com 的官方镜像下载并重新安装了 Ubuntu,当我尝试按照你的方式升级它时,我得到的内核与你现在的内核相同。我认为这是因为它安装了最新的 Utopic 内核,但没有安装 Trusty Tahr 的稳定内核,因为我仍然得到 3.16.0.30 内核版本。