6と7のリビジョン間の差分
2016-08-13 17:54:04時点のリビジョン6
サイズ: 34014
コメント:
2016-08-13 18:25:48時点のリビジョン7
サイズ: 34002
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 338: 行 338:
== PostgreSQLクライアントのインストール方法 == == PostgreSQLクライアントのインストール ==
行 344: 行 344:
== PostgreSQLサーバーのインストール方法 == == PostgreSQLサーバーのインストール ==

CentOSで利用可能なYUMリポジトリについて

Software Collections(SCLs)

  • SCLs(Software Collections)はRHEL(CentOS) 上で最新のソフトウェアを利用するためのソフトウェアパッケージ集です。
  • Ruby, Python, Perl, PHP, Node.js といった言語の比較的新しいバージョンをサポートするYUMリポジトリとなります。
  • 他にも PostgreSQL, MySQL といったミドルウェアの提供もありますが、こちらは別途本家からのものを利用した方がいいと思います。

SCLsセットアップ

リポジトリ名

デフォルト

GPGパス

所属パッケージ

centos-sclo-rh

有効

/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

centos-release-scl-rh

centos-sclo-rh-testing

無効

署名無し

centos-release-scl-rh

centos-sclo-rh-source

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

centos-release-scl-rh

centos-sclo-rh-debuginfo

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

centos-release-scl-rh

centos-sclo-sclo

有効

/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

centos-release-scl

centos-sclo-sclo-testing

無効

署名無し

centos-release-scl

centos-sclo-sclo-source

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

centos-release-scl

centos-sclo-sclo-debuginfo

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

centos-release-scl

  • 通常の利用において、上記リポジトリが有効で問題無い。
  • GDBでデバッグしたい向けは、debuginfo リポジトリを有効にして当該パッケージに該当するパッケージを追加インストールすること。
  • ソースについては言うまでも無く。

CentOS7環境

yum -y install centos-release-scl

※centos-release-scl パッケージは centos-release-scl-rh パッケージを含んで(依存)います。

CentOS6環境

yum -y install centos-release-scl

※centos-release-scl パッケージは centos-release-scl-rh パッケージを含んで(依存)います。

CentOS5環境

未サポート。提供予定無し。

CentOS4環境

未サポート。提供はありえない。

SCLsインストール例

  • インストールできる「パッケージ集」については Browse All Software Collections を参照してください。

  • また、インストール方法についても記載がありますが、注意深く読んでください。
  • というのもRHELとCentOSでは手順が違います。

Perl 5.20

yum -y install rh-perl520

SCLs運用メモ

  • 混ぜても大丈夫を実現するため、インストール先が特殊です。
  • /opt/rh/パッケージ集名/root がインストールの起点(トップディレクトリ)となります。
  • 例えば Perl 5.20 であるところの rh-perl520 の場合、「/opt/rh/rh-perl520/root」となります。
  • よって PATH 等の調整の必要がありますが、他にも調整しないといけないものがあるので、「scl enable」コマンドを使用して実行します。

scl enable <パッケージ集名> [<パッケージ集名>...] "コマンド"
  • 「パッケージ集名」を複数指定することが可能。その場合「パッケージ集名」分の PATH が追加された、とイメージすると良いです。
  • 「"コマンド"」はシェル的に単一引数となるように指定します(二個以上の指定はできない)。
  • 例えば Perl 5.20 であるところの rh-perl520 の場合、下記のような感じで実行します。

$ scl enable rh-perl520 "perl -v"

This is perl 5, version 20, subversion 1 (v5.20.1) built for x86_64-linux-thread-multi
(with 16 registered patches, see perl -V for more detail)

Copyright 1987-2014, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

$ scl enable rh-perl520 bash
※perl 5.20 への PATH が通った bash(子プロセス)が立ち上がる。

  • シェルスクリプト上での使用を前提に PATH に含めたい場合、以下のような設定を実施します(イディオム)。

  :
source /opt/rh/パッケージ集名/enable
export X_SCLS="$(scl enable パッケージ集名 'echo $X_SCLS')" 
  :
  • 当然ですが /usr/local/bin/perl みたいな呼び出し方はできないです。
  • 少なくともシンボリックリンクを張る、だけでは足りず、上記イディオムを含んだスクリプトを用意する必要があります。
  • 常用しようと思って、PATH に入れる(上記イディオムで)など試して見た限りは、かなり煩わしいです。

