2013年8月25日日曜日

ChecnkInstallの環境を整える

CentOS 6.4(64bit)で、ソースからrpmを作ってくれるcheckinstallのインストールを行う
完全にこちらのコピペですが、リンク先がなくなったときのこととか考えてここにも備忘録として残す。

まず、checkinstallの最新版はGITにあるので、GITをインストールしなくてはいけない。
   # yum -y install git

あと、Developmentツールもインストールする必要があるので、yumで入れちゃう。
   # yum groupinstall "Development Tools"

次に、checkinstallに必要な、依存パッケージをインストールします。
   # yum install -y gettext rpm-build

checkinstallの最新ソースを、GITから落としてくる。
※なぜかcheckinstallの公式リポジトリからは落とせなかったので、以下のgithubから入手
   # cd /usr/local/src/
   # git clone https://github.com/buserror-uk/checkinstall.git

以下のように設定ファイルを変更
※githubからDLした場合、設定済みっぽいけど一応
   # cd checkinstall
   # sed -i 's|MAKEPKG=/sbin/makepkg|MAKEPKG=|' checkinstallrc-dist
   # sed -i 's|INSTYPE=""|INSTYPE="R"|' checkinstallrc-dist
   # sed -i 's|TRANSLATE=1|TRANSLATE=0|' checkinstallrc-dist
   # sed -i 's|EXCLUDE=""|EXCLUDE="/selinux"|' checkinstallrc-dist
   # sed -i 's|/lib|/lib64|' installwatch/Makefile
   # sed -i 's|CONFDIR=$(PREFIX)/lib/checkinstall|CONFDIR=$(PREFIX)/etc|' Makefile
   # sed -i '66s|^$|CHECKINSTALLRC=$INSTALLDIR/etc/checkinstallrc|' checkinstall

makeとmakeinstallをやっちゃう
   # make
   # make install

chcekinstallのバージョン確認で、バージョンが確認できればインストールOK!
   # checkinstall -v

初回のみ、作業用ディレクトリを掘ってやる必要があるらしい。
   # mkdir -p /root/rpmbuild/SOURCES

インストールしたcheckinstallを利用して、chekcinstall自体をrpm化する。
   # checkinstall

生成されたrpmを確認する。
   # rpm -qlp /root/rpmbuild/RPMS/x86_64/checkinstall-20130825-1.x86_64.rpm

問題なければインストールする。
   # rpm -ivh /root/rpmbuild/RPMS/x86_64/checkinstall-20130825-1.x86_64.rpm

念のための確認は、元ネタさん参照。

2013年8月24日土曜日

Linuxにパッケージをインストールする際、rpm(yum)とソースからコンパイルする方法があるが、それについて調査してみた。

○rpm(yum)のメリット
・yum install xxxというコマンド一発でインストールされるので、とにかくラク
・パッケージ管理をしっかりやってくれるため、アップデートやアンインストールらラク

○rpm(yum)のデメリット
・同じパッケージを複数入れられない
 (たとえばApacheを複数バージョン入れて、それぞれポートを変えて運用みたいなことはできない)
・yumのリポジトリに最新のパッケージが上がっていない場合、古いバージョンのパッケージを使わざる終えない
 (リポジトリにRPMforge、Remi、EPELを追加してあげることで、多少は逃れられる)参考

○ソースコンパイルのメリット
・パッケージの最新版が利用できる
・同じパッケージを複数入れられる

○ソースコンパイルのデメリット
・パッケージ管理をやってくれないため、自分でやる必要がある
 →何かしらのドキュメントを作って一覧管理する必要がある。
 →アンインストールのことを考え、./configureにオプションを追加する必要がある
 →ただし、ソースをrpmに変換してインストールしてあげればパッケージ管理してもらえる

つまり以下の方針が立てられる
・基本的にはrpm(yum)でインストールする
・ただし、同様のパッケージを複数入れる必要がある場合、ソースコンパイルにてインストールする
 (Apache、Tomcat、Rubyなどなど)
・OpenSSLやOpneSSHなど、セキュリティ的に最新版を入れてあげる必要があることをそうていして、ソースからrpmを生成する方法を確立する
 ⇒(追記)どうやら、Red Hat系(CentOS含)は、OpenSSHやOpenSSLに独自のカスタマイズを入れてるから、自力でのアップデートはよした方がいいみたい。

こんなかんじだろうか?
⇒まずはじめに、ソースからrpmを生成する方法を確立しよう!

CentOSインストール時にやること

CentOSをインストールする際、基本はCUIで操作するけど、たまにGUI使いたくなる可能性がある場合、以下のようにすれば良い。

・CentOSをインストールする際、GUIを一緒にインストールする
・/etc/inittabで、ランレベルを「3」にする
・/usr/bin/startxに、「LANG=ja_JP.UTF-8」の表記を追加する ※startxしたときに、日本語で立ち上がる

ネットワークの設定
vi /etc/sysconfig/network-scripts/ifcfg-eth0 で以下をやる。
 - ONBOOTを「yes」にする
 ※IPを固定にしたい場合、以下の2つを追加する
 - BOOTPROTO=static
 -IPADDR=192.168.0.10
 -NETMASK=255.255.255.0
 -GATEWAY=192.168.0.1
 -DNS1=192.168.0.1

いらないサービスの停止
以下のコマンドで、起動中のサービスを確認し、いらないものは停止(または削除)する

chkconfig --list | grep  "3:on"
・メールサーバは使わないだろうからOFFにしよう(chkconfig postfix off)

○RPMリポジトリを追加しよう!
http://dqn.sakusakutto.jp/2013/02/centos6_yum_remi_epel_rpmforge.htmlを参照

○アンチウイルスソフトをインストールしよう
yum –y --enablerepo=epel install clamdで Clam AntiVirus をインストール
あとはhttp://centossrv.com/clamav.shtmlを参照して、設定

○SELinuxを無効化する
SELinuxを無効化したい場合、/etc/sysconfig/selinuxを開いて、以下のように書き換える。
SELINUX=disabled