{{category FreeBSD}} 古いFTP(パッケージ)への接続 http://mm.eyy.jp/ftpold53.html packageの情報 http://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/packages-using.html {{outline}} !!ハードディスクの詳細を表示する ベンチマークもしてくれる様。 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