在Ubuntu中,如何处理“存在破损的禁止变更包”的问题

我打算写关于在Ubuntu上安装PostgreSQL时遇到的错误的问题。

环境

   Ubuntu:20.04
   windows(wsl2)

前提

在安装PostgreSQL(也称作ポスグレ)时,由于软件包的关联关系出现了问题,我受到了怒气的指责。

$ sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
$ wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install postgresql

インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 postgresql : 依存: postgresql-13 しかし、インストールされようとしていません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

以下のパッケージには満たせない依存関係があります:
 postgresql : 依存: postgresql-13 しかし、インストールされようとしていません

处理方法及其流程

1. 使用Ubuntu的软件包管理系统apt-get进行软件包的更新和升级。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install postgresql

即使在这一点上出现了相同的错误,PostgreSQL也没有被安装。
※大体上,这里会解决错误,但这次不行。

使用aptitude安装软件包。
$ sudo aptitude install postgresql

以下の新規パッケージがインストールされます:
  libllvm6.0{a} libpq5{ab} postgresql-11{b} postgresql-client-11{a} sysstat{a}
更新: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。
アーカイブの 31.4 MB を取得する必要があります。展開後に 118 MB のディスク領域が新たに消費されます。
以下のパッケージには満たされていない依存関係があります:
 libpq5 : 依存: libssl1.0.0 (>= 1.0.2~beta3) いずれの利用可能なパッケージからも提供されていない仮想パッケージです

 postgresql-12 : 依存: libicu55 (>= 55.1-1~) いずれの利用可能なパッケージからも提供されていない仮想パッケージです

                 依存: libssl1.0.0 (>= 1.0.2~beta3) いずれの利用可能なパッケージからも提供されていない仮想パッケージです

以下のアクションでこれらの依存関係の問題は解決されます:

     以下のパッケージを現在のバージョンに一時固定する:
1)     libpq5 [インストールされていません]
2)     postgresql-12 [インストールされていません]
3)     postgresql-client-12 [インストールされていません]

この解決方法を受け入れますか? [Y/n/q/?]y
インストール・削除・更新されるパッケージがありません。
更新: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
アーカイブの 0 B を取得する必要があります。展開後に 0 B のディスク領域が新たに消費されます。

我已经知道了有哪些依赖关系的包,但它们无法安装。
※虽然我也尝试了单独安装包,但还是不行、、、

 $ sudo apt-get install postgresql-12 libpq5 postgresql-client-12 

可能的翻译:导致问题的原因似乎是aptitude install未提供第一个建议安装的软件包版本。

1)     libpq5 [インストールされていません]
2)     postgresql-12 [インストールされていません]
3)     postgresql-client-12 [インストールされていません]
安装aptitude推荐的依赖包。

这次我选择了使用n来解决问题,并且成功地指定了依赖包并安装了PostgreSQL。

$ sudo aptitude install postgresql
以下の新規パッケージがインストールされます:
  libllvm6.0{a} libpq5{ab} postgresql postgresql-13{ab} postgresql-client-13{ab} sysstat{a}
更新: 0 個、新規インストール: 6 個、削除: 0 個、保留: 0 個。
アーカイブの 32.2 MB を取得する必要があります。展開後に 121 MB のディスク領域が新たに消費されます。
以下のパッケージには満たされていない依存関係があります:
 libpq5 : 依存: libssl1.0.0 (>= 1.0.2~beta3) いずれの利用可能なパッケージからも提供されていない仮想パッケージです

 postgresql-13 : 依存: libicu55 (>= 55.1-1~) いずれの利用可能なパッケージからも提供されていない仮想パッケージです

                 依存: libssl1.0.0 (>= 1.0.2~beta3) いずれの利用可能なパッケージからも提供されていない仮想パッケージです

 postgresql-client-13 : 依存: libreadline6 (>= 6.0) いずれの利用可能なパッケージからも提供されていない仮想パッケージです

                        依存: libssl1.0.0 (>= 1.0.0) いずれの利用可能なパッケージからも提供されていない仮想パッケー ジです

以下のアクションでこれらの依存関係の問題は解決されます:

     以下のパッケージを現在のバージョンに一時固定する:
1)     libpq5 [インストールされていません]
2)     postgresql [インストールされていません]
3)     postgresql-13 [インストールされていません]
4)     postgresql-client-13 [インストールされていません]



この解決方法を受け入れますか? [Y/n/q/?]n
以下のアクションでこれらの依存関係の問題は解決されます:

     以下のパッケージをインストールする:
