トップ 差分 一覧 ソース 検索 ヘルプ ログイン

FreeBSD

[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秒