Showing posts with label RHEL5. Show all posts
Showing posts with label RHEL5. Show all posts

June 7, 2011

CentOS5におけるPython2.6の導入

CentOS5(RHEL5)のPythonは2.4系で色々辛いのでPython2.6を導入する。
CentOS6になればPython2.6系になるのだけど…

迂闊な事をするとpythonをつかっているスクリプトに影響を与える可能性があるので注意。
可能性の中で一番辛いのはyumが死ぬこと。
要は現状のpython(/usr/bin/pythonと/usr/lib/python2.4以下)を傷つけなければ問題ない。
DLして解凍
# cd /usr/local/src
# wget http://www.python.org/ftp/python/2.6.7/Python-2.6.7.tgz
# tar zxvf Python-2.6.7.tgz 
# cd Python-2.6.7
Modules/Setup.dist内のzlibに関するコメントアウトを解除する
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
↓
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
CheckInstallでrpm化して導入、libを登録
# ./configure --enable-shared
# make
# checkinstall
# rpm -ihv /usr/src/redhat/RPMS/x86_64/Python-2.6.7-1.x86_64.rpm 
# echo "/usr/local/lib" > /etc/ld.so.conf.d/python2.6.conf
# ldconfig
で、旧来のpython(/usr/bin/python)とは別に新しいpython(/usr/local/bin/python)が導入された。
PATHの設定にもよるが、デフォルトでは/usr/local/binが先に書かれているはずなので、
コマンドラインでpythonとだけ指定すると新しい方が呼ばれるはず。
最後にeasy_installが2.4系にしか入っていないので、新たに入れ直す。
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
これでeasy_installが2.6系でも使えるようになった。
と、ここまで書いてeasy_install自体もpacoで管理すれば良かったことに気がつくもときすでに遅し…
pacoって"make install"にあたる部位で-オプションをつけると
pacoへのオプションだと認識されてしまうようでにっちもさっちも!まぁいいか…
で、最後に便利系を入れておく。
# paco -p pip easy_install pip
# paco -p virtualenv easy_install virtualenv
# paco -p virtualenvwrapper easy_install virtualenvwrapper
以上

pacoの導入

前回CheckInstallを導入した。
"make install"するソフトはCheckInstallするとして、
easy_install経由でインストール方法をとるパッケージの管理をするために、pacoを導入する。
(他にも使えるだろうけど。ついでにいえばpip使えよって話かもだけど。)
これもcheckinstallでrpm化して導入する。
# cd /usr/local/src
# wget http://downloads.sourceforge.net/paco/paco-2.0.9.tar.gz
# tar zxvf paco-2.0.9.tar.gz 
# cd paco-2.0.9
# ./configure --disable-gpaco
# make
# checkinstall
# rpm -ihv /usr/src/redhat/RPMS/x86_64/paco-2.0.9-1.x86_64.rpm 
以上

CheckInstallの導入

ソースから導入するソフトウェアは一定数存在する。
しかしRHELではrpmでパッケージ管理を行っている。
可能ならばrpmですべてのパッケージ管理を行いたい。
そこでCheckInstallを導入する。
CheckInstallを使えば、"make install"する類のパッケージをrpm化することができる。
(Ubuntuなどで採用されているdeb形式にも出力できる)
rpmは/usr/src/redhat/RPMSに生成される。
# cd /usr/local/src/
# wget http://www.asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz
# tar zxvf checkinstall-1.6.2.tar.gz 
# cd checkinstall-1.6.2
# make
# make install
で導入する。
CheckInstall自体もrpmで管理するため、CheckInstallもrpm化して上書きする。
# checkinstall
# rpm -ihv /usr/src/redhat/RPMS/x86_64/checkinstall-1.6.2-1.x86_64.rpm
以上

April 8, 2011

CentOS5におけるDell Open Manage導入

Dellのハードウェア管理系ツールとしてOpenManageがDell社から提供されている。
数々の恩恵に与れるため是非とも導入したい。

RHELはサポート対象であるがCentOSは対象外であるため、小細工をする。
/etc/redhat-releaseを
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
と書き換える。これでOpenManageのインストール時のチェックは回避できる。