SCLs参考文献

Extra Packages for Enterprise Linux(EPEL)

  • CentOSと共存共栄を前提に作られたYUMリポジトリです。
  • CentOS標準では足りないパッケージを【補って】くれます。
  • その代わり、CentOS標準とは競合するパッケージ(最新のライブラリなど)のインストールは行われません。
  • それほど最新のパッケージが提供されているわけではありません。過度の期待は禁物です。
  • なお yum update によりEPEL提供パッケージへ更新されるような事態は発生しません。

EPELセットアップ

リポジトリ名

デフォルト

GPGパス

所属パッケージ

epel

有効

/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

epel-release

epel-debuginfo

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

epel-release

epel-source

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

epel-release

epel-testing

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

epel-release

epel-testing-debuginfo

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

epel-release

epel-testing-source

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

epel-release

  • 通常の利用において、上記リポジトリが有効で問題無い。
  • GDBでデバッグしたい向けは、debuginfo リポジトリを有効にして当該パッケージに該当するパッケージを追加インストールすること。
  • ソースについては言うまでも無く。

CentOS7環境

yum -y install epel-release

CentOS6環境

yum -y install epel-release

CentOS5環境

yum -y install epel-release

なお古いCentOS5ではRPMでインストールする手段について解説されていることもありますが、その場合下記の通り指定します。

rpm -Uvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm

dl.fedoraproject.org ではなく、EPELのFAQにあるような download.fedoraproject.org を指定した場合、いつの頃からか、下記のようなメッセージとともにエラーがでて、インストールに失敗するようになりました。

# rpm -Uvh http://download.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
Retrieving http://download.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
error: skipping http://download.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm - transfer failed - Unknown or unexpected error
warning: u 0x6930b90 ctrl 0x6931f20 nrefs != 0 (download.fedoraproject.org http)

これは、download.fedoraproject.org からの応答が、RPM自体を返すのではなく、ミラーサイトにリダイレクトしていることが原因となります。 この当時の rpm コマンドは、リダイレクト処理(ハンドリング)が行えなかったため、事前にダウンロードしておくなど、なんらかの手段で回避する必要がありました。 今時は yum install で入るので気にする必要はありません。

CentOS4環境

rpm -Uvh http://dl.fedoraproject.org/pub/epel/4/i386/epel-release-4-10.noarch.rpm
  ないしは
rpm -Uvh http://dl.fedoraproject.org/pub/epel/4/x86_64/epel-release-4-10.noarch.rpm

EPELインストール例

通常のCentOS標準パッケージと同じ扱いとなりますので、明示的にこれを入れるというパターンはありません。

EPEL参考文献

PostgreSQL Global Development Group(PGDG) - PostgreSQL Yum Repository

  • CentOSと共存共栄が可能なよう【調整】されているYUMリポジトリです。
  • 必要があればCentOSオリジナルパッケージを置き換えます。
  • もちろん置き換えた結果、問題を起こすようなことはありません。
  • PostgreSQL のバージョンと合わせて、なんでかPGDGxxという命名規則が使われています。
  • 複数バージョンの PostgreSQL を同時にインストール・運用が可能です(重要)。
  • デフォルト PostgreSQL バージョンについてはいわゆる /usr/sbin/alternatives で切り替え可能です。
  • 2016年08月現在、メンテナンスされているかは置いておくとして PostgreSQL 7.4 から 9.6 まで提供しています。
  • 同じく、全てのバージョン・アーキテクチャをサポートしているかは置いておくとしてCentOS4からCentOS7まで提供しています。
  • 最新のサポートとメンテナンス状態については PostgreSQL RPM Repository (with Yum) を確認してください。

PGDGセットアップ

リポジトリ名

デフォルト

GPGパス

所属パッケージ

pgdg95

有効

/etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-95

pgdg-centos95

pgdg95-source

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-95

pgdg-centos95

pgdg94

有効

/etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94

pgdg-centos94

pgdg94-source

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94

pgdg-centos94

pgdg90

有効

/etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG

pgdg-redhat90

pgdg90-source

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG

pgdg-redhat90

  • 使用したい PostgreSQL バージョン分のYUMリポジトリをセットアップすること。
  • 通常の利用において、上記リポジトリが有効で問題ありません。
  • ソースについては言うまでも無く。

CentOS7環境

アーキテクチャ

バージョン