1)     libpq5 [12.11-0ubuntu0.20.04.1 (focal-security, focal-updates)]

     以下のパッケージを現在のバージョンに一時固定する:
2)     postgresql [インストールされていません]
3)     postgresql-13 [インストールされていません]
4)     postgresql-client-13 [インストールされていません]



この解決方法を受け入れますか? [Y/n/q/?]n
以下のアクションでこれらの依存関係の問題は解決されます:

     以下のパッケージをインストールする:
1)     libpq5 [12.2-4 (focal)]

     以下のパッケージを現在のバージョンに一時固定する:
2)     postgresql [インストールされていません]
3)     postgresql-13 [インストールされていません]
4)     postgresql-client-13 [インストールされていません]



この解決方法を受け入れますか? [Y/n/q/?]n
以下のアクションでこれらの依存関係の問題は解決されます:

     以下のパッケージをインストールする:
1)     libllvm10 [1:10.0.0-4ubuntu1 (focal)]
2)     libpq5 [12.11-0ubuntu0.20.04.1 (focal-security, focal-updates)]
3)     postgresql [12+214ubuntu0.1 (focal-security, focal-updates)]
4)     postgresql-12 [12.11-0ubuntu0.20.04.1 (focal-security, focal-updates)]
5)     postgresql-client-12 [12.11-0ubuntu0.20.04.1 (focal-security, focal-updates)]

     以下のパッケージを現在のバージョンに一時固定する:
6)     postgresql-13 [インストールされていません]
7)     postgresql-client-13 [インストールされていません]



この解決方法を受け入れますか? [Y/n/q/?]n
以下のアクションでこれらの依存関係の問題は解決されます:

     以下のパッケージをインストールする:
1)     libllvm10 [1:10.0.0-4ubuntu1 (focal)]
2)     libpq5 [12.11-0ubuntu0.20.04.1 (focal-security, focal-updates)]
3)     postgresql [12+214 (focal)]
4)     postgresql-12 [12.11-0ubuntu0.20.04.1 (focal-security, focal-updates)]
5)     postgresql-client-12 [12.11-0ubuntu0.20.04.1 (focal-security, focal-updates)]

     以下のパッケージを現在のバージョンに一時固定する:
6)     postgresql-13 [インストールされていません]
7)     postgresql-client-13 [インストールされていません]



この解決方法を受け入れますか? [Y/n/q/?]n
以下のアクションでこれらの依存関係の問題は解決されます:

     以下のパッケージをインストールする:
1)     libllvm10 [1:10.0.0-4ubuntu1 (focal)]
2)     libpq5 [12.11-0ubuntu0.20.04.1 (focal-security, focal-updates)]
3)     postgresql [12+214ubuntu0.1 (focal-security, focal-updates)]
4)     postgresql-12 [12.11-0ubuntu0.20.04.1 (focal-security, focal-updates)]
5)     postgresql-client-12 [12.7-1.pgdg16.04+1 (xenial-pgdg)]

     以下のパッケージを現在のバージョンに一時固定する:
6)     postgresql-13 [インストールされていません]
7)     postgresql-client-13 [インストールされていません]



この解決方法を受け入れますか? [Y/n/q/?]y
以下の新規パッケージがインストールされます:
  libllvm10{a} libpq5{a} postgresql postgresql-12{a} postgresql-client-12{a} sysstat{a}
更新: 0 個、新規インストール: 6 個、削除: 0 個、保留: 0 個。
アーカイブの 30.8 MB を取得する必要があります。展開後に 123 MB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y
取得: 1 http://apt.postgresql.org/pub/repos/apt xenial-pgdg/main amd64 postgresql-client-12 amd64 12.7-1.pgdg16.04+1 [1,416 kB]
取得: 2 http://archive.ubuntu.com/ubuntu focal/main amd64 libllvm10 amd64 1:10.0.0-4ubuntu1 [15.3 MB]
取得: 3 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libpq5 amd64 12.11-0ubuntu0.20.04.1 [117 kB]
取得: 4 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 postgresql-12 amd64 12.11-0ubuntu0.20.04.1 [13.5 MB]
取得: 5 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 postgresql all 12+214ubuntu0.1 [3,924 B]
取得: 6 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 sysstat amd64 12.2.0-2ubuntu0.1 [448 kB]
30.8 MB を 22秒 秒で取得しました (1,431 kB/s)
我已经确认了PostgreSQL的版本
$ psql -V
  psql (PostgreSQL) 12.7 (Ubuntu 12.7-1.pgdg16.04+1)
广告
将在 10 秒后关闭
bannerAds