▲ PC LABO Menu


■ VineLinux2.1.5 → 2.6r1 にした際の作業手順記録 ■

2003/01/22 作成

あくまで自分の作業手順の記録、です。
というのも、自分の場合、2.1.5→2.6r1へのアップデートインストール(?)をしたわけではなく、2.6r1のクリーンインストール後、/home その他を戻した、という感じなので、ちょっと特殊かもしれません。あまりその手の文書としては参考にならないかも。欠けてる情報もありそうだし。

  1. 2.6r1のインストール
  2. 不要なサービスの停止
  3. フレームバッファを有効化
  4. XF86Config-4を作り直し
  5. 余分なユーザ名・グループ名を削除
  6. ユーザ名・グループ名を追加
  7. 設定ファイル修正
  8. rootになれるユーザを制限
  9. shutdown可能なユーザを制限
  10. telnetを制限
  11. 本来の/homeをマウント
  12. /var/log のファイルをコピー
  13. logrotate を修正
  14. DDNS ツールを登録
  15. ntpd 設定
  16. webalizer インストール
  17. bdflush値変更
  18. 他に色々


2.6r1のインストール

2.1.5時は以下のパーティション構成。
[root@kerochan /root]# df -h
ファイルシステム    サイズ 使用済 使用可 使用率  マウント場所
/dev/hda2             4.8G  1.8G  2.8G  39% /mnt/oldhome
/dev/hdb1              23M  3.5M   18M  16% /boot
/dev/hdb5             988M  248M  690M  27% /var
/dev/hdb6             251M   49M  189M  21% /
/dev/hdb7             129M   10k  122M   1% /tmp
/dev/hdb8             128M                  /swap
/dev/hdb9             2.5G 1022M  1.3G  43% /usr
/dev/hdc1              28G   21G  6.1G  78% /home

/dev/hda2 に大昔の/homeが割り当てられていたが、全く使われていなかった。(存在すら失念してた。) よってOS一つ入れるぐらいの容量の空きは充分あった。一応、その中身をバックアップした上で、パーティションを切り直し。2.1.5関係のディレクトリは丸々残したまま、/dev/hda の空き容量4Gに2.6r1をインストールすることにした。

サーバ機にはCD-ROMドライブがついてないので、当初はHDDからのインストールをしようとしたが、途中でハングするわ、ネットで不具合情報を見かけるわで、結局諦めた。一時的にCD-ROMドライブをサーバ機に接続してインストール。

※ HDDからのインストール時の注意点

CD-ROMドライブのついたLinux機が他にあれば、LANを利用したネットワークインストールもできるらしい。(CD-ROMドライブのついたLinux機を、インストールに必要なファイルを提供するサーバにできる。) 一応、Windows機でFTPサーバを立てて云々、という情報も見かけたが、シンボリックリンクの件等、問題が出そうな気もしたので自分はやらなかった。ftpインストールはLAN上のマシンをサーバにして行う方が安心できる模様。ネットから直接ftpインストールすると回線が切れた時が怖い。

2.6r1インストール後は以下のパーティション構成。
[hoge@hogehoge ~]$ df -h
ファイルシステム    サイズ 使用中 空き 使用% マウント場所
/dev/hda3             756M  130M  587M  19% /
/dev/hda5             2.0G  1.4G  494M  75% /usr
/dev/hda6            1011M  268M  692M  28% /var
/dev/hda7             256M                  /swap
/dev/hdc1              28G   21G  6.4G  76% /home
/dev/hda8 (100MB前後)に、一時的に仮の/homeを割り当てて、後で /dev/hdc1の本来の/homeと差し替える。


つまり以下のようなパーティション構成になっているはず。(パーティション確保時に指定した容量と、実際に確保・表示されてる容量には違いがあるみたいだが、ひとまず指定した時の容量を記述しておく。)
/dev/hda --- 8G
 /dev/hda1   3.0G  FAT32  Windows
 /dev/hda2   700M  ext2   HDDインストール用。.isoを置けるだけのext2領域。
 /dev/hda3   768M  ext3   新 /
 /dev/hda4   ( Linux拡張 )
 /dev/hda5   2.0G  ext3   新 /usr
 /dev/hda6   1.0G  ext3   新 /var
 /dev/hda7   256M  swap   新 swap
 /dev/hda8   100M? ext3   作業用の仮・新 /home (残りを全部割り当て)

/dev/hdb --- 4G
 /dev/hdb1    24M  ext2   旧 /boot
 /dev/hdb4   ( Linux拡張 )
 /dev/hdb5   1.0G  ext2   旧 /var
 /dev/hdb6   256M  ext2   旧 /
 /dev/hdb7   128M  ext2   旧 /tmp
 /dev/hdb8   128M  swap   旧 swap
 /dev/hdb9   2.5G  ext2   旧 /usr (残りを全部割り当て)

