読者です 読者をやめる 読者になる 読者になる

二度忘れた事を三度忘れないようにする

技術的なことから趣味のことまで

SoftwareCollections(SCL)について

CentOS

CentOS6 + node.js5系 を導入する手順 - 二度忘れた事を三度忘れないようにする

以前の記事で少し調べたSCLについて、もう少しだけ調べたのでメモ。

RH中の人のスライドから

www.slideshare.net

独自にrpmを作ったりリポジトリ管理するのは大きな手間なので、RHユーザはOSサポートより短いものの公式にサポートされるモノを利用できるのは大きいですね。CentOSも同等のレポジトリが用意されているので、利用していこう。

なお、記事作成段階のCentOSで利用する方法

$ yum install centos-release-scl

これだけでSCL用リポジトリが追加、有効になります。あとは利用したいパッケージをインストールして「scl enable 任意のパッケージ '任意のコマンド'」で利用する。

以前は古いdevtoolsetを利用していたのでwgetしてましたが、サポート中のモノであればCentOSデフォルトのリポジトリにSCLがあるのでそれをインストールできます。(現時点ではdevtoolset3,4を入れれます

SCLだと若干使い勝手が変わりますが、NginxやPHP-FPM等はchkconfig、systemdのサービスに登録されるのでモノによっては大差なく利用することができます。

なお、SCLでは一般的なディレクトリ構成ではなく、SCL用のディレクトリ構造になる。

  • コレクション:/opt/rh/コレクション名
  • 設定ファイル:/etc/opt/rh/コレクション名
  • ログファイル:/var/opt/rh/コレクション名

例1)rh-ruby23をインストールした場合
* コレクション:/opt/rh/rh-ruby23
* rubyコマンド:/opt/rh/rh-ruby23/root/usr/bin/ruby
* 設定ファイル:/etc/opt/rh/rh-ruby23 (デフォルトで幾つかディレクトリはあるが、特にファイルは無い
* ログファイル:/var/opt/rh/rh-ruby23 (デフォルトで幾つかディレクトリはあるが、特にファイルは無い

例2)rh-nginx18をインストールした場合
* コレクション:/opt/rh/rh-nginx18
* nginxコマンド:/opt/rh/rh-nginx18/root/usr/sbin/nginx
* 設定ファイル:/etc/opt/rh/rh-nginx18/nginx/nginx.conf
* ログファイル:/var/opt/rh/rh-nginx18/log/nginx/access.log (nginx.confに記載されている
* serviceファイル:/usr/lib/systemd/system/rh-nginx18-nginx.service