SLES

提供: Wikinote
移動: 案内検索

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