[FreeBSD]
古いFTP(パッケージ)への接続
http://mm.eyy.jp/ftpold53.html
packageの情報
http://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/packages-using.html
ハードディスクの詳細を表示する
ベンチマークもしてくれる様。
diskinfo -t ad0
UltraDMA33のうちの古PCだとこんな感じ。
ad0 512 # sectorsize 60011642880 # mediasize in bytes (56G) 117210240 # mediasize in sectors 124032 # Cylinders according to firmware. 15 # Heads according to firmware. 63 # Sectors according to firmware. Seek times: Full stroke: 250 iter in 5.985669 sec = 23.943 msec Half stroke: 250 iter in 4.824975 sec = 19.300 msec Quarter stroke: 500 iter in 8.184839 sec = 16.370 msec Short forward: 400 iter in 2.665981 sec = 6.665 msec Short backward: 400 iter in 3.353756 sec = 8.384 msec Seq outer: 2048 iter in 0.699151 sec = 0.341 msec Seq inner: 2048 iter in 0.702854 sec = 0.343 msec Transfer rates: outside: 102400 kbytes in 3.638031 sec = 28147 kbytes/sec middle: 102400 kbytes in 4.057074 sec = 25240 kbytes/sec inside: 102400 kbytes in 6.207045 sec = 16497 kbytes/sec
fsckのかけ方
シングルユーザーモードで起動する。
shutdown now /sbin/fsck -y
ルートを書き込み可にする-uはマウント状態変更オプション
mount -u /
全デバイスマウント
mount -a CTRL+Dでマルチユーザーモードへ
shutdownコマンド
shutdown -r リブート
shutdown -p 停止して電源OFF
shutdown -c キャンセル(linux)
FreeBSDの場合、shutdownプロセスをkillすれば止まる
suexecについて
suexecを使う設定にしたapacheを入れた場合、
条件に該当しないcgiは起動できなくなる。
現在の設定を見るには
#suexec -V
で表示される
-D AP_DOC_ROOT="/usr/local/www/data" -D AP_GID_MIN=1000 -D AP_HTTPD_USER="www" -D AP_LOG_EXEC="/var/log/httpd-suexec.log" -D AP_SAFE_PATH="/usr/local/bin:/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=1000 -D AP_USERDIR_SUFFIX="public_html"
GID_MINとUID_MINに注意が必要でシステムアカウントでの起動をさせない為、
1000や500という設定になっている。
この場合、ユーザーIDが1000以下や500以下のアカウントではCGIが使えない。
ここで言うグループIDはプライマリグループとなる。
動作の検証を行うには、LOG_EXECのログファイルを参照する。
suexecのバイナリについては、グループをapacheが使用するグループに変更し
4750のパーミッションに設定するとセキュリティ上良いとのこと。
pwコマンド
ユーザー情報の変更や、グループ情報の変更などを行う。
sample: hogeユーザーをセカンダリグループとしてwheelを追加
pw usermod hoge -G wheel
sample: グループの追加
pw groupadd グループ名
まぁ、直接vipwや、/etc/groupを編集しても問題なさそう
waitコマンド
組み込みコマンドのよう、
バックグラウンドでジョブを実行後、
wait; newjob &
のように実行してあげると、バックグラウンドジョブの終了を待ってくれる。
終了後にnewjobがバックグラウンドで実行される。
FreeBSDでのdisown
Linux系のBashをディフォルトシェルとするにはbashの組み込みコマンドとしてdisownが使用できる。
これはnohupの途中から版でCTRL+Z後にジョブ番号指定で
disown %1
のように使用する。
こうするとログアウト後もプロセスは-TERMシグナルを無視して実行しつづける。
FreeBSDのディフォルトシェルであるcsh系の場合、これに該当するコマンドは持っていないが。
この様な処理をしなくても
CTRL+Zでジョブを止めた後、bgでバックグラウンドに送っておけば
普通にログアウトしても実行され続けている。
自分がこれを試した時は、ジョブをサスペンドしたままでログアウトしようとし、
There are suspended jobsという警告が出て、再度ログアウトを試みると。
サスペンド中のジョブにはきっちりTERMシグナルが送られて終了してしまった。
あくまでRunning中のジョブだけがdisownの対象となる賢い作りのようだ。
bashとかと同じ動作にするには、hupコマンドを使ってジョブを起動するらしい。
hup newjob&
まぁ、使いませんね・・。
セキュリティパッチ等
freebsd-updateコマンドを使う。設定ファイルは/etc/freebsd-update.conf
作業ディレクトリは/var/db/freebsd-update
freebsd-update fetch アップデートファイルの取得
freebsd-update install インストール
カーネルを自分用に作り変えている環境だと、カーネルのアップデートは出来ないらしい
freebsd-update.confから
Components src world kernel
をコメントアウトすれば対象外にできるようだ
ヴァージョンを見る
uname -a
csup
/etc/make.confに記述追加
# -r 0 リトライしない -l ロックファイルを作り多重起動しない -Z 圧縮しない
SUPFLAGS=-L 2 -r 0 -l /var/run/csup.pid -Z
SUPFILE=/usr/local/etc/cvsup/standard-supfile
SUPHOST=cvsup3.jp.FreeBSD.org
SUP=/usr/bin/csup
SUP_UPDATE=yes
/usr/src/share/examples/cvsup/standard-supfileを/usr/local/etc/cvsupにコピー(ないのでディレクトリつくる
実行はcsup supfileで実行する
packageツール
追加
pkg_add -r パッケージ名
-rの指定でネットワークから取得できる。
探す
/usr/portsで
make search key=libofx
とかやるとローカルのportsを探せる
versionチェック
pkg_version
インストールされたファイルの一覧
pkg_info -L パッケージ名
php5の設定
/usr/local/etc/php.iniへ
[mbstring] mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = EUC-JP mbstring.encoding_translation = On mbstring.detect_order = auto extension=php_mbstring.dll
をコメント解除&変更
mbstring系の関数が使えないので、
php5-extentionを入れる。
make installするとメニューが出るので、MBSTRINGとか他よさそうなチェックいれてみる
どうやらextentionをオプションつけて入れなおせばマルチバイト文字大丈夫みたい。
Apacheの方は/eusr/local/etc/apache22/httpd.conf
LoadModule php5_module libexec/apache22/libphp5.so
最終更新時間:2010年03月22日 12時42分44秒