我最近dpkg-query -L $package
对同一个包运行了几次,得到了不同的结果。不同之处在于$file
缺少一个文件(我们将称之为)。
在这两个命令之间,我对该包进行了一些调整,运行了dpkg-reconfigure $package
和aptitude reinstall $package
,还删除了$file
。
软件包版本(如图所示aptitude show $package
)仍然与我执行第一个时的版本相同dpkg-query -L
。
我有点困惑如何dpkg-query -L
生成它的列表;我以为它显示的是包本身的实际内容,但这些数据似乎暗示它的结果与实际系统状态有关。
恢复文件不会改变的输出dpkg-query -L $package
。
如何dpkg-query -L
生成其文件列表?
答案1
dpkg-query -L $package
(以及)从文件dpkg -L $package
中获取已安装文件的列表。/var/lib/dpkg/info/$package.list
最有可能的是,该包的/var/lib/dpkg/info/$package.config
脚本(或执行的其他任何脚本dpkg-reconfigure
)会创建一个文件并将其添加到列表中。