我正在尝试在 debian jessie 上构建最新的 snmp 包。
但是,https://packages.debian.org/jessie/snmp似乎显示了相互矛盾的信息。页面标题如下:
包:snmp(5.7.2.1+dfsg-1+deb8u1等)【安全】
源包的链接net-snmp_5.7.2.1+dfsg-1+deb8u1.dsc具有完全相同的版本字符串。
但在底部,在“下载 snmp”下,可以下载版本5.7.2.1+dfsg-1+deb8u1+b1
。可下载版本中的+b1
-后缀来自哪里?
http://security.debian.org/dists/jessie/updates/main/binary-amd64/Packages.gz
似乎同意可下载版本包含+b1
但源包版本不包含:
> curl http://security.debian.org/dists/jessie/updates/main/binary-amd64/Packages.gz 2>/dev/null | zgrep -A 2 '^Package: snmp$'
Package: snmp
Source: net-snmp (5.7.2.1+dfsg-1+deb8u1)
Version: 5.7.2.1+dfsg-1+deb8u1+b1
当我尝试从源代码构建包时dget http://security.debian.org/debian-security/pool/updates/main/n/net-snmp/net-snmp_5.7.2.1+dfsg-1+deb8u1.dsc
,cowbuilder
我得到的包是用这样的文件名构建的:(版本中snmp_5.7.2.1+dfsg-1+deb8u1_amd64.deb
没有+b1
),正如我所期望的那样。我已经在 dget生成b1
的解压缩net-snmp-5.7.2.1+dfsg
文件夹中进行了 grep,但没有找到任何应该附加+b1
到包名称的内容。
我也尝试克隆git://anonscm.debian.org/pkg-net-snmp/pkg-net-snmp.git
提到的net-snmp-5.7.2.1+dfsg/debian/control
但没有任何版本的标签。最相关的标签似乎debian/5.7.2.1+dfsg-1
甚至没有+deb8u1
. 没关系。
那么如何构建想要安装5.7.2.1+dfsg-1+deb8u1+b1
的 snmp 包的版本呢?apt
我有正确版本的源包吗?如果没有,我应该在哪里得到它?
这是您在任何 debian 派生的发行版上下载任何软件包的源代码的方式:
网站 X 或 Y 说什么并不重要——它们可能已经过时,引用的存储库与系统上配置的不同,等等等等。让我们弄清楚细节(也许更重要的是:签名验证)。
关于此处解释
+b#
的后缀,在此上下文中不相关,因为它不表示源包中的更改。它只是通知包管理器升级二进制文件 - 一个从未更改的源生成的二进制文件,但可能会更改构建环境。更改日志会发生什么?发布团队可以在他们想要构建的请求中推送更改日志,因此在下一个版本之后,可能没有
+b#
版本的痕迹: