作業日記@HatenaBlog

各種の作業メモ

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

FreeBSDバージョン

FreeBSD 8.0-RELEASE amd64

# uname -r
8.0-RELEASE

 

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

 

portupgrade導入

# cd /usr/ports/ports-mgmt/portupgrade/
# make config-recursive
# make install clean

最新portsに更新

portsnapコマンドを使用してportsを最新版に更新する。
設定ファイルを書き換える。
REFUSE 行の文字列 japanase を削除し、行頭のコメントアウト # を外す。

# vi /etc/portsnap.conf
REFUSE arabic chinese french german hebrew hungarian japanese
REFUSE 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