为什么我会与Ubuntu版本矛盾?


10

我正在运行Ubuntu 12.04。*

我想知道我正在运行的12.04版本(星号)。我阅读了有关LTSEnablementStack的信息,似乎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坏了,我应该提交一个bug?



1
@布赖恩 我不是很专心地问我的具体问题。通常,要求提出非常具体且因此可以回答的问题。建议的非重复性问题只是更为笼统,事后没有太多可取之处。与其重复,不如将其称为关联
humanityANDpeace

3
@Braiam不,我想知道我的版本。无论如何,只要提供所提供的答案以及信息的来源,我现在就知道您提出的问题确实相关。它不是重复的。这个问题的优点是,这个问题实际上是从特定问题解决的:我有哪个版本?我认为,如果不是askubunut / SE本身所做的事情,您设法证明了这些问题的相关性:做得好:)
humanityANDpeace

1
我没有嫁给这个问题。我觉得有点奇怪,因为您有点急于解决问题,我认为我问这个问题的方式对于寻找与我类似问题的答案的人来说更加清晰。排序2是“ 1 + 1”,“ 40/20”和“ 2 * 1”的结果。即使结果相同,处理每个“问题”的方式也大不相同。
humanityANDpeace

Answers:


10

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

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

  2. 您当前的Ubuntu版本来自所有其他内容的输出。

现在,进行解释:

  1. 来自Ubuntu

    这被在该文件升级的唯一行是开头的线路debdeb-src#deb#deb-src因为

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

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

    但是与您相关的主要部分是,文件不会整体更新,而是上面所述的内容。因此,该文件与安装Ubuntu的时间基本上相同,并且更清楚地说明,您安装了Ubuntu 12.04.1LTS以开始并升级到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的确切信息。

关于其他有关内核的问题,Precise可用的最新内核是3.13。*。因此,您的Ubuntu一切都很好。但是要注意的是,如果您想在当前版本上安装更多最新的内核,则可能需要关注该YouTube

编辑:作为Pilot6指出并从Ubuntu的维基12.04.x Ubuntu的内核支持部分:

似乎12.04.5的内核版本为3.13。*。


精确的最新内核为3.13。
飞行员

@ Pilot6-但该链接另有说明。
拉斐尔

试试linux-image-lts-trusty
Pilot6 '16


8

您正在使用Ubuntu 12.04.5。已更新12.04版。

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

我看不到任何可报告的问题或错误。


真?哇-自从我安装了2012年9月(很早于12.04.5)以来,我惊讶于它是如何实现的。我可以通过12.04.1 cdrom安装系统并最终得到12.04.5吗?
humanityANDpeace

5
点发行不是真正的发行。您安装了例行更新并得到了它。这是正常的。
Pilot6'1

4

更新某些使用14.04.1安装介质安装的系统时,我有相同的查询,该系统已更新为14.04.3,而没有将内核推送到HWE发行版之一上。

我想到的是,默认情况下,用于12.04.5的安装介质(CD发行版)将使用Trusty HWE内核(3.13.xx)。12.04.5作为发行版,仅表示将所有软件包都升级到某个点。

内核版本未明确与单点发行捆绑在一起。

因此,最好使用Ubuntu 12.04.5发行版,该发行版将原始内核用于12.04。查看内核支持时间表也可以提供很多信息,并极大地帮助了我的理解。


感谢您的回答。“内核版本未明确与单点发行版绑定”是和否。当然,当您列出12.04.5时,可以是3.2.x或3.13.x内核,具体取决于是否安装了12.04。 0,并且更新后不在HWE堆栈上)。或者,如果您执行的是12.04.0,然后选择了HWE堆栈,则通过从12.04.5 cd / dvd进行安装,同样拥有一个3.13.x内核。否,如果您需要3.2.x及其5年支持,则需要从已归档的12.04.0媒体开始。
humanityANDpeace

1
绝对,我确保仅使用Precise Pangolin的第一个安装程序版本14.04安装程序来构建新系统。然后从那里进行dist-upgrade,避免每6-9个月耗尽内核支持!
Arronical

@Arroincal,您说的是精确的穿山甲吗?那你的意思是12.04确定吗?无论如何,如您所确认的那样,XX.XX.0安装介质的好处是LTS的内核可以保留5年,并且在LTS中不是伪造的6-9内核支持。
humanityANDpeace

是的,我的意思是值得信赖,大脑出现故障!
Arronical

3

简短的回答:lsb_release -a/etc/os-release并且/etc/lsb-release会告诉您确切的信息。

不要看,# deb cdrom:[Ubuntu 12.04.1 LTS _Precise Pangolin_ - Release i386 (20120817.3)]/ precise main restricted因为这是指您最初用于安装OS的介质,该介质包含用于12.04.1的软件包。

实际上,根本不看/etc/apt/sources.list。您可以随意屠杀它,并包含甚至不再受支持的发行版或更新的版本中的源。例如,即使我信任,我/etc/apt/sources.list也有deb http://archive.ubuntu.com/ubuntu/ precise main universe发言权。


的确,你说的是真的。考虑到strace lsb_release -a 表明,最终它会简单地读取(如果有)/etc/lsb-release,并且对于ubuntu来说,要比cat /etc/lsb-release没有python开销要多得多,仅对于非Ubuntu debian或更模糊的情况而言,它似乎lsb-release可以提供基于apt系统的启发式方法。对于debian /etc/debian_version是另一个来源。确实,我建议不要使用lsb-release何时可以直接从文本文件读取数据的方法。
humanityANDpeace

2

通常,Ubuntu系统和GNU / Linux系统具有更大的模块化能力,而不是整体的。通常,您可以选择软件包的版本,只要它们都是针对同一发行版(在您的情况下为“ precise”或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等之间的差异是微不足道的,不值得大惊小怪。
  • 您可以选择不将某些软件包升级到可用的最新版本,这样就可以了。

1

您可以通过键入来确切地找到您正在使用的版本Ubuntu版本

猫/ etc / issue

或使用命令

lsb_release -a

如其他答案所示(您需要先安装它,因为默认情况下它不是Ubuntu附带的)


大。与/etc/issue您一起找到了另一个bases-file告诉版本的软件包文件。由于冗余是伟大的增加维护工作的信息也可通过提供/etc/os-release/etc/ls-release这亦是base-files
humanityANDpeace
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.