FreeBSDインストール備忘録

関連:Computer/UNIX? / Computer/Linux?

cvsup導入

まずはcvsup導入。これは必須。

# cd /usr/ports/net/cvsup
# make install clean

この後のやり方は2通りに分かれる。

supfileを書き換える方法

その後、/usr/share/examples/cvsup にある ports-supfile、stable-supfile、doc-supfile を以下のように編集する。具体的には、hostを近いサーバーへと変更する。

*default host=CHANGE_THIS.FreeBSD.org

*default host=cvsup3.ja.FreeBSD.org

make updateを使う方法

/etc/make.confにパラメータを指定しておくと、上記のような修正作業は不要。この場合の、これより↓にあるcvsupコマンドを使わず、以下のように作業する。

# cd /usr/src
# make update

make.confにちゃんとport-supfileのことまで指定してあれば、上記のように/usr/srcで作業すれば/usr/portsまで更新してくれるらしい。あたまいいー。

stableへの更新

要はOSを最新版へとアップデートする作業。RELEASEからSTABLEになる。

cvsupとstable-supfileを使ってソースコードをアップデートする。

# cvsup -g -L 2 stable-supfile

その後は以下のように入力。

# cd /usr/src
# make clean
# make buildworld
# make buildkernel
# make installkernel
# reboot

(ここでシングルユーザーモードへ)

# mount -a
# cd /usr/src
# make installworld

FreeBSD6.1へのアップデートの場合、installkernelでエラーが出ることがある。この場合、/etc/groupにauditというグループを加えてやればよい。

この時点で/etcはまだ変更が反映されていないので、mergemasterを実行。

# mergemaster -siva
# mergemaster -sivr 

sivaで新規追加ファイルを確認無しでインストールするため作業量が軽減できる。mergemasterのコマンドは以下の通り。

  • i 新バージョンのファイルをインストール(基本はコレ)
  • d 旧バージョンのファイルを残す(passwdやhostsなど)
  • m 新旧を比較してマージする(変更を加えた設定ファイル)
    • l 左側を採用(古い方)
    • r 右側を採用(新しい方)

バージョンが上がっているかどうかは以下のコマンドで確認できる。

% uname -a

関連サイト

portsとportupgrade

アプリケーションを簡単にインストールできちゃうシステム。ただしportsを最新にしとかないと古いアプリケーションがインストールされてしまう。portupgradeはその補助ツールであって最初にいれておくべきもの。portupgradeはRubyで書かれているのでrubyも最新にすべき、というか依存関係のおかげでまとめてインストールされる。

まず、cvsupとports-supfileを使ってportsツリーをアップデートする。

# cvsup -g -L 2 ports-supfile

次に、portsを使ってportupgradeを導入。

# cd /usr/ports/sysutils/portupgrade
# make install clean

それからports ツリーのインデックスを更新。インストール直後はcommand not foundになることがあるので、その場合は再起動する。このコマンドは長時間かかるので根気よく待つ。

# portsdb -uU

portupgradeの使い方。まずはアップデートが必要なものの一覧の出し方。出力結果で 『<』 となっているものは更新する必要があるもの。

# portversion -O

アプリケーションのアップグレードは以下の通り。アプリケーション名は /var/db/pkg にあるものを指定するらしいが、portversionで表示されたアプリケーション名でも問題ないみたい。

# portupgrade -cC apache

fastest_cvsup

CVSupのサーバーで、自分から見て一番速いサーバーを見つけてくれるコマンド。インストール方法は以下。

# portinstall sysutil/fastest_cvsup

コマンドの実行方法と、2006/09/22時点でのうちのサーバーの結果。

% fastest_cvsup -c jp
>>  Querying servers in countries: jp
--> Connecting to cvsup.jp.freebsd.org [210.224.172.75]...
    - server replied: OK 17 0 SNAP_16_1h CVSup server ready
    - time taken: 3019.26 ms
--> Connecting to cvsup2.jp.freebsd.org [203.216.196.85]...
    - server replied: OK 17 0 SNAP_16_1h CVSup server ready
    - time taken: 4.49 ms
--> Connecting to cvsup3.jp.freebsd.org [210.188.224.44]...
    - server replied: OK 17 0 SNAP_16_1h CVSup server ready
    - time taken: 3.98 ms
--> Connecting to cvsup4.jp.freebsd.org [133.1.44.1]...
    - server replied: OK 17 0 SNAP_16_1f CVSup server ready
    - time taken: 15.07 ms
--> Connecting to cvsup5.jp.freebsd.org [210.161.150.4]...
    - server replied: OK 17 0 SNAP_16_1h CVSup server ready
    - time taken: 3007.17 ms
--> Connecting to cvsup6.jp.freebsd.org [210.188.224.44]...
    - server replied: OK 17 0 SNAP_16_1h CVSup server ready
    - time taken: 4.18 ms

>>  Speed Daemons:
    - 1st: cvsup3.jp.freebsd.org
    - 2nd: cvsup6.jp.freebsd.org
    - 3rd: cvsup2.jp.freebsd.org

その他関連サイト

apache

インストールは以下の通り。

# portinstall www/apache2

/etc/rc.confに以下のように指定する。

apache2_enable="YES"

apacheの起動は以下のように指定する。

# /usr/local/etc/rc.d/apache2.sh restart

もしくは

