apt-show-versions 显示定制 deb 包的错误信息

apt-show-versions 显示定制 deb 包的错误信息

当我运行apt-show-versions -a dwm命令时(apt-show-版本列出了可用的软件包版本和分发),然后我看到以下输出:

# apt-show-versions -a dwm
dwm:i386 6.0-4-martin install ok installed
dwm:i386 6.0-7 jessie http.debian.net
dwm:i386 6.0-4-martin newer than version in archive
# 

dwmdeb几年前用定制的软件包安装了。但是,apt-show-versions当我使用存储库时,为什么显示它比存档中的版本更新jessie

deb http://http.debian.net/debian jessie main contrib non-free
deb-src http://http.debian.net/debian jessie main contrib non-free

..他们应该提供dwm版本6.0-7

答案1

从 Debian 的角度来看你的私有版本比存档更新,但原因并不明显。在 Debian 版本中,Debian 修订版不能包含连字符,因此6.0-4-martin被解析为martin上游版本的Debian 修订版6.0-4,而6.0-7被解析为7上游版本的Debian 修订版6.0。比较版本时,6.0-4大于6.0...

您可以使用以下方法检查dpkg --compare-versions

$ dpkg --compare-versions 6.0-4-martin gt 6.0-7
$ echo $?
0

这意味着dpkg认为6.0-4-martin大于6.0-7

您应该使用+作为私有后缀的分隔符(6.0-4+martin或下次合适的任何内容),除非您正在准备私有向后移植,在这种情况下您应该使用~.

相关内容