/dev/hdc --- 30G
 /dev/hdc1    30G  ext2   旧・新 /home
[ TOP ]

不要なサービスの停止

以下のサービスは必要無い感じなので停止する。
lpd         プリントサーバ
netfs
nfslock     nfs関係
postfix     メールサーバ
portmap
murasaki    USB関係
usbmgr      USB関係
FreeWnn
もちろん、利用してるなら停止しない。

setup

あるいは

ntsysv

でメニューから選んで停止する。
もしくは、

chkconfig --list

でサービスの一覧表示を確認後、

chkconfig サービス名 off

で停止。


今現在の chkconfig --list はコレ。もっと削れそう。
[ TOP ]

フレームバッファを有効化

Vine2.6r1のKernelにはVESA FBだかUNICONだかが既に組みこまれていて、800x600や1024x768のコンソール画面が最初から使えるのだが、有効にはなっていない。使えればKONがいらなくなるし、画面が広くなって快適になるので、有効にする。

/etc/lilo.conf 中に以下の行を挿入。

vga=773

※ 「773」の数値は、1024x768x8bitのフレームバッファを使うという指定。ドキュメントには16進数で指定値が書かれてるが、lilo.confには10進数で書かなければならない点に注意。

liloに反映。

/sbin/lilo



lilo起動時に、

lilo:linux vga=ask

などと入力すれば、指定値をその都度入力して実験できる。


ちなみに、vga=ask指定時、scanと入力したら下のようになった。(VIDEO CARD : ATI XPERT@PLAY)
0 0F00 80x25
1 0F01 80x50
2 0F02 80x43
3 0F03 80x28
4 0F05 80x30
5 0F06 80x34
6 0F07 80x60
7 0100 40x25
8 0121 100x25
9 0122 100x30
a 0123 132x25
b 0133 132x44
[ TOP ]

XF86Config-4を作り直し

X-Window 利用時のキーボードが、なぜか英語キーボード配列になっていた。

Xconfigurator

で /etc/X11/XF86Config-4 を作り直したら日本語キーボード配列になった。

ウチの環境の場合、

Xconfigurator --card "ATI Xpert@Play" --monitor "EIZO FlexScan T731"

