LinuxからFreeBSDを触る事になって戸惑うのは、おそらくサービス系を管理するツール(コマンド)が無い事も、その一つだろう。
Linuxであれば、
/sbin/chkconfig
コマンドで、サービスの一覧や、サービスの起動・停止などが簡単に設定可能である。
ところが、FreeBSDには、そういったコマンドは無い。
そこで ググると だいたいの回答は、
/etc/rc.conf や /etc/defaults/rc.conf ファイルの、`*_enable=' を確認する様に書かれている。
サービスの一覧を取得したいだけなのに、その度にそれらファイルから grep するのは後回しにしたくなる作業だ。
そこで、サービス一覧を取得するための簡単なコマンド(シェルスクリプト)を作りました。
rclist (version 0.01)
(※ソース内の英語が意味不明でしたら、ご指摘とアドバイスを・・)
このFreeBSDからサービス一覧を取得するコマンドは次の特徴(機能)がある。
1./etc/rc.conf や /etc/defaults/rc.conf から 「*_enable=」を grep 出力してくれる。
$ ./rclist -f /etc/rc.conf: ntpdate_enable="YES" /etc/rc.conf: sshd_enable="YES" /etc/defaults/rc.conf: accounting_enable="NO" /etc/defaults/rc.conf: amd_enable="NO" /etc/defaults/rc.conf: apm_enable="NO" /etc/defaults/rc.conf: apmd_enable="NO"
2./etc/rc の 一部を再現して、/etc/rc.d/ や /usr/local/etc/rc.d/ から、サービスのコマンドの一覧に YES/NO を出力してくれる。
これは、サービスの起動順に表示され、一度だけ必ず実行されるコマンドも表示される。
※一度だけ必ず実行されるコマンドは、rc.conf に `*_enable=' というのは無い。
>$ ./rclist -c rc_elem name rcvar -------------------- -------------------- ------------------------ /etc/rc.d/random random /etc/rc.d/adjkerntz adjkerntz /etc/rc.d/atm1 atm atm_enable=NO /etc/rc.d/hostname hostname /etc/rc.d/kldxref kldxref kldxref_enable=NO /etc/rc.d/sppp sppp /etc/rc.d/ipfilter ipfilter ipfilter_enable=NO /etc/rc.d/ipnat ipnat ipnat_enable=NO
3./etc/rc の 一部を再現して、/etc/rc.d/ や /usr/local/etc/rc.d/ から、*_enable="YES" のサービスのコマンドやコマンドを実行するシェル関数名を出力してくれる。
これも、サービスの起動順に表示され、一度だけ必ず実行されるコマンドも表示される。
※一度だけ必ず実行されるコマンドは、rc.conf に `*_enable=' というのは無い。
$ ./rclist -d rc_elem name rcvar start_cmd/command -------------------- -------------------- ------------------------ -------------------- /etc/rc.d/random random random_start /etc/rc.d/adjkerntz adjkerntz adjkerntz -i /etc/rc.d/hostname hostname hostname_start /etc/rc.d/sppp sppp sppp_start /etc/rc.d/addswap addswap addswap_start /etc/rc.d/auto_linklocal auto_linklocal auto_linklocal_start /etc/rc.d/sysctl sysctl sysctl_start /etc/rc.d/cleanvar cleanvar cleanvar_enable=YES cleanvar_start :(省略) /etc/rc.d/sshd sshd sshd_enable=YES /usr/sbin/sshd /etc/rc.d/sendmail sendmail_submit sendmail_submit_enable=YES /usr/sbin/sendmail -L sm-mta -bd -q30m -ODaemonPortOptions=Addr=localhost /etc/rc.d/sendmail sendmail_clientmqueue sendmail_msp_queue_enable=YES /usr/sbin/sendmail -L sm-msp-queue -Ac -q30m /etc/rc.d/cron cron cron_enable=YES /usr/sbin/cron -s /etc/rc.d/localpkg localpkg pkg_start /etc/rc.d/mixer mixer mixer_enable=YES mixer_start /etc/rc.d/geli2 geli2 geli2_start /etc/rc.d/bridge bridge bridge_start /etc/rc.d/bgfsck background-fsck background_fsck=YES bgfsck_start
最近のコメント