トップ 一覧 検索 ヘルプ ログイン

FreeBSDの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
{{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