セットアップコマンド

x86_64

9.6

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-1.noarch.rpm

9.5

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm

9.4

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-2.noarch.rpm

9.3

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-2.noarch.rpm

9.2

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.2/redhat/rhel-7-x86_64/pgdg-centos92-9.2-2.noarch.rpm

9.1

-

9.0

-

8.4

-

8.3

-

8.2

-

8.1

-

8.0

-

7.4

-

7.3

-

※x86 アーキテクチャ分のバイナリは存在しません。

CentOS6環境

アーキテクチャ

バージョン

セットアップコマンド

x86_64

9.6

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-redhat96-9.6-1.noarch.rpm

9.5

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-6-x86_64/pgdg-centos95-9.5-2.noarch.rpm

9.4

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-2.noarch.rpm

9.3

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-2.noarch.rpm

9.2

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-7.noarch.rpm

9.1

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-6.noarch.rpm

9.0

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.0/redhat/rhel-6-x86_64/pgdg-centos90-9.0-5.noarch.rpm

8.4

rpm -Uvh http://yum.postgresql.org/8.4/redhat/rhel-6-x86_64/pgdg-centos-8.4-3.noarch.rpm

8.3

-

8.2

-

8.1

-

8.0

-

7.4

-

7.3

-

アーキテクチャ

バージョン

セットアップコマンド

x86

9.6

-

9.5

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-6-i386/pgdg-centos95-9.5-2.noarch.rpm

9.4

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6-i386/pgdg-centos94-9.4-2.noarch.rpm

9.3

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-6-i386/pgdg-centos93-9.3-2.noarch.rpm

9.2

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.2/redhat/rhel-6-i386/pgdg-centos92-9.2-7.noarch.rpm

9.1

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.1/redhat/rhel-6-i386/pgdg-centos91-9.1-6.noarch.rpm

9.0

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.0/redhat/rhel-6-i386/pgdg-centos90-9.0-5.noarch.rpm

8.4

rpm -Uvh http://yum.postgresql.org/8.4/redhat/rhel-6-i386/pgdg-centos-8.4-3.noarch.rpm

8.3

-

8.2

-

8.1

-

8.0

-

7.4

-

7.3

-

CentOS5環境

アーキテクチャ

バージョン

セットアップコマンド

x86_64

9.6

-

9.5

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-5-x86_64/pgdg-centos95-9.5-2.noarch.rpm

9.4

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-5-x86_64/pgdg-centos94-9.4-2.noarch.rpm

9.3

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-5-x86_64/pgdg-centos93-9.3-2.noarch.rpm

9.2

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.2/redhat/rhel-5-x86_64/pgdg-centos92-9.2-7.noarch.rpm

9.1

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.1/redhat/rhel-5-x86_64/pgdg-centos91-9.1-6.noarch.rpm

9.0

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.0/redhat/rhel-5-x86_64/pgdg-centos90-9.0-5.noarch.rpm

8.4

rpm -Uvh http://yum.postgresql.org/8.4/redhat/rhel-5-x86_64/pgdg-centos-8.4-3.noarch.rpm

8.3

rpm -Uvh http://yum.postgresql.org/8.3/redhat/rhel-5-x86_64/pgdg-centos-8.3-7.noarch.rpm

8.2

!http://yum.postgresql.org/8.2/redhat/rhel-5-x86_64/ (RPMが置いてあるだけ)

8.1

!http://yum.postgresql.org/8.1/redhat/rhel-5-x86_64/ (RPMが置いてあるだけ)

8.0

!http://yum.postgresql.org/8.0/redhat/rhel-5-x86_64/ (RPMが置いてあるだけ)

7.4

!http://yum.postgresql.org/7.4/redhat/rhel-5-x86_64/ (RPMが置いてあるだけ)

7.3

!http://yum.postgresql.org/7.3/redhat/rhel-5-x86_64/ (RPMが置いてあるだけ)

x86

9.6

-

9.5

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-5-i386/pgdg-centos95-9.5-2.noarch.rpm

9.4

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-5-i386/pgdg-centos94-9.4-2.noarch.rpm

9.3

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-5-i386/pgdg-centos93-9.3-2.noarch.rpm

9.2

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.2/redhat/rhel-5-i386/pgdg-centos92-9.2-7.noarch.rpm

9.1

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.1/redhat/rhel-5-i386/pgdg-centos91-9.1-6.noarch.rpm

