RHEL7が変わる。
2013年10月25日
プロダクト
私が使い慣れている CentOS は Red Hat Enterprise Linux の商標権のみを外したクローンOSです。
商用 Linux のクローンということで利用されている企業様も多いと予測しますが、今回の7からサービスの起動や監視が、Systemd という仕組みに置き換わるのです。最近は先行している Fedora を触る機会が多いのですが、これが、なかなか慣れません。
ざっくり言うとこの変更の利点は、リソースを効率的に管理することにあります。
これまでは、rc.sysinit で root ファイルのマウントなどを行い、/etc/init.d/ 以下のシェルスクリプトで目的のサービスを順次起動していく方式でした。
ですが、皆さんもご経験があるようにシェルスクリプトが誤っていたりすると、おかしなことになってしまいます。また、この場面ではこのサービスにマシンのリソースを使いたい、という問題を簡単に解決できませんでした。
ここを管理してくれるのが Systemd です。全てのサービスを所定のルールに従って記述された設定ファイルで管理し、リソースの適切な配分を行い、サービスを並列で実行してくれます。起動は確実に早くなっています。
問題なのは、シェル操作です。これが、少し面倒です。
例を上げると、以下のような感じです。
・自動起動されるサービスを確認する
# chkconfig --list | grep 3:on
↓
# systemctl list-units --type=service
・自動起動を有効にする
# chkconfig service on
↓
# systemctl enable daemon.service
・サービスを停止する
# /etc/init.d/daemon stop
↓
# systemctl stop daemon.service
まず、タイプ数が多い。サービス名が分からない。"サービス名.service" を指定するために名前を /lib/systemd/system/ で確認しなければならない。
ついついアクションを最後に持ってきてしまい、叱られる。などなど。
これが標準になっていくのでしょうが、もう少し時間がかかりそうです。
商用 Linux のクローンということで利用されている企業様も多いと予測しますが、今回の7からサービスの起動や監視が、Systemd という仕組みに置き換わるのです。最近は先行している Fedora を触る機会が多いのですが、これが、なかなか慣れません。
ざっくり言うとこの変更の利点は、リソースを効率的に管理することにあります。
これまでは、rc.sysinit で root ファイルのマウントなどを行い、/etc/init.d/ 以下のシェルスクリプトで目的のサービスを順次起動していく方式でした。
ですが、皆さんもご経験があるようにシェルスクリプトが誤っていたりすると、おかしなことになってしまいます。また、この場面ではこのサービスにマシンのリソースを使いたい、という問題を簡単に解決できませんでした。
ここを管理してくれるのが Systemd です。全てのサービスを所定のルールに従って記述された設定ファイルで管理し、リソースの適切な配分を行い、サービスを並列で実行してくれます。起動は確実に早くなっています。
問題なのは、シェル操作です。これが、少し面倒です。
例を上げると、以下のような感じです。
・自動起動されるサービスを確認する
# chkconfig --list | grep 3:on
↓
# systemctl list-units --type=service
・自動起動を有効にする
# chkconfig service on
↓
# systemctl enable daemon.service
・サービスを停止する
# /etc/init.d/daemon stop
↓
# systemctl stop daemon.service
まず、タイプ数が多い。サービス名が分からない。"サービス名.service" を指定するために名前を /lib/systemd/system/ で確認しなければならない。
ついついアクションを最後に持ってきてしまい、叱られる。などなど。
これが標準になっていくのでしょうが、もう少し時間がかかりそうです。