如何查看 .deb 包是否插入存储库?

str*_*elj 3 package-management deb

在 Xubuntu 16.04 上,我想安装最新的 Virtualbox 包。我知道我可以通过 APT 安装它并通过 Ubuntu 存储库接收更新,或者我可以添加一个 PPA(如果有的话)并从那里接收它。

在此链接中,我可以下载软件包或将其添加到sources.list并安装:https : //www.virtualbox.org/wiki/Linux_Downloads

但我宁愿通过从他们的网站下载来安装最新的软件包。如果我运行“ dpkg -i install packagename”,它会安装软件包,但是它会添加一个新的存储库,每当我运行“ sudo apt-get update && sudo apt-get upgrade”时我都会从中接收更新?我可以以某种方式检查包是否包含这样的存储库吗?

Ste*_*itt 7

这不是万无一失的,但这将给出一个很好的指示:

dpkg-deb -c virtualbox-5.1_5.1.12-112440\~Debian\~stretch_amd64.deb|grep etc/apt
Run Code Online (Sandbox Code Playgroud)

在这种情况下,什么也没有找到,所以看起来这个包没有添加存储库。

我们专门寻找/etc/apt/sources.list.d. 这不是万无一失的,因为包可以在它们的postinst. 您可以使用

dpkg-deb --ctrl-tarfile virtualbox-5.1_5.1.12-112440\~Debian\~stretch_amd64.deb|tar xf - ./postinst
Run Code Online (Sandbox Code Playgroud)

然后读取提取的postinst(这确认包没有添加存储库)。