と入力したが、どうも反映してくれない。
モニター名は途中で一覧リストから選ばされたし、VIDEOカードはRAM検出でエラーが発生し、RAMを「8mb」、「Clockchipは設定しない(推奨)」を手動で指定。結局、MyVideoCardなる謎のカード名になった (;´д⊂


説明表示。

Xconfigurator --help


指定可能な機器名一覧表示。

Xconfigurator --listcards | less
Xconfigurator --listmonitors | less

[ TOP ]

余分なユーザ名・グループ名を削除

セキュリティ上問題のありそうなユーザ名を削除。
lp , uucp , news , gopher , games , wnn

これらはRedHat系でデフォルト設定されてるユーザ名なので決め打ちで狙われやすい、と言われているらしい。lpなんて2文字しかパスワード設定されてないし。なので、消す。
もちろん、利用してるなら消さない。

念の為、ユーザを削除する前に、そのユーザが権限を持ってるファイルを一覧表示して確認。

find / \( -user lp \) -exec ls -ald {} \;


問題なさそうなら削除。

userdel ユーザ名



同時にセキュリティ上問題のありそうなグループ名も削除。
lp , uucp , news , gopher , games , wnn
(一部見当たらなかったが)

これも念の為、グループが権限を持ってるファイルを一覧表示して確認。

find / \( -group lp \) -exec ls -ald {} \;


問題なさそうなら削除。

groupdel グループ名


参考ページ: (1)
[ TOP ]

ユーザ名・グループ名を追加

Webサーバ利用ユーザ用のグループを追加。

groupadd -g ID グループ名


ユーザ追加

useradd -u ID -g グループ名 -d ホームディレクトリ -p パスワード -s シェル ユーザ名


一々入力するのが面倒なので、シェルスクリプトで登録。(下はダメ過ぎな一例。ホントはループさせたりして処理するのだろうけど。)

#! /bin/bash
# touroku
/usr/sbin/useradd 〜
/usr/sbin/useradd 〜


しかしパスワードだけは登録されなかった模様。後になってから逐一ユーザ毎にパスワードを入力する羽目に。
パスワードの設定は、rootになって、

passwd ユーザ名

[ TOP ]

設定ファイル修正

バックアップしておいたファイルと比較しながら、各種設定ファイルを修正。

/etc/httpd/conf/httpd.conf
/etc/proftpd.conf
/etc/smb.conf

念の為、それぞれを修正する前にバックアップを取っておく。

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.old.200xxxxx
cp /etc/proftpd.conf /etc/proftpd.conf.old.200xxxxx
cp /etc/smb.conf /etc/smb.conf.old.200xxxxx


proftpd.conf 中の AllowChmod true 指定は、ProftpdのVersionが上がった際、ディレクティブ指定仕様から削除された模様。デフォルトでtrueらしい。
[ TOP ]

rootになれるユーザを制限

/etc/login.defs に以下を追加。

SU_WHEEL_ONLY yes


/etc/pam.d/su 先頭行に以下を追加。

auth required /lib/security/pam_wheel.so group=wheel


/etc/group の wheelグループに、rootになれるユーザーを追加。

wheel:x:10:root,ユーザーID

[ TOP ]

shutdown可能なユーザを制限

/etc/shutdown.allow を作り、shutdownできるユーザ名を記述。

$ cat /etc/shutdown.allow
user1
user2
user3

[ TOP ]

telnetを制限

試してみたら、いきなりtelnetで入れてしまってビックリ。
/etc/inetd.conf の中の telnet 〜 の行の先頭に # をつけてコメントアウト。
(xinetd で設定する方法もあるらしい。今後の課題。)

TeraTermPro + TTSSHで、SSHによるアクセスが出来るかどうか確認。
[ TOP ]

本来の/homeをマウント

/etc/fstab を修正して本来の/home パーティションをマウント。
[ TOP ]

/var/log のファイルをコピー

これまでの各種ログを新しい/varにコピー。
[ TOP ]

logrotate を修正

/etc/logrotate.d/apache を修正して、apacheの吐き出す virus_log をrotateするように設定。

httpd.conf 中で CodeRed、Nimda関係のアクセスは別ログ(virus_log)に分けている。本当は後生大事に取っておかなくていいんだけど。しかし未だにウイルス感染しっぱなしのWinNTとその管理者の存在には呆れる。
[ TOP ]

DDNS ツールを登録

ウチは no-ip.com のサービスを使ってる。(無料)
http://no-ip.com/
から、Linux用のツールをDL。
2.xをDL・コンパイルしてみたけどよくわからない。結局1.6をDL。

ファイル所有者をrootにして、tar zxvf 〜 で解凍して、
make
make conf
no-ip.conf の内容を若干修正
make install

実行プログラムは、/usr/local/bin/noip
設定ファイルは、/usr/local/lib/no-ip.conf
に置かれる。

/etc/rc.d/rc.local の最後あたりに

/usr/local/bin/noip -c /usr/local/lib/no-ip.conf

と記述。起動時に実行させる。
[ TOP ]

ntpd 設定

サーバの時間合わせ。

ntpdate -b NTPサーバ名

で一気に時間を合わせてから、

hwclock --systohc

でハードウェアクロックをシステムクロック(ソフトウェア時計)で設定する。(clock -w と説明されてる場合もあるが、Vineの場合、clock -> hwclock へリンクされてるだけだった。)

/etc/ntp.conf にNTPサーバをいくつか登録する。多ければ多いほど時間としては正確になるらしい。

server サーバ名


ドリフトファイルを作成。(/etc/ntp.conf 中でドリフトファイルの場所を指定してるはず。)

touch /etc/ntp/drift


毎晩AM3:00にroot権限でハードウェアクロックをシステムクロックに合わせる設定をする。
/etc/crontab に以下の行を追加。

0 3 * * * root /sbin/hwclock --systohc


サービス開始。

service ntpd start


動作状況チェック。

ntpq -p


自動起動するように設定。

chkconfig ntpd on

[ TOP ]

webalizer インストール

Webアクセス解析ツールの webalizer をインストール。Vineのサイトの VinePlus から webalizer の rpmファイルを入手してインストールした。

rpm -ivh 該当rpmファイル


/etc/webalizer.conf が設定ファイルなので、環境に合わせて修正。
/etc/cron.weekly/webalizer.cron というファイルもインストール時に作成してくれていたので、毎週決まった時刻に稼動してログ生成してくれる。
http://サーバURL/webalizer/ にアクセスすれば結果ページが表示される。
[ TOP ]

bdflush値変更

ネットでたまたま見かけたのでやってみる。ハードディスクにこまめにアクセスするよう設定することで、メインメモリのキャッシュに溜まる→まとめて書き込み→その間はシステム全体の動作速度が著しく低下、という状態を避けられるらしい。(いいことばかりではなく、犠牲になる要素もある。)

/proc/sys/vm/bdflush を変更。

echo 20 500 0 0 60 300 40 0 0 > /proc/sys/vm/bdflush


/etc/sysctl.conf に

vm.bdflush=20 500 0 0 60 300 40 0 0

を追加。
[ TOP ]

他に色々

/etc/host.conf に multi on 追加。したけどいらないみたいなんで該当行を削除して元に戻した。
/etc/sysconfig/network を修正。したけどネットに繋がらなくなったので元に戻した。

というか、
/etc/hosts
/etc/HOSTNAME
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network
/etc/resolv.conf
/etc/host.conf
あたりをざーっと見直し。

参考ページ: (1)
[ TOP ]


▲ PC LABO Menu