我想修改 Debian 软件包的依赖项,并且我已在其控制文件中进行了更改。但是,列表apt-cache depends pkg_name
仍然显示已删除的依赖项。那么,上述命令从哪里获取 Debian 软件包的依赖项列表?它不是从控制文件中获取的吗?
答案1
apt-cache
数据来自以下列表:
/var/lib/apt/lists
例如:
grep -i "Package: wget$" -A10 /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_zesty_main_binary-amd64_Packages
但是如您所知,deb 包的元数据也包含依赖项列表。
因此,如果您想了解deb
文件对其自身依赖项的看法,请运行:
dpkg -I package-name.deb | grep -i depends
答案2
我不清楚你在做什么,但我正在尝试回答你的问题
“apt-cache depending”从哪里收集依赖信息?
当您运行时,它会从文件和 目录apt-get update
中提到的存储库中获取所有包的元数据。/etc/apt/sources.list
/etc/apt/sources.list.d
这些元数据存储在两个文件中
/var/cache/apt/pkgcache.bin
和
var/cache/apt/srcpkgcache.bin
apt-cache
命令使用这两个缓存文件来显示用户的查询。
这些文件如何更新?
srcpkgcache.bin
包括你通过 deb 和 deb-src 行从互联网上获得的所有信息
这些信息仅在 apt-get update 上更改。
其中缓存了apt 和 dpkg 状态文件内pkgcache.bin
的信息以及从中提取的信息。srcpkgcache.bin
这些信息会随着 apt 或 dpkg 所做的每次更改而改变。