▲ PC LABO Menu
■ VineLinux2.1.5 → 2.6r1 にした際の作業手順記録 ■
2003/01/22 作成
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からのインストール時の注意点
- 新し目のVineはRedhatと同様、ext2パーティションにCD-ROMイメージ(.iso)ファイルを一つ置いてそこを指定する。
- 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
不要なサービスの停止
以下のサービスは必要無い感じなので停止する。
lpd プリントサーバ
netfs
nfslock nfs関係
postfix メールサーバ
portmap
murasaki USB関係
usbmgr USB関係
FreeWnn
もちろん、利用してるなら停止しない。
setup
あるいは
ntsysv
でメニューから選んで停止する。
もしくは、
chkconfig --list
でサービスの一覧表示を確認後、
chkconfig サービス名 off
で停止。
今現在の chkconfig --list は
コレ。もっと削れそう。
フレームバッファを有効化
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
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
余分なユーザ名・グループ名を削除
セキュリティ上問題のありそうなユーザ名を削除。
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)
ユーザ名・グループ名を追加
Webサーバ利用ユーザ用のグループを追加。
groupadd -g ID グループ名
ユーザ追加
useradd -u ID -g グループ名 -d ホームディレクトリ -p パスワード -s シェル ユーザ名
一々入力するのが面倒なので、シェルスクリプトで登録。(下はダメ過ぎな一例。ホントはループさせたりして処理するのだろうけど。)
#! /bin/bash
# touroku
/usr/sbin/useradd 〜
/usr/sbin/useradd 〜
しかしパスワードだけは登録されなかった模様。後になってから逐一ユーザ毎にパスワードを入力する羽目に。
パスワードの設定は、rootになって、
passwd ユーザ名
設定ファイル修正
バックアップしておいたファイルと比較しながら、各種設定ファイルを修正。
/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らしい。
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
shutdown可能なユーザを制限
/etc/shutdown.allow を作り、shutdownできるユーザ名を記述。
$ cat /etc/shutdown.allow
user1
user2
user3
telnetを制限
試してみたら、いきなりtelnetで入れてしまってビックリ。
/etc/inetd.conf の中の telnet 〜 の行の先頭に # をつけてコメントアウト。
(xinetd で設定する方法もあるらしい。今後の課題。)
TeraTermPro + TTSSHで、SSHによるアクセスが出来るかどうか確認。
本来の/homeをマウント
/etc/fstab を修正して本来の/home パーティションをマウント。
/var/log のファイルをコピー
これまでの各種ログを新しい/varにコピー。
logrotate を修正
/etc/logrotate.d/apache を修正して、apacheの吐き出す virus_log をrotateするように設定。
httpd.conf 中で CodeRed、Nimda関係のアクセスは別ログ(virus_log)に分けている。本当は後生大事に取っておかなくていいんだけど。しかし未だにウイルス感染しっぱなしのWinNTとその管理者の存在には呆れる。
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
と記述。起動時に実行させる。
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
webalizer インストール
Webアクセス解析ツールの webalizer をインストール。Vineのサイトの VinePlus から webalizer の rpmファイルを入手してインストールした。
rpm -ivh 該当rpmファイル
/etc/webalizer.conf が設定ファイルなので、環境に合わせて修正。
/etc/cron.weekly/webalizer.cron というファイルもインストール時に作成してくれていたので、毎週決まった時刻に稼動してログ生成してくれる。
http://サーバURL/webalizer/ にアクセスすれば結果ページが表示される。
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
を追加。
他に色々
/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)
▲ PC LABO Menu