dpkg/aptitude/apt-show-versions 中的版本字符串是什么意思?

mic*_*mic 0 aptitude dpkg apt

当我apt-show-versions samba在我的 Debian 机器上执行此操作时,我得到类似的信息

samba:amd64/buster 2:4.9.5+dfsg-5+deb10u1 uptodate
Run Code Online (Sandbox Code Playgroud)

将此与您可以在官方来源找到的 samba 版本进行比较,我假设已安装 samba 4.9.5。但其他数字和字母是什么?

我的猜测是这些表示 Debian 特定的修改。但想了解如何阅读它们以及它们的含义。特别是如果这些更改但“基本”版本(此处为 4.9.5)保持不变。

Ste*_*itt 5

完整的描述在Debian 政策中给出;在此特定版本中:

\n
    \n
  • 2( 在:) 之前是epoch,基本上是 Debian 特定的计数器,当主版本号 \xe2\x80\x9c 返回 \xe2\x80\x9d 时使用
  • \n
  • 4.9.5是上游版本,匹配Samba 4.9.5
  • \n
  • +dfsg是一个后缀,表示上游源代码被重新打包以删除 DFSG 非自由内容(源代码中不\xe2\x80\x99t 符合Debian 自由软件指南的部分)
  • \n
  • 5-)之后是包的修订版;当对包装进行更改时,此值会增加,而不更改上游版本
  • \n
  • +deb10u1是一个后缀,表示该软件包针对 Debian 10 进行了更新,作为 Debian 10 发布后的稳定更新,并且这是第一次此类更新。
  • \n
\n

Epoch 很少发生变化,并且仅与上游版本更改相关。当包装发生变化时,后缀也会发生变化,而上游版本不会发生变化;第一个后缀(5此处)在下一个 Debian 版本的开发过程中发生变化,第二个后缀(deb10u1此处)发生变化以更新到特定的 Debian 版本(用于安全更新或点版本中的重要错误修复)。

\n