次に、OpenManageを導入する。
公式を確認し最新のOpenManageを確認する。執筆時では、6.4が最新である。
レポジトリを導入し、OpenManage,FirmwareTools,最新ファームウェアまでをインストールする。
# wget -q -O - http://linux.dell.com/repo/hardware/OMSA_6.4/bootstrap.cgi | bash
# yum install srvadmin-all
# yum install dell_ft_install
# yum install $(bootstrap_firmware)
インストールが終わったら
# /opt/dell/srvadmin/sbin/srvadmin-services.sh start
# omreport chassis
でステータスが出れば導入は成功。使い方はmanを参照のこと

RHEL5.6におけるapcupsdを用いた APC SmartUPS1500 with AP9630 による電源保護

知人の会社のUPSをシリアル接続からネットワーク接続に変更したので
そのときの作業メモ。

AP9630は、ネットワーク経由でのUPSとの通信を可能とするオプションボードである。
まず、AP9630をUPSに導入する。UPSの電源を落とし(電源スイッチ長押しでDCも切る)、商用電源側・負荷側すべての電源ケーブルを抜く。背面のスロットのカバーを外し、AP9630を挿入し、ねじで固定する。

商用電源側の電源ケーブルを接続し、付属のシリアルケーブルを用いAP9630とノートPCを接続する。
9600bps, データビット 8, パリティ なし, ストップビット 1, フロー制御 なし
でシリアルポートを設定した後、UPSに電源を投入する。

起動後、ターミナルにプロンプトが出るのでID,PASSを入力しAP9630にログインする
(デフォルトではapc:apc)
# tcpip -i 192.168.1.100
# tcpip -g 192.168.1.254
# tcpip -s 255.255.255.0
# reboot
などと設定して、Etherケーブルを接続する。
apcupsdの導入は、rpmファイルを公式からDLしてきて
# yum install net-snmp net-snmp-libs
# rpm -ihv apcupsd-3.14.8-1.el5.x86_64.rpm
設定は、/etc/apcupsd/apcupsd.confを
UPSCABLE ether
UPSTYPE snmp
DEVICE 192.168.1.100:161:APC:public
と変更する。
# chkconfig apcupsd on
# service apcuspd start
# service apcupsd status
でUPSのステータスが表示されれば完了。

各種パラメータの設定はWebを参照のこと。

March 31, 2011

RHEL5からCentOS5への移行

ローカルネットに設置後、なんだかんだで落としっぱなしになっていたRHEL5.4のサーバを実験に使おうと思って立ち上げたらサブスクリプションが切れていた。(愚劣の極み…)
せっかくなのでCentOS5にレポジトリを切り替えてみる。

公式にマイグレーションの手引きがあるのでそれに従う。
公式はi386用の例なので、x86_64ならば
# cp /etc/redhat-release /etc/redhat-release-orig
# rpm -e --nodeps redhat-release-notes redhat-release yum-rhn-plugin redhat-logos
# rpm -ihv \
  http://mirror.centos.org/centos/5/os/x86_64/CentOS/centos-release-5-5.el5.centos.x86_64.rpm \
  http://mirror.centos.org/centos/5/os/x86_64/CentOS/centos-release-notes-5.5-0.x86_64.rpm \
  http://mirror.centos.org/centos/5/os/x86_64/CentOS/redhat-logos-4.9.99-11.el5.centos.noarch.rpm
# yum clean all
# yum update
といった感じ。

参考:
http://wiki.centos.org/HowTos/MigrationGuide

March 28, 2011

RHEL5におけるローカルyum repositoryの設置

前々回前回ではCentOS5,RHEL5のyum repositoryを別サーバに設置したが、
客先で1台のみのセットアップを行う、等といった場合には適さない。
今回はローカルレポジトリを当該サーバ内に設置する。
RHNへ接続できない オフライン環境 で、サブスクリプション登録なし でRHELを用いたシステムのセットアップを行う場合などを想定。

