📌  相关文章
📜  Target Packages (main binary-amd64 Packages) 在 etc apt sources.list.d pgdg.list:1 和 etc apt sources.list.d pgdg.list:2 中多次配置 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:35:15.433000             🧑  作者: Mango

主题:避免多次配置 Target Packages

简介

在 Ubuntu 系统中,我们可以使用 apt-getapt 命令去安装、升级和删除软件包。这些软件包通常来源于给定的软件源,例如 Ubuntu 官方的软件源、第三方软件源等等。

针对不同的软件源,我们需要将相应的源地址添加到 /etc/apt/sources.list 文件中。然而,有时候为了安装一些特定的软件包,我们可能需要额外添加一些源地址。而多次配置同一个源很容易出现问题,比如出现以下类似的错误:

E: Target Packages (main binary-amd64 Packages) is configured multiple times in /etc/apt/sources.list.d/pgdg.list:1 and /etc/apt/sources.list.d/pgdg.list:2

这种情况下,系统将不知道该从哪个源中获取该软件包的信息。因此,我们需要避免多次配置同一个源。

解决方法
方法一:删除重复的源配置文件

首先,我们需要找到重复的源配置文件并删除其中一个。根据错误提示,重复的源配置文件为 /etc/apt/sources.list.d/pgdg.list:1/etc/apt/sources.list.d/pgdg.list:2

我们可以通过以下命令查看这两个文件:

cat /etc/apt/sources.list.d/pgdg.list:1
cat /etc/apt/sources.list.d/pgdg.list:2

分别查看这两个文件后,保留其中一个文件并删除另一个文件即可。假设我们删除了 pgdg.list:1 这个文件,则删除命令如下:

sudo rm /etc/apt/sources.list.d/pgdg.list:1

接着,我们需要更新一下软件包列表:

sudo apt update

最后再运行安装命令即可。

方法二:禁用重复的源配置文件

如果我们不想删除重复的源配置文件,也可以将其禁用。在禁用前,我们需要查看这两个文件的内容并确定它们是一致的。

/etc/apt/sources.list.d/pgdg.list:1/etc/apt/sources.list.d/pgdg.list:2 文件中,通常会包含以下信息:

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

这条信息说明我们通过这个源安装 PostgreSQL 数据库。

要禁用一个源配置文件,我们可以通过在文件名前面添加前缀 # 来实现。例如,我们要禁用 pgdg.list:2 这个文件,则执行以下命令:

sudo mv /etc/apt/sources.list.d/pgdg.list:2 /etc/apt/sources.list.d/#pgdg.list:2

同样,我们需要更新软件包列表,最后再运行安装命令。

总结

一般情况下,我们不应该多次配置同一个源。但如果确实需要多次配置,应该保证配置文件中的信息是一致的。如果遇到了 Target Packages is configured multiple times 这个错误,可以通过删除或禁用其中一个源配置文件的方式来解决。