在 Linux 系统上,要安装的软件包通常可以通过 sources.list 文件获得。但是您可以找到一些不是由您的官方 Linux 系统团队维护的软件包。本文将向您展示如何在 Ubuntu 18.04 系统上删除和添加 PPA。
世界各地都有一些团队开发他们通过称为个人包档案 (PPA) 的个人存储库向用户提供的应用程序。您必须按照特定程序将它们添加到您的系统中。
什么是 PPA?
PPA 是通过由 Canonical 开发和维护的 LaunchPad 平台向所有人提供的软件包的非官方存储库。想要让 Ubuntu 用户可以使用他们的工作的开发人员将他们的源代码存放在这个站点上。Launchpad 然后为不同版本的 Ubuntu 构建 .deb 包,然后用户可以通过他们的软件包管理器安装这些包。它存在一些在 Ubuntu 系统上安装或删除 PPA 的方法。
使用终端
a) 添加 PPA
要通过终端添加 PPA,我们使用add-apt-repository
将 PPA 存储库添加到包管理器配置的命令。
在 Ubuntu 18.04 上,添加 ppa 后,您可以直接安装软件包,因为该命令会启动更新过程,因此语法如下
add-apt-repository ppa:ppa_name
apt install package_name
在 Ubuntu 16.04 及更早版本上,您需要更新包管理器,然后安装您需要的包
add-apt-repository ppa:ppa_name
apt update
apt install package_name
在这个过程中可能需要下载一个包的keyserver,所以如果需要,使用下面的命令
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys key_value
当您在系统上添加 PPA 时,它将在/etc/apt/sources.list.d
目录中创建 ppa 文件
注意: 您应该注意到,当您添加存储库时,apt update 命令可能会花费越来越长的时间,就好像非 Ubuntu 存储库没有那么快或没有那么多带宽一样。
b) 删除 ppa
有 3 种方法可以从终端中删除 PPA:
ppa-purge
命令:清除所有使用 PPA 存储库的痕迹。该命令还尝试用官方 Ubuntu 存储库的版本替换已安装的软件包。默认情况下它不存在,因此您需要安装它。
# apt install ppa-purge
# ppa-purge ppa:ppa_name
你可以按照下面的例子
# ppa-purge ppa:sebastian-stenzel/cryptomator
Updating packages lists
PPA to be removed: sebastian-stenzel cryptomator
Package revert list generated:
cryptomator-
Disabling sebastian-stenzel PPA from
/etc/apt/sources.list.d/sebastian-stenzel-ubuntu-cryptomator-xenial.list
Updating packages lists
...
...
The following packages will be REMOVED:
cryptomator
add-apt-repository --remove
命令: 删除带有关联包的 PPA 存储库
add-apt-repository --remove ppa:name_ppa
您可以尝试按照以下示例进行操作
# add-apt-repository --remove ppa:stephenczetty/gerbera
More info: https://launchpad.net/~stephenczetty/+archive/ubuntu/gerbera
Press [ENTER] to continue or ctrl-c to cancel removing it
- 手动删除: 正如我们前面提到的,将 ppa 存储库添加到特定文件夹中。所以你可以删除
/etc/apt/sources.list.d/
文件夹中包含的ppa
rm
/etc
/apt
/sources.list.d
/ppa_name
下面的示例在 Ubuntu 16.04 上删除 PPA
# rm /etc/apt/sources.list.d/cubic-wizard-ubuntu-release-xenial.list
使用 GUI 方法
a) 添加 PPA
您可以使用图形方法在 Ubuntu 系统上添加和删除 PPA。您只需搜索软件和更新,转到 其他软件 选项卡,然后单击 添加 按钮即可添加新的 PPA。
你可以看到结果
b) 删除 PPA
要删除特定的 PPA,您只需从列表中选择它,然后单击“ 删除” 按钮。系统将提示您输入密码
如何列出 PPA
您可以使用以下命令列出系统中的 PPA
# grep ^ /etc/apt/sources.list.d/*
/etc/apt/sources.list.d/bitcoin-ubuntu-bitcoin-xenial.list:deb http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial main
/etc/apt/sources.list.d/bitcoin-ubuntu-bitcoin-xenial.list:# deb-src http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial main
/etc/apt/sources.list.d/bitcoin-ubuntu-bitcoin-xenial.list.save:deb http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial main
/etc/apt/sources.list.d/bitcoin-ubuntu-bitcoin-xenial.list.save:# deb-src http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial main
/etc/apt/sources.list.d/cubic-wizard-ubuntu-release-xenial.list.save:deb http://ppa.launchpad.net/cubic-wizard/release/ubuntu xenial main
....
....
您也可以使用下面的脚本
# vim list-ppa.sh
#! /bin/bash
for X in /etc/apt/sources.list.d/*
do
cat $X
echo -e "** $X **\n"
done
然后你可以运行它
# ./list-ppa.sh
deb http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial main
# deb-src http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial main
** /etc/apt/sources.list.d/bitcoin-ubuntu-bitcoin-xenial.list **
deb http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial main
# deb-src http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial main
** /etc/apt/sources.list.d/bitcoin-ubuntu-bitcoin-xenial.list.save **
deb http://ppa.launchpad.net/cubic-wizard/release/ubuntu xenial main
# deb-src http://ppa.launchpad.net/cubic-wizard/release/ubuntu xenial main
** /etc/apt/sources.list.d/cubic-wizard-ubuntu-release-xenial.list.save **
...
...
结论
现在您确切地知道在 Ubuntu 系统上添加和删除 PPA 的不同方法。通过激活这些 PPA 文件,您承认信任他们的作者。PPA 存储库可能包含多个软件,这些软件可能依赖于几个更新的库。因此,安装这些更新可能会对您的 Ubuntu 系统的稳定性产生影响。