funini.com 自由研究 Vine Linux

Install Vine

枯れ切ったサーバを立ててみました。

ネットワーク設定

まず、ifconfig -aでeth0があるか確認。 その後、IP関係の設定を色々。
ネットワークの設定は、netconfigスクリプト簡単にできるけど、 手動でする時は以下のようにします。
IP設定 (/etc/sysconfig/network)

NETWORKING=yes
HOSTNAME=hoge.fuga.com
GATEWAY=123.45.67.89
DNS設定 (/etc/resolve.conf)
nameserver 123.45.67.1
念のため、nsswitch.confでホスト名の解決にちゃんとDNS見てるか確認。
 (/etc/nsswitch.conf)
hosts:      files dns

自動起動するデーモンの設定

Unix / Linuxでは、起動時に立ち上げたいプログラムは/etc/initd/にスクリプトをおいておくことになってます。
この設定は、
# ntsysv
で、対話的に設定できます。 もっと細かく設定(何かは何かの前に立ち上げる、などなど)するときは、
# chkconfig 
です。 sshdを自動起動なら
# chkconfig sshd on
かな。

aptとrpm

rpmやdebはパッケージングシステムで、圧縮ファイルとそれのインストール方法を書いたスクリプトをセットにしたもの。aptは、色んなパッケージングシステムのファイルを取ってきて、インストールしてくれるシステムです。
ソフトをインストールする方法としては、aptに登録されてればそれが一番楽だし、登録されてなくてもrpmが見つかればそれを入れることが出来ます。 ただし、rpmは要はインストールスクリプトだから、違うディストリビューション(VineとRedhatとか)だと場所とかが違って動かなかったりします。
設定
まず、パッケージの受信先を設定。ringサーバーにしておきました。
$ vi /etc/apt/apt.conf
rpm     http://www.ring.gr.jp/pub/linux/Vine/apt 2.6/$(ARCH) main plus plus-noarch
rpm-src http://www.ring.gr.jp/pub/linux/Vine/apt 2.6/$(ARCH) main plus
使い方
hogeという名前のパッケージを検索。
$ apt-cache search hoge
hogeというパッケージをインストール
$ apt-get install hoge
hogeというパッケージをアンインストール
$ apt-get removel hoge
rpmでパッケージのファイルを指定してインストール
$ rpm -ihv hoge.rpm
rpmでアンインストール
$ rpm -e hoge
"hoge"がインストールされているか確認
$ rpm -q hoge
インストール済みの全パッケージを表示
$ rpm -qa

iptables

カーネルレベルでパケットを制御する、ファイアーウォールソフトです。
設定としては、以下のようなものを考えます。 設定は、コマンドラインで
# iptables hogehoge
のように行うが、まとめてスクリプトにした方が見直せていいみたい。 例えば、こんな感じ。
#!/bin/sh
IPTABLES="/sbin/iptables"

$IPTABLES -F

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

# pingはどこからでもOK
$IPTABLES -A INPUT -p icmp -j ACCEPT

# httpはどこからでもOK
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT

# sshは100.100.100.*からのみOK
#$IPTABLES -A INPUT -p tcp --dport 22 -i eth0 -s 100.100.100.0/24 -j ACCEPT

$IPTABLES -A INPUT -i lo -j ACCEPT

# 123.45.67.*からのパケットは全てOK
$IPTABLES -A INPUT -i eth0 -s 123.45.67.89/24 -j ACCEPT

一度コネクションが張れたパケットは全てOK
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

で、その後で保存します。
これは設定の確認
# iptables -L
設定の保存
# /etc/rc.d/init.d/iptables save

UPS

一緒に使ったUPSはAPCのやつ。シリアルポートにつなぐケーブルがあったので、とりあえず接続。 そのあとITMediaの記事を参考に http://www2.apcupsd.com/からtar(apcupsd-3.10.16.tar.gz )を落としてきて、 展開して普通にコンパイル。
# ./configure
# make 
# make install
これで、/etc/apcupsd/フォルダの下に設定ファイルができたり、/etc/init.d/haltが書き換えられたりする。因みにインストール終了直前にこんなメッセージが出てます.
You should now edit  /etc/apcupsd/apcupsd.conf  to correspond
to your setup then start the apcupsd daemon with:
 
/etc/rc.d/init.d/apcupsd start
 
thereafter when you reboot, it will be stopped and started
automatically.
 
Please check that your halt script in:
    /etc/rc.d/init.d/halt
was properly updated (see installation section of manual)
/etc/apcupsd/apcupsd/confを適当に編集して、電源落としてみる試験。 あ、ちゃんと設定できるまでは、サーバーの電源はコンセントにつないで、UPSの電源だけ引っこ抜くのがいいみたい。
これでいちお電源は切れるんだけど、電源が復活しても立ち上がってくれない。 原因は… apcupsdが電源落とすときに、APMで電源まで落としてしまうためらしい。 このサーバーは、自動で電源を落としてしまうと、電源が復活しても立ち上がらないのでした。
UPSで電源管理するなら、カーネルにAPM入れとく必要はないか、ということで、lilo.confを
image=/boot/vmlinuz-2.4.22-0vl2.8smp
        label=linux
        initrd=/boot/initrd-2.4.22-0vl2.8smp.img
        read-only
        append="apm=off"
        root=/dev/sda6
みたいにして、APM切ってみたらうまく動きました。