如何理解“apt-cache dependent”输出中的“替换”字段?

如何理解“apt-cache dependent”输出中的“替换”字段?

当我apt-cache depends tar在 Debian 8.3 安装下运行时,它说它将替换CPIO:

# apt-cache depends tar
tar
  PreDepends: libacl1
  PreDepends: libc6
  PreDepends: libselinux1
  Suggests: bzip2
  Suggests: ncompress
  Suggests: xz-utils
  Suggests: tar-scripts
  Conflicts: cpio
  Breaks: dpkg-dev
  Replaces: cpio
# 

但是,我已经安装了cpiotar软件包:

$ COLUMNS=80 dpkg -l cpio tar
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  cpio           2.11+dfsg-5  amd64        GNU cpio -- a program to manage a
ii  tar            1.28-2.1     amd64        GNU version of the tar archiving 

(由 cas 编辑:Martin 安装的版本不是2.11+dfsg-4.1+deb8u12.11+dfsg-5从 debian 获得的版本sid,但这没有什么区别。出于同样的原因,Faheem 的答案仍然是正确的)

如何理解Replaces:输出中的字段apt-cache depends

答案1

你的问题缺少一些信息。

apt-cache show tar 

Package: tar
Version: 1.28-2.1
[snip]
Replaces: cpio (<< 2.4.2-39)
[snip]
Conflicts: cpio (<= 2.4.2-38)

Package: tar
Source: tar (1.27.1-2)
Version: 1.27.1-2+b1
[snip]
Replaces: cpio (<< 2.4.2-39)
[snip]
Conflicts: cpio (<= 2.4.2-38)

请注意,它说它替换cpio了 version << 2.4.2-39。对于冲突也是如此。现在,我也cpio安装了。

apt-cache policy cpio

cpio:
  Installed: 2.11+dfsg-4.1+deb8u1
  Candidate: 2.11+dfsg-4.1+deb8u1
  Version table:
     2.11+dfsg-5 0
         50 tor+http://httpredir.debian.org/debian/ unstable/main amd64 Packages
 *** 2.11+dfsg-4.1+deb8u1 0
        500 tor+http://security.debian.org/ jessie/updates/main amd64 Packages
        100 /var/lib/dpkg/status
     2.11+dfsg-4.1 0
        500 tor+http://httpredir.debian.org/debian/ jessie/main amd64 Packages

但版本比2.4.x.这是一个古老的问题,也许可以从当前的问题中删除tar。请随意提交错误。

答案2

“替换”是指将一个或多个文件替换为您正在搜索的包的包。有关更多详细信息,请参阅 Debian 政策指南:https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces

相关内容