te-touのブログ

音楽制作・車・プログラミング・旅行・その他考えてる事など、備忘録的なことも含めて個人的なページです。

AWSのLINUX2にpostgreSQLインストール時のエラー「pgdg-redhat-repo-42.0-11.noarch は次の要求が不足ています: /etc/redhat-release」




最終的にどうにもならないエラーは無視してゆきます。解決できていません。
エラーが出ていた箇所は、インストールする必要のないモジュールでした。とりあえず、事象を走り書きでメモします。

事象

AWSのEC2にDjango資産をデプロイしようとしてトラブりまくっています。
今回はpostgreSQLのインストールでどハマりました。

以前はうまくできていた事が、今回うまくできません。
(インスタンス立ち上げ2回目)
www.te-tou.tokyo

環境
  • AWS(1年間の無料枠で作成)
  • LINUX2
  • EC2
  • postgreSQL11
エラー内容

今回出てきたエラーは以下の通りです。

$ yum -y install postgresql11-devel;

とか

$ sudo yum -y install postgresql11-llvmjit;

のコマンドを打つと、下記のようなエラーが出力されます。

$ pgdg-redhat-repo-42.0-11.noarch は次の要求が不足ています:  /etc/redhat-release

どうやら、依存関係のエラーらしいです。

epel導入

なので、epelってのを入れると良いみたいです。

$ sudo amazon-linux-extras install epel

これでもう一度

$ yum -y install postgresql11-devel;

やはりうまくいきません。

--skip-broken

なので、エラーを無視する「--skip-broken」オプションを試してみます。

$ sudo yum -y --skip-broken install postgresql11-devel;

そうすると、いろいろやった上でこんなメッセージが出力されました。

パッケージは依存関係に問題があるため、飛ばします:
    libedit-devel-3.0-12.20121213cvs.amzn2.0.2.x86_64 (amzn2-core から)
    libicu-devel-50.2-4.amzn2.x86_64 (amzn2-core から)
    llvm5.0-5.0.1-7.el7.x86_64 (epel から)
    llvm5.0-devel-5.0.1-7.el7.x86_64 (epel から)
    llvm5.0-libs-5.0.1-7.el7.x86_64 (epel から)
    ncurses-compat-libs-6.0-8.20170212.amzn2.1.3.x86_64 (amzn2-core から)
    postgresql11-devel-11.8-1PGDG.rhel7.x86_64 (pgdg11 から)
スキップされた部品をyum install

試しに、全てyum install してみます。

    $ sudo yum install libedit-devel-3.0-12.20121213cvs.amzn2.0.2.x86_64
    $ sudo yum install libicu-devel-50.2-4.amzn2.x86_64 
    $ sudo yum install llvm5.0-5.0.1-7.el7.x86_64
    $ sudo yum install llvm5.0-devel-5.0.1-7.el7.x86_64 
    $ sudo yum install llvm5.0-libs-5.0.1-7.el7.x86_64 
    $ sudo yum install ncurses-compat-libs-6.0-8.20170212.amzn2.1.3.x86_64
    $ sudo yum install postgresql11-devel-11.8-1PGDG.rhel7.x86_64

結構うまく行った感じでしたが、下記のやつだけどうにもなりません。

エラー: パッケージ: postgresql11-devel-11.8-1PGDG.rhel7.x86_64 (pgdg11)
             要求: llvm-toolset-7-clang >= 4.0.1
 問題を回避するために --skip-broken を用いることができます。
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
pgdg-redhat-repo-42.0-11.noarch は次の要求が不足ています:  /etc/redhat-release

とりあえず、無視してすでに入ってるかどうかは別としてもう一回頭からインストールしてみます。

$ sudo yum -y install postgresql11-server;
$ sudo yum -y install postgresql11-devel;
$ sudo yum -y install postgresql11-libs;
$ sudo yum -y install postgresql11;
$ sudo yum -y install postgresql11-llvmjit;
$ sudo yum -y install postgresql11-contrib;
$ sudo yum -y install llvm5.0;
$ sudo yum -y install llvm5.0-libs;
initDB~migrate

ここまで来たので、DB初期化してみます。

$ sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
Initializing database ... OK

できました。とりあえずエラー無視して良いのかな?

なので、起動してステータス確認してみます。

$ sudo systemctl start postgresql-11
$ sudo systemctl status postgresql-11
~省略~
● postgresql-11.service - PostgreSQL 11 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-11.service; disabled; vendor preset: disabled)
   Active: active (running) since 水 2020-08-12 15:18:46 UTC; 9s ago
~省略~

起動できました。
この後、makemigration〜migrateを実行して無事にテーブル作成ができました。

まとめ

このほかにも細かな不具合がチョコチョコ出ていましたが、書ききれていません。多すぎて・・・
とりあえず必要そうなものを吟味せずにひたすらインストールしているため、必要のない不具合に踊らされている感じでした。
不要な物はインストールしない事が大事ですね。思考停止でめんどくさくなって全部盛りが不要な苦労を連れてきます。




 

www.youtube.com

www.facebook.com