对 apt-get 更新感到困惑,对 .deb 包未安装程序感到困惑?

对 apt-get 更新感到困惑,对 .deb 包未安装程序感到困惑?

tl;dr 为什么有些 .deb 可以安装程序而其他的却不可以,apt-get update 在控制台中返回什么/为什么它似乎总是“获取”仿生安全存储库?

我是一名 Linux 新用户,对某些软件包的工作原理有些困惑。我还在 apt-get update 上看到了相互矛盾的信息。

1) 我正在尝试安装 NordVPN。我可以很轻松地按照此处列出的说明进行操作。https://nordvpn.com/download/linux/

为什么您下载的初始 .deb 文件实际上并未安装 NordVPN。它与 Steam 的 .deb 文件有什么区别?nordvpn-release.deb 实际上在做什么?一些 deb 是否只是引用其他 deb 存储库的软件包?

2)据我了解,apt-get update 应该更新软件包存储库,而 apt-get upgrade 应该对更新的存储库进行操作。

但如果是这样的话,为什么运行两次 apt-get update 会返回两个不同的日志?毕竟它似乎在安装某些东西。当我安装 nordvpn-release.deb 并使用 apt-get update 时,我首先会得到三个与 NordVPN 软件包相关的“Get”。但是当我再次运行它时,其中两个消失了,最后一个变成了 HITS。它不应该只返回相同的内容吗,因为它只是为我提供最新软件包的列表?为什么连续使用 apt-get update 会返回不同的东西?为什么 update 似乎总是“获取”Bionic-security?

答案1

你的猜测基本正确。

NordVPN 网站上的初始 deb 文件只是添加了一个包含实际程序的存储库。它在 中创建了一个/etc/apt/sources.list.d名为 的文件nordvpn.list。此文件包含指向存储库的以下链接:deb https://repo.nordvpn.com/deb/nordvpn/debian stable main。实际程序就是从该存储库安装的。

输出apt-get update不同的原因是,当您运行 时apt-get update,apt 会检查 中列出的所有存储库/etc/apt。在安装 deb 后第一次运行它时,apt 检查了新添加的存储库并发现有需要更新的软件包,因此它获取了有关这些更新的新数据。第二次运行 时apt-get update,apt 已经知道了可用的更新,因此它发现没有什么新东西可做。之后apt-get upgrade可以升级必要的软件包。

对于 bionic-security 更新,我会尝试运行sudo apt-get upgrade,然后再次更新。这应该会变为命中。

希望这能解决

相关内容