FreeBSD備忘録



FreeBSDは安定性の高い堅牢なOSとして、様々なWebサービスの基盤として利用されている。
このページでは、FreeBSDの導入や利用についての様々なtipsをまとめている。

このページが、あなたのFreeBSD活用の一助となれば幸いだ。

インストール

・ USBメモリからFreeBSDをインストールする
・ FreeBSDをPXE経由でインストールする

ネットワーク接続

・ インターネット接続を複数のPCで共有する (ppp/natd/ipfw)
・ IPアンナンバードでインターネットに接続する

無線LAN

・ 11a方式で無線LANに接続する

サーバサービス全般

・ DNSサーバを構築する (BIND)
・ DNSコンテンツサーバを構築する (djbdns)
・ PROXYサーバを構築する (squid)
・ DHCPサーバを構築する (WIDE-DHCP)
・ Anonymous FTPサーバを構築する (ftpd)
・ SSHでリモートログインを許可する (sshd)
・ Windowsとファイルを共有する (samba 4.x)
・ Windowsとファイルを共有する (samba 3.x)
・ メールサーバ(pop3)を構築する (qmail)
・ NFSサーバを構築する (nfsd)
・ NFSクライアントを構築する (nfsd)
・ PXEブートイメージ配信環境を構築する (tftp/WIDE-DHCP)
・ 正確な時間を取得する (ntpdate)
・ 正確な時間を配信する (ntp)
・ WOLでマシンを起動させる

Webアプリケーション環境

・ HTTPサーバを構築する (apache1.3.x+mod_ssl)
・ Java Servlet/JSPアプリケーションサーバを構築する (Tomcat)
・ PHP5環境を構築する
・ mod_perlを導入する
・ WWW全文検索システムを構築する (namazu 2.x)

データベース

・ MySQL環境を構築する(MySQL 5.1.x)
・ PostgreSQL環境を構築する(PostgreSQL 8.x)
・ phpPgAdminを導入する
・ perlからPostgreSQLを利用できるようにする

仮想化/jail

・ FreeBSDサーバ上に仮想サーバを構築する(jail)
・ jail環境でデバイスへのフルアクセスを許可する
・ 複数のjailクライアント(prisoner)からファイルシステムを共有する (nullfs)
・ jail環境を内部契機で再起動させる

ウィルス対策

・ ウィルスチェッカーを導入する(ClamAV)

HDD/ストレージ/ファイルシステム

・ HDD上の不良セクタを検出する
・ HDDの内容を同一容量のHDDに丸ごとコピーする
・ HDDの総セクタ数を調べる(FreeBSD 5.X以降)
・ HDDの総セクタ数を調べる(FreeBSD 4.X)

・ フロッピーディスクを利用する
・ FAT/NTFSのボリュームをマウントする
・ Windowsのネットワークファイルシステム(SMBFS)をマウントする
・ ISOイメージをマウントする(FreeBSD 5.X以降)
・ ISOイメージをマウントする(FreeBSD 4.X)

・ ファイルのバックアップ/ミラーリングをする (rsync)

ソフトウェアRAID

・ RAID-0(ストライピング)を構築する(FreeBSD 5.X以降)
・ RAID-0(ストライピング)を構築する(FreeBSD 4.X)

CD/DVD

・ 音楽CDからMP3をリッピングする(FreeBSD 5.X以降)
・ 音楽CDからMP3をリッピングする(FreeBSD 4.X)

デスクトップ環境

・ GUI環境を構築する (X.org 7.x/xfce 4.x)
・ 日本語入力環境を構築する(scim/anthy)
・ ウェブブラウザ「Firefox」を導入する
・ ウェブブラウザ「Firefox」でFlashが再生できるようにする
・ インターネットメーラー「Thunderbird」を導入する
・ メディアプレイヤー「RealPlayer」を導入する
・ PDFリーダー「Acrobat Reader」を導入する

・ デスクトップ画面をキャップチャする(ImageMagick)

・ EDID非対応モニタをX.orgで利用する
・ TVキャップチャカードでテレビを見る(bktr+Fxtv)

・ X環境でキーボード操作時のビープ音を停止させる

XFree86/X.org

・ マウスのホイールを有効にする

メディアプレイヤー

・ メディアプレイヤー「VLC」を導入する

・ mplayer/mencoderをインストールする(1.0pre8以降)
・ mplayer/mencoderをインストールする(1.0pre7以前)
・ mplayerの便利な使い方

・ bktrドライバ経由のキャプチャが可能なffmpegを構築する

ports/package管理

・ 最新のportsを取得して展開する
・ portsの依存関係をツリー表示する
・ 他のportsから利用されていないportsを抽出して表示する
・ portsのmake前に依存関係のある全てのportsをmake configする
・ portsのコンパイルを他のPCに肩代わりさせる
・ portupgradeを利用してportsの管理を行う

システム・チューニング

・ kernelおよびベースシステムの再構築を高速化する
・ kernel/portsを最適化コンパイルする(FreeBSD 6.X/5.X)
・ kernel/portsを最適化コンパイルする(FreeBSD 4.X)
・ kernel再構築時にkernelモジュールがビルドされないようにする
・ motdをシステム再起動時に更新されないようにする
・ Pentium 4のHTTを有効にする
・ ATAPIデバイスのDMA転送を有効にする

ハードウェアのドライバ・パッチ

・ FreeBSD bktr patch for GV-BCTV +alpha
・ Matrox Millennium G550をX.org 7.2で利用する(完全版)
・ Matrox Millennium G550をX.org 7.2で利用する(暫定版)
・ DELLのUSBキーボードでアンダースコア(_)が入力できない不具合を回避する

シェルスクリプト

・ 特定の条件に合致するファイルを探して操作する (find)
・ 現在の日時を含むファイル名を生成する
・ どのディレクトリから実行されても動作する入れ子形式のシェルスクリプトを作る
・ シェルスクリプトでユーザの作成/パスワードの設定をバッチ処理する
・ シェルスクリプトでパス文字列からファイル名/ディレクトリ名/拡張子を抽出する
・ シェルスクリプトでファイルを日付毎のディレクトリに分けて保存する
・ シェルスクリプトで一日前の日付を得る

証明書/PKI

・ サーバ証明書を生成する(openssl)
・ クライアント証明書を生成する(openssl)
・ 自己署名証明書を生成する(openssl)

一発ネタ

・ コマンドラインからbktrデバイスの設定を変更する(bsdbktr_tvtune)
・ コマンドラインからサウンドのボリュームを調整する
・ cshのプロンプトを「ユーザ名@ホスト名」形式にカスタマイズする
・ ダッシュ「-」で始まる名前のファイルを削除する
・ ディレクトリへのシンボリックリンクを削除する
・ 指定時間にシステムをシャットダウンさせる
・ プログラムの画面出力を根こそぎファイルに保存する
・ キーボードのビープ音を止める

各種エラーメッセージへの対処

・ collecting pv entries -- suggest increasing PMAP_SHPGPERPROC

便利なスクリプト

・ 設定用シェルスクリプト


トップに戻る
image