インストールメディアがあればそれを使う。
なければRHNからisoをDLしておく。
ISOをマウントするなり、インストールメディアをマウントするなりしたのち、
# mkdir /var/localrepos
# cp -rap /mnt/RHELDVD/Server /var/localrepos/
# cp -rap /mnt/RHELDVD/VT /var/localrepos/
# cp -rap /mnt/RHELDVD/Cluster /var/localrepos/
# cp -rap /mnt/RHELDVD/ClusterStorage /var/localrepos/
で必要なファイルをコピー。
createrepoを導入。
# rpm -ivh /mnt/RHELDVD/Server/createrepo-0.4.11-3.el5.noarch.rpm
repodataをグループファイルを抜き出して消去し、レポジトリ情報を再構成する
# cd /var/localrepos
# mv {Server,VT,Cluster,ClusterStorage}/repodata/comps* .
# rm -rf {Server,VT,Cluster,ClusterStorage}/repodata
# createrepo -g /var/localrepos/comps-rhel5-server-core.xml /var/localrepos/Server/
# createrepo -g /var/localrepos/comps-rhel5-vt.xml /var/localrepos/VT/
# createrepo -g /var/localrepos/comps-rhel5-cluster.xml /var/localrepos/Cluster/
# createrepo -g /var/localrepos/comps-rhel5-cluster-st.xml /var/localrepos/ClusterStorage/
あとは、/etc/yum.repos.d/rhel-debuginfo.reposを
[Server]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug - Server
baseurl=file:///var/localrepos/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[VT]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug - VT
baseurl=file:///var/localrepos/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[Cluster]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug - Cluster
baseurl=file:///var/localrepos/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ClusterStorage]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug - ClusterStorage
baseurl=file:///var/localrepos/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
と編集して、
# yum clean all
# yum update
などと実行して問題なく終了すれば完成


参考:
http://www-06.ibm.com/jp/domino01/mkt/cnpages7.nsf/ec7481a5abd4ed3149256f9400478d7d/4925722f004efe92492574110028b37b/$FILE/rhel5_yum_guide_v1.1.pdf

RHEL5における独自yum repositoryの設置

前回、CentOS5用のyum repositoryを設置した。
RHEL5に対しても同様に設置してみる。
RHNへ接続できない オフライン環境 で、サブスクリプション登録なし でRHELを用いたシステムのセットアップを行う場合などを想定。
前回の環境を利用しているので要参照

インストールメディアがあればそれを使う。
なければRHNからisoをDLしてくる。
CentOSの流儀に沿ってディレクトリを用意
# mkdir -p /var/yumrepos/rhel/5.6/os/x86_64
# ln -s /var/yumrepos/rhel/5.6 /var/yumrepos/rhel/5
# chown -R reposman. /var/yumrepos/rhel
ISOをマウントするなり、インストールメディアをマウントするなりしたのち、
repomanユーザーとなりディスクの中身をすべて/var/yumrepos/rhel/5.6/os/x86_64にコピー
以降の作業はrepomanユーザーで行う
ネットワークインストールのときにレポジトリを再利用したいのでディレクトリ構造には手を付けない。
/var/yumrepos/rhel/5.6/os/x86_64/Server/repodata/
/var/yumrepos/rhel/5.6/os/x86_64/VT/repodata/
/var/yumrepos/rhel/5.6/os/x86_64/Cluster/repodata/
/var/yumrepos/rhel/5.6/os/x86_64/ClusterStorage/repodata/
以下のcomp*以外のファイルを削除し
$ cd /var/yumrepos/rhel/5.6/os/x86_64/
$ createrepo -g Server/repodata/comps-rhel5-server-core.xml Server/
$ createrepo -g VT/repodata/comps-rhel5-vt.xml VT/
$ createrepo -g Cluster/repodata/comps-rhel5-cluster.xml Cluster/
$ createrepo -g ClusterStorage/repodata/comps-rhel5-cluster-st.xml ClusterStorage/
でレポジトリ情報を作り直す。
あとは、RHELがインストールされているマシンで/etc/yum.repos.d/rhel-debuginfo.repoをバックアップを取った上で、
[Server]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug - Server
baseurl=http://REPOSSERVER_IP/yumrepos/rhel/5.6/os/$basearch/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[VT]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug - VT
baseurl=http://REPOSSERVER_IP/yumrepos/rhel/5.6/os/$basearch/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[Cluster]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug - Cluster
baseurl=http://REPOSSERVER_IP/yumrepos/rhel/5.6/os/$basearch/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ClusterStorage]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug - ClusterStorage
baseurl=http://REPOSSERVER_IP/yumrepos/rhel/5.6/os/$basearch/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
と編集して、
# yum clean all
# yum update
などと実行して問題なく終了すれば完成


参考:
http://www-06.ibm.com/jp/domino01/mkt/cnpages7.nsf/ec7481a5abd4ed3149256f9400478d7d/4925722f004efe92492574110028b37b/$FILE/rhel5_yum_guide_v1.1.pdf
IBM様は偉大