什么是 Ubuntu 存储库? 它是如何工作的以及如何启用/禁用它

Ubuntu软件仓库,你可能已经听过它们。每当你在Ubuntu系统上尝试下载、安装、移除或更新软件包时,你都会用到它。

那么,Ubuntu是将所有这些内容都存储在你的操作系统里吗?还是在某个遥远的地方呢?

本文将深入探讨Ubuntu软件仓库的概念、工作机制以及如何启用或禁用它们。

让我们开始吧。

什么是Ubuntu软件仓库?

Ubuntu软件仓库是由Ubuntu维护的软件资源库。它们托管在网络(互联网)上,任何人都可以通过它们访问Ubuntu工具和软件。

这些仓库包含了成千上万的软件包。所有这些都可以供普通用户访问。你可以将软件仓库理解为一个软件存档库。

仓库旨在提供一个安全且集中的场所,以便访问满足你需求的软件。这些Ubuntu软件仓库在添加软件时遵循严格的规则。每款软件在发布到仓库之前,都经过Ubuntu版本的全面测试。

由于Ubuntu是基于Debian的,它使用APT包管理器来管理软件包。这些软件包采用.deb格式,包含了运行任务所需的库和程序。

这与macOS和Windows有所不同,因为它们不提供专门但可靠的地方来访问软件,尤其是在软件包格式良好的情况下。在Linux中,你会发现各种不同风格的包格式。例如,有适用于Debian的DEB软件包,而RPM则适用于基于RHEL的发行版。

由于Ubuntu使用APT包管理器,因此必须使用apt命令在Ubuntu中安装软件。

让我们进一步了解包管理器,以更好地理解Ubuntu软件仓库的工作原理。

Ubuntu软件仓库如何与包管理器协同工作?

要理解Ubuntu软件仓库,我们必须先了解包管理器的工作原理。

包管理器是一组软件,可以让你管理Linux发行版上的软件包。因此,使用包管理器,你可以在系统上安装、升级、移除或配置软件包。

这就引出了仓库的概念。

仓库是一个虚拟位置,列出了所有的软件包。在这里,每个软件包都有其元数据信息。

因此,当你尝试执行更新、搜索或安装等操作时,包管理器会与软件仓库配合,以成功完成操作。

例如,如果你尝试安装一个软件包,包管理器会尝试在软件包仓库中查找它,然后继续安装。

但是,在包管理器直接与仓库交互之前,它会查询其本地元数据缓存以获取信息。使用本地缓存可以避免每次运行命令时都连接到远程仓库。此外,如果缓存过时,它将无法安装软件,并可能抛出“无法找到软件包”的错误。

另请阅读: [已解决] Linux 中的“E:无法找到软件包”错误

这意味着在安装或更新任何软件包之前,你需要更新本地缓存。

Ubuntu软件仓库的类型

Ubuntu软件仓库分为四个主要类别。 它们包括:

  • 主要的
  • 受限制的
  • 宇宙
  • 多元宇宙
  • 个人软件包存档 (PPA)

通常来说,普通用户只需要了解这些类型即可。 但是,如果你想完全掌握Ubuntu软件仓库,则必须了解它们,因为每种仓库类型都提供不同的东西。

#1. 主要的

Ubuntu的主要软件仓库是自由软件的所在地。这里列出的任何软件都可以免费重新分发。此外,Ubuntu团队还支持这些自由软件。所有这些使得主要组件非常受欢迎,方便用户访问流行的开源应用程序。社区、用户和Ubuntu开发者维护着主要仓库的软件列表。他们精心挑选软件,为最终用户提供价值。此外,每款软件都会收到安全更新以及Canonical的技术支持。

注意:首次安装Ubuntu时,此功能也会默认启用。

#2. 受限制的

受限组件涉及非自由工具和驱动程序。尽管Ubuntu完全是开源的,用户必须访问专有工具和驱动程序才能使其底层硬件或工具正常工作。这也意味着Ubuntu开发者或社区无法更新Restricted中列出的软件,将更新工作留给了原始开发者。

#3. 宇宙

宇宙软件仓库托管自由开源软件。 然而,与主仓库不同的是,你不会获得定期的安全更新,因为Ubuntu不负责管理。因此,宇宙仓库由社区维护。由于Ubuntu是社区驱动的,你可以在这里找到成千上万的优秀软件。

#4. 多元宇宙

多元宇宙仓库组件处理非自由开源软件。你可以在此处访问具有法律和许可费用或问题的非自由软件。因此,如果你选择使用多元宇宙,必须在从仓库下载或安装软件之前做好功课。

#5. 个人软件包存档 (PPA)

PPA仓库由个人和开发团队管理,用于托管他们的软件或大量其他软件。它们提供了一种简单的方法来通过其他仓库类型获取不可用的软件包。

