Emi*_*eil 5 package-management versions gcc
这是输出gcc --version:
./gcc --version
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Run Code Online (Sandbox Code Playgroud)
我知道这是版本 7.5.0,但是为什么版本之前有“Ubuntu”这个词,而它后面的“-3ubuntu1~18.04”在这个上下文(gcc 版本)中到底意味着什么?
该手册并没有真正帮助我:
--version
Display the version number and copyrights of the invoked GCC.
Run Code Online (Sandbox Code Playgroud)
编辑:请注意,我不仅仅是询问 XubuntuY 的含义。我现在知道这个问题已经在这里得到了解答。我想了解上面的整个字符串,包括为什么指定 ubuntu 版本。
您正在使用gcc版本 7.5.0,这是上游版本。
关于受支持的已发布产品;安全修复程序向后移植到现有软件包(除了少数例外),因此其余详细信息提供了 Ubuntu 软件包中包含的安全修复程序的详细信息。
有用的链接 - https://packages.ubuntu.com/bionic-updates/gcc-7
您将在其中看到更改日志链接,其中给出了含义,即。
gcc-7 (7.5.0-3ubuntu1~18.04) 仿生提出;紧急程度=中
- SRU:LP:#1848319。* 将 GCC 7.5.0 向后移植到仿生。
-- Matthias Klose doko@ubuntu.com 2019 年 12 月 4 日星期三 15:25:41 +0100
IE。您已获得有关导致创建该版本/包的修复程序的详细信息(如果您想要/需要该信息)。
据我了解。
括号中的部分是供应商特定的信息。Ubuntu 告诉你这是 gcc 的 Ubuntu 版本,后面的字符串是软件包版本。
包版本由连字符分成两部分(如果有多个连字符,则使用最后一个连字符进行分割)。“上游版本”和“Debian 修订版”(在某些情况下也可能有纪元)。“上游版本”可能是上游使用的文字版本号,也可能包含其他指示,例如 +dfsg 表示非自由文件已从原始 tarball 中剥离,或 +git 表示打包的内容实际上是一个 git 快照。
在这种情况下,“上游版本”是“7.5.0”(与字面上游版本相同),“Debian 修订版”是“3ubuntu1~18.04”
“Debian 修订版”中的更改标识 Debian 或其衍生版本中的更改,这些更改不会更改上游 tarball 的内容。分配版本号时有一些基本原则。
版本号中的波形符比较特殊,在版本比较算法中它比较的是低于空字符串,即 "1.2.3-2~foo" < "1.2.3-2" < "1.2.3-2foo" 它通常在将包向后移植到早期版本时使用,它也用于表示预发行版本。
现在让我们分解这个软件包的“Debian 修订版”。