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
この時点でも同様のエラーが出てポスグレはインストールされませんでした。
※大体はここでエラーが解消されるそうですが、今回はだめでした。
2 . 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 [インストールされていません]
3. aptitudeで推奨される依存関係のパッケージをインストール
今回は「解決方法を受け入れますか?」のところでnを選択し、ポスグレの依存パッケージも指定してインストールできました
$ 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)
4.PostgreSQLのバージョンが確認できました
$ psql -V
psql (PostgreSQL) 12.7 (Ubuntu 12.7-1.pgdg16.04+1)