SLES
RHEL の対抗馬、SUSE Linux Enterprise Server に関するページ。
目次
覚え書き
起動時に実行されるスクリプト
openSUSE 11.4 のスクリプトを見る限りでは、以下の流れになっているようだ。
/sbin/init -> /etc/init.d/boot -> /etc/init.d/boot.d/S[0-9][0-9]* -> /etc/init.d/boot.local -> /etc/init.d/rc N -> /etc/init.d/before.local (if exists) -> /etc/init.d/rcN.d/S[0-9][0-9]* -> /etc/init.d/after.local (if exists)
/etc/init.d/boot.d/ 配下のスクリプトは chkconfig --list の一覧には出力されないが、 -A オプションを追加すれば出力することができる。
suse114:~ # chkconfig --list | grep kdump suse114:~ # chkconfig --list -A | grep kdump boot.kdump 0:off 1:off 2:off 3:off 4:off 5:off 6:off B:on ★
カーネルを rebuild する
ソースパッケージすら見つからず途方に暮れていたところ、 以下のページを発見してようやくビルドすることができた。 IBM に感謝。
設定
ホスト名
/etc/HOSTNAME に FQDN を記載するようだ。
まさかここから調べなあかんとは…。
ネットワーク
違うよ。全然違うよ。RHEL とは全く関係ないよ。
suse103:~ # ll /etc/sysconfig/network/ total 80 -rw-r--r-- 1 root root 9045 Apr 15 2009 config -rw-r--r-- 1 root root 7111 Apr 15 2009 dhcp drwxr-xr-x 2 root root 4096 Apr 15 2009 if-down.d drwxr-xr-x 2 root root 4096 Apr 15 2009 if-up.d -rw-r--r-- 1 root root 188 Dec 3 23:50 ifcfg-eth0 -rw-r--r-- 1 root root 153 Sep 22 2007 ifcfg-lo -rw-r--r-- 1 root root 27390 Sep 22 2007 ifcfg.template -rw-r--r-- 1 root root 239 Sep 22 2007 ifroute-lo drwx------ 2 root root 4096 Sep 22 2007 providers -rw-r--r-- 1 root root 25 Jan 25 00:35 routes drwxr-xr-x 2 root root 4096 Apr 15 2009 scripts
冗談はさておき、SLES はネットワーク関連ファイルが整理されていてわかりやすい。 (scripts をまとめている点は RHEL も見習ってほしい!!)
ただ、routes の書き方がわからない。 とりあえず、デフォルトゲートウェイを yast2 で設定すると、以下のようになった。
suse103:/etc/sysconfig/network # cat routes default 192.168.8.1 - -
scripts/ifup-route で読んでいるっぽい。要は★の順序で書けば良さそう。
if [ "$DHCP" != yes ] ; then ROUTECONF=routes fi : while read DEST GWAY MASK IFACE TYPE IPOPTS ; do ★ # Save the original line for error reporting LINE="$DEST $GWAY $MASK $IFACE $TYPE $IPOPTS" : done < <(reverse < <(${ROUTECONF:+cat $ROUTECONF}; echo; \ ${EXTRALINKLOCAL:+echo $EXTRALINKLOCAL} ; \ read_routes $EXTRAROUTECONF) )
- RHEL では、BOOTPROTO に "static" や "none" を指定しても動作は同じだが、SLES では異なるようだ。固定 IP にする場合は、"static" とすること。
RHEL との相違点
インストール
- デフォルトのパーティション分割では /boot を分けない。
設定
- 設定ファイルが全然違う…
基本的には、yast というコマンドを利用して設定を変更するようだ。(これは GUI でも CUI でも動作する。) そのため、多くの設定ファイルの形式が統一されていて、慣れれば RHEL よりも使いやすそう。 ちなみに、RHEL では system-config-* というスクリプトが大量にあり、これらは GUI でしか動作しない。 Linux に慣れていない人にとっては、SUSE の方が親切に思えるだろう。
動作・コマンド
- VMware 上で動かした場合、ホストから見て CPU 利用率が異様に少ない
Celeron 430 だと RHEL 4, 5 は常時 5 〜 10 % は vmware-vmx が占有することになるが、 SLES だと 1 % にも満たない。これ、推測だけどタイマ割り込みが関係してそう。
通常、(というか RHEL 4, 5 では) タイマ割り込みが 1 秒間に 1000 回ある (HZ=1000)。
[hagio@centos47 ~]$ cat /proc/interrupts | grep timer; sleep 1; cat /proc/interrupts | grep timer 0: 258155 IO-APIC-edge timer 0: 259170 IO-APIC-edge timer
SLES では…
hagio@suse103:~> cat /proc/interrupts | grep timer; sleep 1; cat /proc/interrupts | grep timer 0: 359 IO-APIC-edge timer 0: 359 IO-APIC-edge timer
どうなってんの?(HZ は 250 らしい。)
そのせいかはわからないが、時刻が鬼のようにズレる。
suse103:~ # less /var/log/ntp : 14 Apr 22:25:02 ntpd[14179]: time reset -0.632726 s 14 Apr 22:28:29 ntpd[14179]: synchronized to LOCAL(0), stratum 10 14 Apr 22:30:23 ntpd[14179]: synchronized to 192.168.8.1, stratum 3 14 Apr 22:45:21 ntpd[14179]: time reset -0.639597 s 14 Apr 22:48:40 ntpd[14179]: synchronized to LOCAL(0), stratum 10 14 Apr 22:50:47 ntpd[14179]: synchronized to 192.168.8.1, stratum 3
環境
- オレのお気に入り
alias ..='cd ..'
がデフォルトで設定されている!- 設定ファイルは /etc/bash.bashrc
- それを上回る
alias ...='cd ../..'
なんてのもデフォルト - バージョン確認は /etc/SuSE-release
suse103:/etc # cat /etc/SuSE-release openSUSE 10.3 (i586) VERSION = 10.3