だめ日記

kz のだめ日記 コンピュータ関係を中心に、備忘録のような日記

FreeBSD でサーバを構築 - 04

2008-02-14 00:46:28 | FreeBSD
セキュリティフィックス・バグフィックスのため、cvsup & make world でシステムをアップデートする。リモート接続のための SSH鍵 を生成する。

csup で最新のソースなどをダウンロードし、make でカーネルやユーザランドをコンパイル・インストールし、システムをアップデートする。
運用はリモートから Putty を使って行う。LAN 内に閉じ込められたサーバだが念のため 公開鍵秘密鍵 を使った SSH 接続をするのでその鍵を生成し、Windows からの接続テストを行う。
以下の作業は root で行う。

準備
時計を合わせておく
 # ntpdate -b ntp.jst.mfeed.ad.jp
csup の設定
 # mkdir -p /use/local/etc/csup  ##設定ファイル用のディレクトリ作成
 # cp /usr/share/examples/cvsup/stable-supfile /usr/local/etc/csup/release-supfile
   ##設定ファイルの雛形をコピー(ファイル名は何でも良い)
 # vi /usr/local/etc/csup/release-supfile  ##以下のように修正して保存
   *default host=cvsup5.jp.FreeBSD.org ##変更。cvsup1 から cvsup6 までの jp サイトから適当に
   *default release=cvs tag=RELENG_6_3 ##変更。アップデートするバージョン指定。この場合は 6.3-RELEASE
   doc-all tag=. #追加。最後の . を忘れないように
 # cp /usr/share/examples/cvsup/refuse /var/db/sup/
   ##アップデートしないカテゴリを指定するファイルをコピー
 # vi /var/db/sup/refuse
   doc/jp* #この行を削除して保存

csup の実行
 # csup -L 2 -r 0 -l /var/run/csup.pid -Z /usr/local/etc/csup/release-supfile
約1時間かかった。

make world
今回はまっさらな状態からの make world なので不要だが、通常は /etc やユーザデータ(/opt) などのバックアップを取っておくこと。
build 実行
 # cd /usr/src
 # make buildworld # 所要時間 約3時間
 # make buildkernel # 所要時間 約40分
 # make installkernel # 所要時間 すぐに終了
shutdown -r now でリブート。
BSDメニューで single user mode を選択してブート。
シェル(/bin/sh)設定後
 # fsck -p
 # mount -u /
 # mount -a -t ufs
 # swapon -a
 # adjkerntz -i
をしてから、
 # cd /usr/src
 # make installworld # 所要時間 すぐに終了
これで make world は終了。
最後に、アップデートされた /etc 内のシステム用設定ファイル群を今までの設定ファイルとマージする mergemaster を起動する。
 # mergemaster
   ##今回は何も考えずに新しい /etc 内のファイルをインストールしてよいので
   ##mergemaster の問いにはすべて i で応答し更新する
shutdown -r now でリブート、通常のようにログインし、確認する。

SSH鍵の生成、接続確認
(Windows 上で Putty の puttygen.exe を使って生成しても良い)
管理ユーザでログイン、または su - (管理ユーザ)
 user> ssh-keygen -t rsa  ##パスフレーズを入力(忘れないように)
 user> cd ~/.ssh
 user> cat id_rsa.pub >> authorized_keys
 user> chmod 0600 authorized_keys
Windows での作業
 WinSCP でこのサーバに接続する設定を作成し、接続
 サーバ上の ~/.ssh/id_ras を Windows にコピー
 puttygen.exe を起動
  Load ボタンを押す
  id_rsa ファイルを読み込む
  Save private key を押す
 Putty でこのサーバに秘密鍵ファイルを使って接続する設定を作成し、接続テスト
接続を確認したら、サーバ上の id_ras, id_ras.pub は削除しておく

これ以降の作業は、Putty にてリモートから行う。
shutdown -p now でサーバの電源を落とし、CD ドライブをはずして HDD をケースにマウントし、キーボードとビデオのケーブルもはずす。
再度電源を入れて Windows からリモートで接続しておく。