9.0

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.0/redhat/rhel-5-i386/pgdg-centos90-9.0-5.noarch.rpm

8.4

rpm -Uvh http://yum.postgresql.org/8.4/redhat/rhel-5-i386/pgdg-centos-8.4-3.noarch.rpm

8.3

rpm -Uvh http://yum.postgresql.org/8.3/redhat/rhel-5-i386/pgdg-centos-8.3-7.noarch.rpm

8.2

!http://yum.postgresql.org/8.2/redhat/rhel-5-i386/ (RPMが置いてあるだけ)

8.1

!http://yum.postgresql.org/8.1/redhat/rhel-5-i386/ (RPMが置いてあるだけ)

8.0

!http://yum.postgresql.org/8.0/redhat/rhel-5-i386/ (RPMが置いてあるだけ)

7.4

!http://yum.postgresql.org/7.4/redhat/rhel-5-i386/ (RPMが置いてあるだけ)

7.3

!http://yum.postgresql.org/7.3/redhat/rhel-5-i386/ (RPMが置いてあるだけ)

CentOS4環境

アーキテクチャ

バージョン

セットアップコマンド

x86_64

9.6

-

9.5

-

9.4

-

9.3

-

9.2

-

9.1

-

9.0

-

8.4

-

8.3

rpm -Uvh http://yum.postgresql.org/8.3/redhat/rhel-4-x86_64/pgdg-centos-8.3-7.noarch.rpm

8.2

!http://yum.postgresql.org/8.2/redhat/rhel-4-x86_64/ (RPMが置いてあるだけ)

8.1

!http://yum.postgresql.org/8.1/redhat/rhel-4-x86_64/ (RPMが置いてあるだけ)

8.0

!http://yum.postgresql.org/8.0/redhat/rhel-4-x86_64/ (RPMが置いてあるだけ)

7.4

!http://yum.postgresql.org/7.4/redhat/rhel-4-x86_64/ (RPMが置いてあるだけ)

7.3

!http://yum.postgresql.org/7.3/redhat/rhel-4-x86_64/ (RPMが置いてあるだけ)

アーキテクチャ

バージョン

セットアップコマンド

x86

9.6

-

9.5

-

9.4

-

9.3

-

9.2

-

9.1

-

9.0

-

8.4

-

8.3

rpm -Uvh http://yum.postgresql.org/8.3/redhat/rhel-4-i386/pgdg-centos-8.3-7.noarch.rpm

8.2

!http://yum.postgresql.org/8.2/redhat/rhel-4-i386/ (RPMが置いてあるだけ)

8.1

!http://yum.postgresql.org/8.1/redhat/rhel-4-i386/ (RPMが置いてあるだけ)

8.0

!http://yum.postgresql.org/8.0/redhat/rhel-4-i386/ (RPMが置いてあるだけ)

7.4

!http://yum.postgresql.org/7.4/redhat/rhel-4-i386/ (RPMが置いてあるだけ)

7.3

!http://yum.postgresql.org/7.3/redhat/rhel-4-i386/ (RPMが置いてあるだけ)

PGDGインストール例

ここでは PostgreSQL 9.5 を例に解説する。 このパターン自体はCentOS6環境で PostgreSQL 9.0, 9.4 でも同じ手順であることを確認しています。 なおその後の起動方法等に若干の違い(カスタマイズ)が発生していることを確認しています。 詳細は別途、別ページにて。

PostgreSQLライブラリのインストール

yum -y install postgresql95-libs

CentOS標準の postgresql-libs パッケージと互換性(compat- 無しで)あります。 これはPostgreSQLライブラリが提供している、いわゆる libpq プロトコル・関数群の上位互換性が高いためです。

後は postgresql-libs に依存している他のパッケージの「依存厳密性」にもよりますが、 バージョン情報まで含めた依存が定義されているとどうしようもないですが、 たいていのパッケージでは postgresql95-libs に依存してくれます。

PostgreSQLクライアントのインストール

yum -y install postgresql95 postgresql95-contrib

PostgreSQLサーバーのインストール

yum -y install postgresql95-server postgresql95-contrib

postgresql95-server パッケージは postgresql95 パッケージを必要としますので、一緒にインストールされます。

PGDG参考文献

CentOS/YUM Repository (最終更新日時 2019-05-09 00:11:12 更新者 NorikatsuShigemura)