为何一些包的Priority在apt-cache和deb文件当中的不一样

admin2024-09-06  23

最近遇到一些问题,调查的时候发现是一些包的Priority在apt-cache和deb文件当中的不一样导致的,复现步骤如下:

$ apt update
$ apt download whiptail
$ dpkg-deb -e whiptail_0.52.23-1+b1_amd64.deb
$ cat control | grep Prio
Priority: optional
$ apt-cache show whiptail | grep Prio
Priority: important

$ apt download man-db
$ dpkg -e man-db_2.11.2-2_amd64.deb 
$ cat DEBIAN/control | grep Prio
Priority: important
$ apt-cache show man-db | grep Prio
Priority: standard

$ apt download install-info
$ dpkg -e install-info_6.8-6+b1_amd64.deb 
$ cat DEBIAN/control | grep Prio
Priority: important
$ apt-cache show install-info | grep Prio
Priority: optional

可以看到whiptail man-db install-info这3个包在apt-cache显示的Priority分别是important standard optional,但是在deb文件当中的值却是optional important important。
经调查发现Debian存在一个override的机制,会覆盖掉deb文件里面的部分值,具体细节可参考: https://wiki.debian.org/FtpMaster/Override

$ wget http://ftp.debian.org/debian/indices/override.bookworm.main.gz
$ gunzip override.bookworm.main.gz 
$ cat override.bookworm.main | grep -E "whiptail|man-db|install-info"
man-db	standard	doc	
install-info	optional	doc	
whiptail	important	utils	

将override文件下载下来后查找对应的包,可以看到对应的Priority与apt-cache当中的一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!