FreeBSD 9.1-RELEASE を使ってみる

とりあえず軽く触ってみた。

インストール

公式サイトのダウンロードページからbootonlyのISOイメージをダウンロードし、公式のハンドブックを参考にインストールを行う。 ミラーサイト選択の際に「Snapshot Server Japan」を選ぶと、どういうわけかインストールが止まってしまったので、下にあるJapanのミラーサーバを選んで進める。

インストールが終わり再起動した後は、CDブート後の画面でシェルを選択し下記コマンドでシャットダウンする。

# shutdown -p now

一般ユーザでsuできるようにする

デフォルトでインストールした場合、一般ユーザでsuを行おうとしても拒否されてしまう。

$ su -
Apr 16 11:28:29 freebsd su: BAD SU user to root on /dev/ttyv0
su: Sorry

そこでrootユーザでログイン後、ユーザをwheelグループに所属させる。

# pw usermod john -G wheel
# id john
uid=1001(john) gid=1001(john) groups=1001(john),0(wheel)

あらためて一般ユーザでログインし、suでパスワードを入力するとrootになれるようになる。

また、ここで合わせてログインシェルをshからtcshに変更してもよい。

# pw usermod john -s /bin/tcsh

ネットワーク設定を行う

ネットワーク設定を行う場合は、次のファイルを編集する。

# ifconfig
# vi /etc/rc.conf
ifconfig_em0="DHCP"
ifconfig_em0_ipv6="inet6 accept_rtadv"
ifconfig_em1="inet 192.168.56.2 netmask 0xffffff00"

インタフェースの再起動は次のようにすればよい。

# service netif restart

FreeBSD Updateを行う

下記のコマンドでFreeBSDに最新のセキュリティパッチを当てることができる。

# freebsd-update fetch
# freebsd-update install

Ports Collectionを取得・展開する

FreeBSDでアプリケーションをインストールする方法には、binary packageを用いる方法とportsを用いる方法がある。 binary packageはコンパイル済みバイナリをインストールし、portsソースコードからコンパイルしてインストールする。 FreeBSD 9.1以降ではpkgngというapt-getやyumのようなbinary package管理ツールも存在するが、ここではportsを用いる場合について説明する。

まず、各種アプリケーションのソースコード集であるPorts Collectionを取得し、展開する。 初回の展開では、かなり時間がかかるので注意。

# portsnap fetch
# portsnap extract

一度展開した後は、下記のようにして更新できる。

# portsnap fetch
# portsnap update

portupgradeのインストール

portsの管理を簡単に行うためのユーティリティ、portupgradeをインストールする。 portupgradeパッケージには、portupgradeの他にportinstallやportversion、portsclean等いろいろ便利なコマンドが含まれる。 他にportmasterと呼ばれるパッケージもあるが、ここでは古くから使われているportupgradeを利用することにする。

インストールは下記のように標準的なportsのインストール方法にて行う。 BATCH=yesはインストール時に対話プロンプトが出るのを抑制し、すべてデフォルト設定にてインストールするオプションである。 この処理もRubyPerlがインストールされることにより、かなり時間がかかるので注意。

# cd /usr/ports/ports-mgmt/portupgrade
# make BATCH=yes install clean

cshtcshを使っている場合は、rehashでパスの通った場所にあるコマンド一覧のハッシュテーブルを再構築する。

# rehash

portauditのインストール

インストール済みのportsに報告されている既知の脆弱性を確認するユーティリティ、portauditをインストールする。

portupgradeがインストール済みであれば、下記のようにしてインストールできる。

# portinstall portaudit

インストールが終わったら、次のようにしてインストール済みのportsに既知の脆弱性がないか確認できる。

# portaudit -Fda

psearchのインストール

portsを手軽に検索できるユーティリティ、psearchをインストールする。

# portinstall psearch

インストールが終わったら、下記のコマンドで検索ができるようになる。

# psearch sudo

psearchを使わない場合、portsの検索は次のようにすればよい。

# cd /usr/ports
# make search name=sudo

インストール済みportsの確認

portupgradeに含まれるportversionを使う。

# portversion -v

各種portsのインストール

sudoをインストールし、wheelグループにsudo権限を与える。

# portinstall sudo
# visudo
%wheel ALL=(ALL) ALL

bashをインストールし、一般ユーザのログインシェルに設定する。

# portinstall bash
# which bash
/usr/local/bin/bash
# pw usermod john -s /usr/local/bin/bash

マシンの電源を落とす

FreeBSDの場合、shutdown -h now (halt) を実行しても、システムは停止するがマシンの電源は落ちない。 shutdown -p now (power off) とすることで、電源も落とすことができる。