分12ランレベルごとのサービス起動その答は/etc/rc.d/以下にあるrc0.dからrc6.dの各ディレクトリにあります。rcS.d/このrc0.dからrc6.dの各ディレクトリがランレベルごとのサービス起動用スクリプトの置き場になっており,ランレベルに応じてrcスクリプトがそれらを順に実行していくわけです。サービス起動用スクリプトは本体を/etc/rc.d/init.d/以下に置き,起動したいランレベルへは"S"か"K"を先頭につけた「2ケタの数字」+「スクリプト名」という形のシンボリックリンクを置きます。../init.d/unbound....rcスクリプトは,指定されたランレベルに応じて,rc0.dからrc6.dディレクトリ内にある"S"で始まるスクリプトを,2ケタの数字の順に実行し,必要なサービスを起動していきます。サービスの起動順は2ケタの数字を適切に割り振ることで制御できるので,サービス間の依存性にも対応しています。"S"ではなく"K"で始まるシンボリックリンクもあります。rc1.d/以下ではほとんどのリンクが"K"で始まっています。../init.d/gpm....これら"K"で始まるリンクはランレベルの切り替え時に使用され,「⁠そのランレベルに入った際に終了するサービス」を意味します。上記で示したrc1.d/はランレベル1,すなわち「シングルユーザモード」用のランレベルで,このランレベルに入ると起動していたほとんどのサービスは終了し,必要最小限の機能のみに切り替わるわけです。Plamo-6.xまでは/etc/rc.d/rc.Sで行なっていたファイルシステムのマウントやシステムクロック,スワップの設定など,ユーザ領域で必要な初期化処理もそれぞれ独立したスクリプトとして,/etc/rc.d/rcS.d/に置いたシンボリックリンクから実行するようになりました。../init.d/eudev*...mountvirtfsはtmpfsやdevfs,sysfsといった仮想ファイルシステムのマウント,modulesはあらかじめ指定しておいたモジュールのロード,localnetはloopbackインターフェイスの設定,eudevは周辺機器を動的に認識するudevデーモンの起動,を意味し,従来はrc.Sで一気にやっていた処理を,1つ1つのコマンドごとに分割して,rcS.d/以下のシンボリックリンクから実行するように変更しています。rcスクリプトはシンボリックリンクを辿って/etc/rc.d/init.d/以下のコマンドを実行するだけなので,起動スクリプトの実行パーミッションを落せば,シンボリックリンクが張ってあってもそのサービスは起動されなくなります。Linuxでは,不要なサービスはできるだけ起動しない,という方針で,httpdやsamba,dovecotなど,パッケージをインストールしても,そのままでは起動しないサービスがいくつかあります。+xで実行可能にしてください。ちなみにrcスクリプトは起動する各コマンドの終了状況をチェックし,起動の成功("OK"⁠)⁠,失敗("FAIL")を色分けして表示してくれます。下図はPlamo-7.0の起動画面で,黄色で"WARN"になっているのが,実行パーミッションが無いため起動されなかったサービスです。Linuxでは今のところ,これらのツールは採用していません。このようにSysV形式の起動処理は,sysvinitパッケージだけではなく,インストールするソフトウェアそれぞれについて起動/終了用スクリプトを用意すると共に,それらを適切な順番で起動するように設定したシンボリックリンクを用意するなど,システム全体に渡る調整が必要になります。SysV形式が提供する「ランレベル」は面白い概念ではあるものの,一人が一台のLinux環境を専有する時代においては,それほど必要な機能ではありません。Linuxでは長くrc.S/rc.M/rc.localのスタイルを使い続けてきたものの,Plamo-7.0では全パッケージを更新する予定だったので,この機会に,と,正式なSysV形式の起動処理を採用することにした次第です。Linuxの場合,開発者リソースが少ないこともあって,「⁠あれば便利」な機能を積極的に採用するよりも,「⁠そろそろ不便」になってきたから仕方なく移行することが多くなりがちで,前回紹介した文字コードや今回取りあげたSysV形式の起動システムなど,その典型例と言えるでしょう。新技術にも積極的にならないといけないなぁ,,と思うものの,古い皮袋は新しい葡萄酒に馴染みにくいようです(苦笑⁠)⁠。Linuxとりまとめ役。人類学的にハッカー文化を研究しようとしていたものの,いつの間にかミイラ取りがミイラになってOSSの世界にどっぷりと漬かってしまいました。最近は田舎に隠棲して半農半自営な生活をしながらソフトウェアと戯れています。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。