とりあえずコード書けよ

技術的なことの備忘録。

postgresqlに依存関係が増えた関係でlinux2にインストールのにハマった

postgresql 11.8をインストールしようとすると llvm-toolset-7-clang >= 4.0.1 の依存でこけるようになりました。
調べてみるとllvm-toolset-7-clangはcentos-sclリポジトリにあるとのことでした。 https://centos.pkgs.org/7/centos-sclo-rh-x86_64/llvm-toolset-7-clang-5.0.1-4.el7.x86_64.rpm.html

yum install centos-release-scl-rh

で追加できるって言うんだけどできないんですよね...。amazon linux2 が原因か。

なので手動でこれをリポジトリに追加していく必要があったんだけど、久しぶりにこの手の作業をしたのでめちゃくちゃハマった。
まず、yum-config-manager でリポジトリを追加

sudo yum-config-manager --add-repo http://mirror.centos.org/centos/7/sclo/x86_64/rh/

これでいけるやろと思って

sudo yum install -y postgresql11 postgresql11-server postgresql11-contrib postgresql11-devel

を実行すると

llvm-toolset-7-clang-libs-5.0.1-4.el7.x86_64.rpm の公開鍵がインストールされていません

と出て途中で終了します。

なので設定を修正

sudo vi /etc/yum.repos.d/リポジトリのファイル名(デフォルトだとadd-repoしたURLだと思われる)

で内容をいかに書き換える

[centos-sclo-rh]
name=centos-sclo-rh
baseurl=http://mirror.centos.org/centos/7/sclo/x86_64/rh/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

gpgkeyの設定が重要でした。

ファイルがない場合は以下の内容をコピーしてtouchコマンド等でファイルを作ったら良いかと思います。 github.com

sudo yum install -y postgresql11 postgresql11-server postgresql11-contrib postgresql11-devel

これでインストールが通るようになりました。