激活/停用Ubuntu软件仓库类型

你可以通过图形界面或运行命令来激活/停用Ubuntu软件仓库类型(主、宇宙、多元宇宙和受限)。

下面我们来看看这两种方法。

#1. 使用图形界面

要以图形方式打开/关闭Ubuntu软件仓库类型,你必须打开“软件和更新”。

你可以通过搜索或访问“应用程序”>“软件和更新”来找到它。

默认情况下,所有四个仓库均已启用。你可以打开/关闭这些选项并关闭它们以使其生效。

如果你想启用合作伙伴仓库,请转到“其他软件”选项卡,然后勾选“Canonical Partners”选项。

#2. 使用命令

你可以使用命令启用Ubuntu软件仓库类型。

要启用它们,请运行以下命令。

$ sudo add-apt-repository main

$ sudo add-apt-repository restricted

$ sudo add-apt-repository universe

$ sudo add-apt-repository multiverse

你还可以通过一个命令启用所有四个功能。

$ sudo add-apt-repository main restricted universe multiverse
#输出
sudo add-apt-repository main restricted universe multiverse

Adding component(s) 'main, restricted, universe, multiverse' to all repositories.

Press [ENTER] to continue or Ctrl-c to cancel.

Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease

Hit:2 http://security.ubuntu.com/ubuntu jammy-security InRelease

Hit:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease

Hit:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease

Reading package lists... Done

nitt ~

如果要移除仓库,则需要使用-r参数运行相同的命令。例如,检查移除宇宙仓库的命令。

$ sudo add-apt-repository -r universe

要禁用/移除,你需要编辑sources.list文件或使用图形界面方法。

你可以通过运行以下命令来编辑sources.list文件。

$ sudo gedit /etc/apt/sources.list

如果你没有安装Gedit,你可以使用Vim或使用以下命令安装Gedit。

$ sudo apt-get install gedit

如上图所示,你可以取消注释要移除的仓库行。

PPA:与Ubuntu仓库相比的情况

除了四种主要类型的Ubuntu仓库之外,你还必须了解一种类型,即PPA(个人软件包存档)。

PPA由各个团队或开发者创建和管理,为用户提供中央软件仓库。与传统仓库相比,它们具有改进的兼容性、更快的更新和非官方软件包支持等优势。

然而,如果你想要更高的可靠性和信任度,没有什么比官方管理的Ubuntu仓库更好的了。

要使用PPA,你需要将其添加到系统的仓库列表中。

此外,PPA有两种类型:官方和非官方。Canonical或其他受信任的组织管理官方PPA仓库。这些官方PPA被认为可以安全使用。另一方面,非官方PPA仓库不以任何形式或方式附属于Ubuntu。这意味着它们是由第三方组织和个人创建的,这使得它们变得不可靠。

Ubuntu仓库命令

在本节中,我们将总结仓库的不同命令。

仓库列表

要列出系统上的所有仓库,请运行以下命令。

$ nano /etc/apt/sources.list

仓库文件是sources.list,位于/etc/apt/文件夹中。

但是,你可以在其他位置找到它:/etc/apt/sources.list.d/文件夹。

该文件是完全可编辑的,你可以通过在相应行上注释来禁用仓库。

# deb http://archive.ubuntu.com/ubuntu focal multiverse

添加新仓库

如前所述,你可以通过运行apt-add-repository命令来添加仓库。它与add-apt-repository不同,后者要求你提供仓库名称作为输入。

$ apt-add-repository ‘deb http://repository_address version branch’

你需要在此时输入仓库地址、关联版本和分支。

此外,当你添加仓库时,你可能必须安装其GPG安全密钥。

删除仓库

可以使用以下命令删除仓库。

$ add-apt-repository --remove ‘deb http://repository_address version branch'

Ubuntu中的PPA仓库

在Ubuntu中添加PPA仓库需要你首先安装software-properties-common软件包。 你可以使用以下命令来完成此操作。

$ sudo apt-get install software-properties-common

完成后,你可以使用以下命令添加PPA仓库。

$ sudo add-apt-repository ppa:user/repo

所以,如果你想添加notepadqq PPA,你需要运行以下命令。

$ sudo add-apt-repository ppa:notepadqq-team/notepadqq

同样,你可以使用以下命令删除PPA。

$ sudo add-apt-repository --remove ppa:user/repo

结论

Ubuntu是一个出色的Linux发行版。它为新用户提供了一种简单的方法来了解Linux的世界。Ubuntu仓库是Ubuntu及其自己的APT包管理器如何管理软件包的一个很好的例子。

现在你已经完全了解了Ubuntu软件仓库的工作原理,你可以根据自己的需要对其进行自定义。

接下来,请查看我们关于Ubuntu PPA及其安装方法的详细文章。