很难理解包管理器存储库?

很难理解包管理器存储库?

我目前正在开始使用终端 (MacOS),并学习如何充分利用它。我知道 Homebrew 是 MacOS 上非常流行的替代包管理器,所以我决定研究一下它。

我安装了软件,一切正常,可以使用。但通常有两件事我很难弄清楚。

一般来说,我无法理解包管理器从哪里获取包?举个例子,如果我通过 APT 或 HB 下载 Firefox,他们从哪里获取软件包?

apt-get install firefox
brew cask install firefox

当我访问 Mozillas 网页并下载 Firefox 时,我知道他们只是将文件存储在其中一台服务器上,但上述情况也是如此吗?在这种情况下,它是原始开发人员服务器还是 HB 似乎使用的 github?

另外,当我从网站下载文件时,我通常知道 Mozilla 是一家信誉良好的公司,并且他们的文件是安全的。但如何确保通过 APT 或 HB 获取的文件也是安全的?

附言。我知道这与必须匹配的 SHA 密钥有关。

答案1

软件的维护者会将软件打包为某种格式,并将其上传到旨在供所有包管理器用户访问的服务器。

当您从计算机运行包管理器时,它将连接到服务器并将包从服务器下载到您的计算机,然后安装它。

Homebrew、apt、pacman、dnf、AppStore、Google Play 商店、Microsoft Windows 应用商店。他们都是这样工作的。

如何确保通过 APT 或 HB 获取的文件也是安全的?

安全并不是一个明确定义的概念。您确保文件的字节是由受信任的人创建的,而不是被任何其他黑客更改的。

因为您信任您的包管理器及其配置文件将连接受信任的服务器,并且某种数字签名或哈希技术将确保您获得由受信任的人创建的包。

答案2

Macos 也有像 Linux 一样的存储库,只是设置不同。每个存储库中都会存在一个 .git 文件夹,因此找到它们的位置将为您提供所有存储库。

find /Users/username -name ".git" -print

相关内容