4. FreeBSDのお話
• 個人用サーバー、SOHOサーバー、部門サーバー
• 大体のターゲット
o Pentium II以降、Core i3とか
o メモリ 256MBから4GBくらいまで
o ストレージ 2GBから1TBくらいまで
o Webサーバー、メールサーバー
• 我が家の常時稼動サーバー(8年くらい)
o VIA Eden ESP-6000 667MHz
o メモリ 512MB
o ストレージ 32GB SSD
8. FreeBSDをダウンロード(2)
• 何種類かありますけど...
o FreeBSD-8.2-RELEASE-i386-bootonly.iso
ブートのみ。容量最小(現在47MB)。おすすめ。
今回はこれで行きます
o FreeBSD-8.2-RELEASE-i386-disc1.iso
CD用。
o FreeBSD-8.2-RELEASE-i386-dvd1.iso.xz
DVD用。xz形式。容量最大(1.9GB)。
o FreeBSD-8.2-RELEASE-livefs.iso
レスキュー用。
o FreeBSD-8.2-RELEASE-memstick.img
USBメモリ用。
9. FreeBSDのインストール...は時間が...
• standard / express / custom が選べるが
o できることはほぼ同じ
o standard ... ウィザード形式。起動するデーモンが選べる
o express ... ウィザード形式
o custom ... 手順の一覧から選べる
• ディスクの設定は面倒なら 'a' (自動設定)でOK
o ただしディスク全体を使わないなら注意して
o 一般「パーティション」 ⇔ FreeBSD用語「スライス」
• わからないところは何もせずにすっとばす
o システムファイルのインストール以外はあとでもできる
o DistributionsはMinimalで十分
11. インストールしたらやること (1)
• 以下、基本的に要root
o まずはrootでログイン
• 普段使い用のユーザーを作成
o adduser
設定項目は他のUNIXと基本的に同じ
Invite username into another groups? [] : wheel
これがないとsuでrootになれない
/etc/group を直接編集してもOK
• インストーラー画面はsysinstallコマンドで呼び出せる
o コマンドでもできるが、sysinstallの方が便利
o パッケージのインストール
o ネットワーク インタフェースの設定
o ストレージの追加
12. インストールしたらやること (2)
• 以下、基本的に要root
• sshdを有効に使用
o /etc/rc.conf に「sshd_enable="YES"」という行を加える
o service sshd start
• portsをダウンロード
o portsnap fetch extract (初回のみ)
o portsnap fetch update (更新時)
• portsをインストール
o portinstall <ports名>
o どんなportsがあるかはfreshports.orgがわかり易い
http://freshports.org/
13. インストールしたらやること (3)
• 以下、基本的に要root
• portsを使う前に
o portupgradeをパッケージでインストール(portsからでも
インストールできますが、時間がかかるので)
sysinstallを起動して、configure - packages から、
ports-mgmt/portupgrade をインストール
o ほかにもこんなのを入れておくと便利かも
shells/bash
sysutils/tmux
• portsからインストールしたファイルは /usr/local に置かれる
o / ... システムのファイル
o /usr/local ... ユーザー毎のファイル(/ と似た構造)
14. インストールしたらやること (4)
• 以下、基本的に要root
• portsをダウンロード
o portsnap fetch extract (初回のみ)
o portsnap fetch update (更新時)
o /usr/ports に展開される
<カテゴリ名>/<ports名>
例)www/apache22 = Apache HTTP Server 2.2
• portsからパッケージをインストール
o portinstall <パッケージ名>
o 22,784個(2011/3/19現在)
o どんなパッケージがあるかはfreshports.orgで調べる
http://freshports.org/
15. インストールしたらやること (5)
• 以下、基本的に要root
• portsを更新
o portsnap fetch update
• 更新されたパッケージをリストアップ
o portversion -l "<"
• パッケージの更新
o portupgrade <パッケージ名>
• パッケージの削除
o pkg_deinstall <パッケージ名>
16. FreeBSDの基本 /etc/rc.conf
• ネットワークの設定、システムの設定
• daemonの有効化、無効化
o portsからインストールしただけでは起動できない
o Apache 2.2なら、「apache22_enable="YES"」を追加
o 渡すフラグなどもここで設定できる
o service apache22 start
o 起動スクリプトは次の場所
標準 /etc/rc.d
portsなど /usr/local/etc/rc.d
• それ以外の設定は /etc/defaults/rc.conf を見る
18. 標準機能
• 標準で含まれているデーモン
o FreeBSD ftp
o BIND
o Sendmail
o OpenSSH
• その他のよく使う標準機能
o ログローテーションは newsyslog
o inetデーモンはxinetd
o パケットフィルタリングはipfilterかpf
o cron
19. periodic
• cronから定期的に呼び出されるシェルスクリプト群
o security , daily(毎日) , weekly(毎週) , monthly(毎月
)
• periodicからの標準出力はroot宛にメールで送られる
o dailyメールの内容(一部)
変更されたシステムファイルの一覧
ディスクの使用量
ネットワークインターフェイスの状態
メールキュー
• 標準 + ユーザースクリプト
o 標準 /etc/peridoc
o ユーザースクリプト /usr/local/etc/peridoc
o ユーザースクリプトの標準出力もメールに含んでくれる
バックアップとか、メンテナンスとか
23. アップグレード
• マイナーアップグレード
o セキュリティパッチとか
例)8.2-RELEASE → 8.2-RELEASE-p1
o freebsd-update fetch install
• メジャーアップグレード
o メジャーバージョンが上がった場合
例)7.x-RELEASE/8.1-RELEASE → 8.2-RELEASE
o やり方はバージョンごとに違う
りりーアナウンスに書いてあります
最近(8.2-RELEASE)の例
freebsd-update upgrade -r 8.2-RELEASE
freebsd-update install ; reboot (2回繰り返し)
24. ちょっと上級者向けの話
• FreeBSDならZFS使うでしょ?
o 今回のターゲット程度のPCでは厳しいです
o メモリ最低4GB、できれば8GB以上ないと性能
がガタ落ち
o HDD最低2台、6台とか8台とか16台とか
そこにSSDを混ぜたい
• もっといろんな機能があるよ
o DTrace ... OSやアプリケーションの動作を監視
o VImage ... 仮想PCごとのネットワークスタック
o SMPng ... CPUコア数に応じたリニアなスケー
ラビリティ(FreeBSD 8で16コア程度まで)