分享最新优惠信息
购买主机更加划算

分享Debian、Ubuntu和Mint系统添加包存储库的几种简单方法

软件包存储库(简称repo)是存储软件包并可从中检索的位置,它被组织在一个特殊的目录树中,通常包含一个索引文件和Linux包管理器访问repo中的包及其依赖项所需的元数据。

其中,APT(高级打包工具——类Debian系统上的默认设置)等包管理器使用户能够从配置的存储库自动安装和升级包。它们还具有依赖性解析功能和软件更新检查功能。更重要的是,所有包管理器(如果不是大多数的话)都可以删除不再需要的包。

注意在继续之前,请记住只从信任的来源添加软件存储库!

在本文中,小编将简单介绍在Debian和Ubuntu Linux及其衍生产品(如Linux Mint)中添加包存储库的简单方法,有需求的朋友不妨看看。

了解Debian和Ubuntu上的APT存储库

APT包管理器从各种存储库中获取包,存储库可以是二进制的或源代码的,可以是自动的或普通的。它也可以在线或离线(例如在CD-ROM上),但前者更常见。此外,repo可以是官方的(由Debian或Ubuntu/Canonical维护)或非官方的(第三方)。

存储库在/etc/apt/sources.list配置文件或者存储在/etc/apt/sources.list.d目录下的文件中定义。每个repo文件必须以.list扩展名结尾。

$ ls /etc/apt/sources.list.d/

列出所有APT存储库

在存储库文件中,每一行都具有以下语法。

deb  URI  distribution component1  component2 … componentN
或者
deb-src  URI  distribution   component1  component2 … componentN

第一个参数指定存档类型(deb–二进制或deb-src–源文件),接下来是URI–存储库的根目录,然后是分发,以及一个或多个组件,具体如下所示:

APT存储库文件

自动APT存储库

要定义自动存储库,必须指定一个发行版和一个或多个组件,并且发行版不得以斜杠结尾。以下是自动回购定义的示例:

deb http://repository.spotify.com  stable  non-free
deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/focal  pgadmin4  main
deb https://download.mono-project.com/repo/ubuntu stable-focal main

非自动或简单的APT存储库

对于非自动存储库,分布指定索引文件的相对路径,它必须以斜杠结尾。此外,不得指定任何组件。以下是一些例子:

deb http://cloud.r-project.org/bin/linux/debian bullseye-cran40/
deb file:///home/tecmint/rep-exact  binary/

重要的是,APT依赖于本地包索引,这是一个包含来自/etc/apt/sources.list文件和/etc/apt/sources.list.d目录下定义的存储库的可用包的数据库。你可以在/var/lib/apt/lists/目录下找到包索引文件。

更改存储库配置后,必须始终在安装或更新包之前更新本地包索引。

$ sudo apt update
或者
$ sudo apt-get update
注意通常情况下,软件所有者或维护者会提供一种手动或自动添加所需存储库的方法,你可以从中将他们的软件包安装到Linux系统上。

接下来让我们看看如何添加apt 存储库。

在Debian和Ubuntu上手动添加APT存储库

要手动添加存储库,只需在/etc/apt/sources.list.d目录下创建存储库文件。小编不建议在/etc/apt/sources.list文件中添加所有存储库。

以下示例显示如何添加R软件环境包存储库。

$ sudo vim /etc/apt/sources.list.d/r-packages.list

将存储库配置复制并粘贴到文件中,并确保URI、分发和组件等参数与存储库中定义的相匹配:

deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/

手动添加APT存储库

然后使用以下wget命令添加存储库密钥。

$ wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc 

或者,也可以使用echo和tee命令添加repo,如下所示:

$ echo "deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/" | sudo tee /etc/apt/sources.list.d/r-packages.list
$ wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc

接下来,需要使用存储库中所做的最新更改更新本地包索引,然后从存储库安装包,如下所示:

$ sudo apt update
$ sudo apt install --no-install-recommends r-base

要禁用apt存储库,只需在存储库配置文件中将其注释掉,如以下屏幕截图所示。

禁用APT存储库

使用apt-add-repository命令添加APT存储库

add-apt-repository命令行实用程序用于将存储库添加到/etc/apt/sources.list文件或/etc/apt/sources.list.d目录中。如果存储库已经存在,它可以使用-r标志将其删除。

如果add-apt-repository实用程序在您的系统上不可用,可以安装提供它的software-properties-common软件包,命令如下:

$ sudo apt update
$ sudo apt install software-properties-common

这里来看看下面的例子。第一个命令添加repo,第二个命令使用wget实用程序检索repo密钥并使用tee实用程序将其保存到指定文件:

$ sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
$ wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc

如果尝试添加一个已经存在的repo,add-apt-repository命令将显示消息“ Repository already exists ”,如以下截图所示。

存储库已存在

下一步是更新apt包索引并从存储库安装包,如前所述:

$ sudo apt update
$ sudo apt install --no-install-recommends r-base

添加个人包档案 (PPA)

PPA是用于通过Launchpad发布用户贡献的软件包的软件存储库。以下示例展示了如何添加Shutter截图工具的官方PPA。

$ sudo add-apt-repository ppa:shutter/ppa
$ sudo apt-get update
$ sudo apt install shutter

删除PPA存储库

要使用apt-add-repository实用程序删除存储库,请使用其-ror--remove标志,如上所述:

$ sudo add-apt-repository -r "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"

使用GUI实用程序添加包存储库

最后但同样重要的是,你还可以使用GUI应用程序将存储库添加到您的系统。在Ubuntu系统上,通过Activities搜索栏打开Software & Updates。然后切换到Other Software选项,如以下屏幕截图中突出显示的那样。接下来,单击ADD并输入存储库配置并按照提示进行操作。

软件和更新窗口

在Linux Mint系统上,打开系统菜单并搜索Software Sources,然后打开它。当要求进行身份验证时,输入密码以使用根权限调用应用程序。接下来,单击Additional Repositories选项卡,然后单击Add按钮,如下图所示:

附加存储库

在弹出窗口中,添加Additional Repositories并单击OK

添加APT存储库

成功添加repo后,窗口底部将显示一条消息。单击“OK”继续。

已添加APT存储库

然后等待本地包索引更新。一旦确定,就可以继续从刚刚添加的存储库安装软件包。

更新APT

总结

以上简单介绍了在Debian和Ubuntu Linux及其衍生产品(如Linux Mint)中添加包存储库的不同方法,如果有需要安装的小伙伴可以参考上述方法进行。

众所周知,软件包存储库是一个拥有大量软件包的数据库,它们被打包并存储在一个或多个现代文件存储系统(如ftp、http或rsync)上。这些软件包包括操作系统补丁,应用程序程序,库文件,文档和其他要求的文件。他们可以在离线安装,在线安装或以各种形式更新的文件。此外,存储库可以包含软件以外的组件,如图像,音乐和视频文件等。这样的存储库是操作系统、应用程序和软件包更新的有效方式。

此外,APT(Advanced Packaging Tool)是Debian Linux发行版中处理软件包和依赖关系的工具。它使用dpkg文件格式上传和保存软件包。在Debian Linux中,APT可以用来安装,升级和移除软件包。它还可以用来查看可用的软件包和软件包的版本。APT可以搜索,安装和管理远程软件仓库中的软件包,以确保软件包的持续更新与支持,能够满足软件生命周期中所有阶段的需求。

未经允许不得转载:惠主机 » 分享Debian、Ubuntu和Mint系统添加包存储库的几种简单方法