what-source(what-utils 的一部分)返回两次包名称

what-source(what-utils 的一部分)返回两次包名称

在我的 Ubuntu 14.04.2上,what-source返回两次包名称一些包,例如

~$ what-source openssl
openssl
openssl

或者

~$ what-source firefox
firefox
firefox

这是正常行为吗?

手册中的示例这里仅返回一个(对于我的机器也一样:仅返回一个名称):

~$ what-source sl
sl

到底是怎么回事?

答案1

作为手册页说,what-source是的简单包装apt-cache show | grep。实际代码是:

#!/bin/sh
# [....]
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.

apt-cache show "$1" | grep "^Filename:" | sed -e "s:\(.*\)/\(.*\)/\(.*\)/\(.*\)/.*:\4:"

apt-cache show将显示存储库中可用的每个软件版本的描述。例如:

$ apt-cache policy firefox
firefox:
  Installed: 38.0+build3-0ubuntu0.14.04.1
  Candidate: 38.0+build3-0ubuntu0.14.04.1
  Version table:
 *** 38.0+build3-0ubuntu0.14.04.1 0
        500 http://mirror.cse.iitk.ac.in/ubuntu/ trusty-security/main amd64 Packages
        500 http://mirror.cse.iitk.ac.in/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     28.0+build2-0ubuntu2 0
        500 http://mirror.cse.iitk.ac.in/ubuntu/ trusty/main amd64 Packages

三个存储库中有两个版本可用,apt-cache将显示这两个版本的描述:

$ apt-cache show firefox | grep -i -e version -e filename
Version: 38.0+build3-0ubuntu0.14.04.1
Filename: pool/main/f/firefox/firefox_38.0+build3-0ubuntu0.14.04.1_amd64.deb
Version: 28.0+build2-0ubuntu2
Filename: pool/main/f/firefox/firefox_28.0+build2-0ubuntu2_amd64.deb

所以,是的,这种行为完全正常。

相关内容