# apachectl restart (start/stop)

アップグレードは以下の通り。

# portupgrade -RcC apache

Rは依存関係にあるアプリケーションのアップグレード(これを指定しないと「依存関係にあるアプリが古いためアップグレードをやめました」と表示されアップグレードせずに終了することがある)、cCはコンパイル前後のclean。

各種ファイルの配置

/usr/local/etc/apache2/httpd.conf

/usr/local/sbin/httpd -l

Compiled in modules:
 core.c
 prefork.c
 http_core.c
 mod_so.c

関連サイト

ProFTPD

# portinstall ftp/proftpd

設定画面では好きなのを選べるが、とりあえずはデフォルトで良いみたい。

関連サイト

samba

portsからインストールした場合の設定ファイル:/usr/local/etc/smb.conf

再起動:/usr/local/etc/rc.d/samba.sh restart

emacs

zsh

インストール方法

# portinstall zsh+euc_hack

この下は各ユーザーで作業。

% chsh -s /usr/local/bin/zsh

以下のコマンドで現在のシェルを確認できる。

% echo $SHELL

インストールされているシェルの一覧は以下の通り。

% less /etc/shells

便利な機能

コマンドラインスタック機能を使って、今打ち込んだコマンドを一時的にスタックしてくれる。やりかたはESC-q。これで今打ち込んだコマンドが消えて新しいコマンドを入力でき、次にコマンドプロンプトが表示されるときに自動的に先ほどのコマンドが表示される。

Ctrl-rでインクリメンタルサーチモードへ入れる。繰り返しCtrl-rを押すとさらに検索結果をさかのぼれる。

プロンプトに色を付けるには以下の通り。.zshrcに書いておくと良い。

% autoload -U colors
% colors

関連サイト

screen

インストール方法は以下の通り。

# portinstall screen

Ctrl-aが標準のキーバインドになっているが、これはemacs等で使用しているので変更した方がよい。自分の場合はCtrl-zにしている(Ctrl-tにしているサイトが多いけど、zの方が指が近くて押しやすい)。この場合は.screenrcに以下のように記述する。

defencoding eucJP
escape ^z^z

新しい仮想画面の生成

^z c

仮想画面の切り替え

^z [SPACE] / ^z n / ^z [DEL] / ^z p

仮想画面のウインドウ名変更(Aは大文字のA→Shift + a)

^z A

仮想画面の一覧表示

^z w

仮想画面を一時的に保存して閉じる場合(screenを抜ける)

^t d

保存されているscreenの一覧表示

% screen -ls

閉じてしまったscreenの復活

% screen -r

画面分割

^z S

分割した画面同士の移動

^z [Tab]

関連サイト

webalizer

portinstall www/webalizer
portinstall japanese/webalizer

設定ファイルは/usr/local/etc/jawebalizer-dist。これをwebalizer.confにして、内容を編集する。実行方法は以下の通り。

webalizer -o (出力先) (解析するログの位置)

crontab

日本語ファイル名の取り扱い

lsで日本語ファイル名が「??」と表示される場合

lsは標準では日本語ファイル名を表示しない(「できない」ではなく「しない」)ように設定されている。ls -wもしくはls | catで正しく表示されるはず。これはaliasに設定しておくとよい。jlsをインストールし、aliasでlsとして動くよう設定する方法もある(おそらくこっちの方が安全)。

ftpdと日本語ファイル名

ftpdは日本語のファイル名を変換したりなんかはしないので、FFFTP等から日本語ファイル名のファイルをアップロードするとそのファイル名はShift_JISになる。この場合、コンソールからはls | nkfとすることで正しく表示ができる。

sambaと日本語ファイル名

sambaのバージョンは3.0系として話を進める。

dos charset = CP932
unix charset = EUCJP-MS
display charset = CP932

以上のような設定にした場合、Windowsから日本語ファイル名の読み書きは問題なく行われるし、BSD上でもファイル名はEUC-JPになっている。unix charsetをEUC-JPにしても同様のようだ。

この場合、BSD上に存在するShift_JISのファイル名が含まれるディレクトリをWindowsから見ようとすると、sambaが無理矢理EUC→Shift_JIS変換をかけて表示しようとするため、文字化けが発生する。具体的にはFTPでアップロードしたファイルなどがこれに該当する。

これの解決案は、

  1. ftpd側でEUC←→Shift_JISの変換が実装されるのを待つ
  2. samba側でShift_JISファイル名ならファイル名変換しないという実装がされるのを待つ
  3. FFFTP利用者にEUCでアップロードするよう設定を変えて貰う

のどれか。2と3はあまり現実的ではないので1の方法を用いる。具体的には、ProFTPDにiconv()を用いて文字コード変換機能を付け足すパッチを適用します。これで、鯖上ではEUCなファイル名で保存され、FTPクライアント側ではShift_JISで表示されます。完璧じゃまいか!

http://www.hakusan.tsg.ne.jp/tjkawa/software/misc/proftpd-iconv/index.jsp

MRTG

その他

パスワードを間違えた時はバックスペースをいっぱい押さないでもCtrl-uでやり直しできる。

Top以外でシステム情報を見る方法

  • swapに関する情報→swapinfo
  • ユーザに関する情報→w
  • uptimeとloadaverageを見たいとき→uptime
  • ユーザのログイン情報→last

関連サイト


リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS