FreeBSD 8.0-RELEASE amd64版をインストール
インストールには、本家 FreeBSD サイトの iso イメージをダウンロード、使用した。
iso イメージ:8.0-RELEASE-amd64-disc1.iso
ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/8.0/8.0-RELEASE-amd64-disc1.iso
csup
次の各ファイル中の host 行を書き換える。
# cd /usr/share/examples/cvsup/ # vi standard-supfile # vi stable-supfile *host=CHANGE_THIS.FreeBSD.org ↓ *host=cvsup2.jp.FreeBSD.org
csup 実行
# csup -g -L 2 /usr/share/examples/cvsup/standard-supfile # csup -g -L 2 /usr/share/examples/cvsup/stable-supfile
/etc/make.conf の cputype
make のコンパイルオプションとして CPUTYPE を指定する。
atom d510 プロセッサがどの CPUTYPE になるかは不明。
/usr/share/examples/etc/make.conf 内の記述を参考に、make.conf へ次の行を追加した。
※この設定は間違っている可能性もある。
# vi /etc/make.conf CPUTYPE?=core2
最新portsに更新
portsnapコマンドを使用してportsを最新版に更新する。
設定ファイルを書き換える。
REFUSE 行の文字列 japanase を削除し、行頭のコメントアウト # を外す。
# vi /etc/portsnap.conf REFUSE arabic chinese french german hebrew hungarianjapaneseREFUSE korean polish portuguese russian ukrainian vietnamese
更新コマンドを実行。
# portsnap fetch # portsnap extract (初回利用時のみ) # portsnap update
以降、手動で更新する場合は次のコマンドを実行する。
# portsnap fetch && portsnap update
cronでports treeを自動更新
毎日、午前4時に ports tree を更新するものとし、/etc/crontab に以下の行を追加、kill -HUP する。
0 3 * * * root /usr/sbin/portsnap cron
man portsnap を参考にした。
TIPS o If your clock is set to local time, adding the line 0 3 * * * root /usr/sbin/portsnap cron to /etc/crontab is a good way to make sure you always have an up-to- date snapshot of the ports tree available which can quickly be extracted into /usr/ports. If your clock is set to UTC, please pick a random time other than 3AM, to avoid overly imposing an uneven load on the server(s) hosting the snapshots.
openssl導入
# portinstall -v security/openssl
openssh-portable導入
# portinstall -v security/openssh-portable
オプションはデフォルト+OVERWRITE_BASEで実行。
Options for openssh-portable 5.2.p1_2,1[X] PAM Enable pam(3) support [X] TCP_WRAPPERS Enable tcp_wrappers support [X] LIBEDIT Enable readline support to sftp(1) [X] KERBEROS Enable kerberos (autodetection) [ ] SUID_SSH Enable suid SSH (Recommended off) [ ] GSSAPI Enable GSSAPI support (req: KERBEROS) [ ] KERB_GSSAPI Enable Kerberos/GSSAPI patch (req: GSSAPI) [ ] OPENSSH_CHROOT Enable CHROOT support [ ] OPENSC Enable OpenSC smartcard support [ ] OPENSCPINPATCH Enable OpenSC PIN patch [ ] HPN Enable HPN-SSH patch [ ] LPK Enable LDAP Public Key (LPK) patch [X] OVERWRITE_BASE OpenSSH overwrite base
- -
ssh有効化
# vi /etc/rc.conf sshd_enable="YES"
公開鍵認証方式のみ許可。パスワード認証方式は不可。
# vi /etc/ssh/sshd_config Port 22 ←sshd が Listen するポートを指定。デフォルト値 22 Protocol 2 ←SSH2のみログインを許可 PermitRootLogin no ←rootでログインを拒否 PermitEmptyPasswords no ←空のパスワードを禁止 PasswordAuthentication no ←パスワード認証しない UseDNS no ←リモートホスト名の確認しない(デフォルトは yes) PubkeyAuthentication yes ←公開鍵認証を許可(ssh2のみ) AuthorizedKeysFile .ssh/authorized_keys ChallengeResponseAuthentication no ←チャレンジレスポンス認証を明示的に無効化し、PAM認証(実質的なパスワード認証)を拒否 AllowUsers hoge ←ユーザーhogeからのみssh許可
起動・停止・リスタート
sshd_config を変更したときは、次のコマンドでリスタートする。
リスタート # /etc/rc.d/sshd restart 起動 # /etc/rc.d/sshd start 停止 # /etc/rc.d/sshd stop
freebsd-update
GENERIC カーネルのままなので freebsd-update を実行可能である。
uname -r コマンドで freebsd-update 実行前後のバージョンを確認する。
# freebsd-update fetch # freebsd-update install # reboot # uname -r 8.0-RELEASE-p2
ntp設定
/etc/defaults/rc.conf の ntpd 設定を参考にする。
/etc/rc.conf に次を記述した。
ntpd_enable="YES" ntpd_program="/usr/sbin/ntpd" ntpd_config="/etc/ntp.conf" ntpd_sync_on_start="YES" ntpd_flags="-p /var/run/ntpd.pid -f /var/db/ntpd.drift"
/etc/ntp.conf がインストール時にデフォルトで配置されているが、この中の server 行を次のように記述した。
server ntp1.jst.mfeed.ad.jp server ntp2.jst.mfeed.ad.jp server ntp3.jst.mfeed.ad.jp
また、セキュリティ確保のため次の設定をした。
restrict -4 default ignore restrict -6 default ignore restrict 127.0.0.1 restrict -6 ::1 restrict ntp1.jst.mfeed.ad.jp nomodify notrap noquery restrict ntp2.jst.mfeed.ad.jp nomodify notrap noquery restrict ntp3.jst.mfeed.ad.jp nomodify notrap noquery restrict 192.168.X.0 mask 255.255.255.0 nomodify notrap
以上の設定が完了したら再起動する。
ntp の動作状況は ntpq -p コマンドで確認する。
portsのアップデート
- パッケージの依存関係を確認する。依存関係がおかしいとアップグレードが正しくできない。
# pkgdb -F
- pkgdb -F コマンドで、依存関係がおかしいモジュールが出力されたら、そのモジュールを再インストールする。例えば dns/bind9 の依存関係がおかしいとしたら、以下を実行する。
# portinstall dns/bind9
- ports のデータベースを更新する。ただし、先に ports を最新のものにアップデートしておく。完了までに時間がかかる。
# portsdb -uU
- 特定モジュールを自動的にアップデートする。終わったら、portversionで最新のモジュールになっているか確認する。
# portupgrade [モジュール名]
- 現在セットアップされている全てのモジュールに対して、自動アップデートを行う。
# portupgrade -a
- make install のみで make clean を実行しなかった時は、次のコマンドを実行する。
# portsclean -C
- distfiles に貯まってるソースを消去する。
# portsclean -D
- ※ portsnap を使う場合の ports アップグレード手順は、通常、赤文字の命令のみで可。
smartmontools の導入
次の URL のとおり導入した。
http://d.hatena.ne.jp/sillywalk7/20090103/1231030636