分12いつの間にか夏至も過ぎ,そろそろ今年も半分が終る時期になってしまいました。家の回りの水田も,青々とした若苗が風にそよいでいます。例年なら田植えが終って一段落の時期なものの,今年は水番が当たっているので,朝夕,田んぼの水位の確認・調整に忙しい日々を送っています。7.0を公式にリリースしました。DVDイメージはrepository.plamolinux.orgから入手できます。サイズの関係でDVDは2枚組みとなったものの,2枚目はTeX回りと動作に必須ではないcontrib的なパッケージを収めているだけなので,TeX(tetex)が不要な方は1枚目のDVDイメージのみでインストールできます。Linuxは大手ディストリビューションのような完成度はありませんが,小規模な分,全体の見通しはよく,Linuxの勉強をしたい人や,手作りで自分の環境を作りあげたい人には便利なディストリビューションだと思っています。Linuxに興味を関心を持たれた方は,ぜひ試してみてください。閑話休題,今回は,文字コードの変更と共にPlamo-7.0で加えた大きな変更点である起動処理回りを解説します。Plamo-7.0の起動処理Plamo-7.0でも,Plamo-6.x同様,システムの起動にはsysvinitパッケージを使っています。SystemV(アルファベットのVではなく,ローマ数字の5)が採用した起動処理」の機能を実装したソフトウェアを意味します。Distribution)"と呼び慣わしています。Init"は前者の系統のUNIXが採用したシステムの初期化メカニズムで,複数の「ランレベル(動作モード⁠)⁠」を用意しているのが特徴です。ここで言う「ランレベル」とは,全ての機能を使える「通常モード⁠」⁠,rootユーザのみがログインできるトラブルやメンテナンス時に便利な「シングルユーザモード⁠」⁠,root以外のユーザもログインできるもののNFS等ネットワーク機能は使えない「ネットワーク無しモード」など,起動するサービスを取捨選択して状況に応じた環境を提供する機能です。この機能を使えば,何らかのハードウェアトラブルが生じた場合,「⁠⁠通常モード」から「⁠シングルユーザモード」に切り替えて一般ユーザを追い出し,root権限でバックアップやシステムリカバリ作業を行う,といった操作ができます。BSD系のUNIXでは「ランレベル」という概念は採用せず,必要なサービスは/etc/rcファイルで直接起動する,というスタイルになっていました。複数のランレベルを切り替えられるSysV形式の起動処理は高機能なものの,使用するソフトウェアがその形式に対応している必要があるのに対し,BSD形式では起動したいサービスを/etc/rcファイルに記述するだけで済むので,80年代後半にフリーソフトウェアをインストールしながらUNIXを学んだ人間にとってはBSD形式の方が使いなれた仕組みでした。UNIXのrcファイルをエミュレートするスタイルにしたのでしょう。Linuxがディストリビューションとして進化するにつれ,システムの中身にあまり詳しくないユーザでもさまざまなソフトウェアを簡単にインストール/アンインストールできるようにする必要が生じました。その結果,rcファイルを修正しなければならないBSD形式は敬遠されるようになり,パッケージごとに起動/終了スクリプトをあらかじめ用意するSysV形式が主流になりました。LinuxでもPlamo-7で起動スタイルを正式なSysV形式に変更することにしたわけです。init回りはその後も進化を続け,UpstartやInitNG,OpenRCなどの仕組みが提案され,最近ではsystemdが主流となってきています。Linuxもsystemdに移行するかも知れませんが,それはだいぶ先のことでしょう(苦笑⁠)⁠。SysV形式の設定ファイルUNIX/Linuxの場合,カーネルは,起動後必要な初期化処理等を終えると/sbin/initというコマンドを実行することになっています。Linuxの起動時パラメータで"init=/bin/bash"等を指定すれば,/sbin/init以外のコマンドを実行することができます。SysV形式の場合,この/sbin/initは/etc/inittabという設定ファイルに従って動作します。これがPlamo-6.xの/etc/inittab(の主要部分)です。rc:2345:wait:/etc/rc.d/rc.M22同じ部分は,Plamo-7.0ではこうなっています。"識別子:ランレベル:アクション:実行コマンド"という形になっています。「⁠識別子」はそれぞれの行を区別する任意の文字列,「⁠ランレベル」はその行を実行するランレベルの指定(複数可⁠)⁠,「⁠アクション」はプロセスを起動/終了させる際の動作,「⁠実行コマンド」はその行が実行するコマンド,を意味します。「アクション」で"initdefault"を指定すると,その行で指定したランレベルが「デフォルト・ランレベル⁠」⁠,すなわち「通常モード」になます。デフォルト・ランレベルは"3"です。"sysinit"を指定すると,その行は起動時に実行されることになります。S"が,システムの起動時に実行されます。"wait"というアクションの指定は,実行したコマンドが終了するまで待つ,という指示です。inittab"してみてください。Plamo-6.xではランレベルを細かく分けず「シングルユーザモード(18行目⁠)⁠」と「マルチユーザモード(21行目⁠)⁠」を提供しているだけなのに対し,Plamo-7.0では0から6までのランレベル(8行目から14行目)を設けています。Plamo-7.0のランレベルの割り当ては以下の通りです。Base)の仕様を元にしているので,SysV形式を使っているディストリビューションの標準的な割り当てです。ランレベル4は,利用者が独自の動作モードを定義できるように「予備」とされ,デフォルトではランレベル3と同じ設定になっています。リスト1と2を見比べると,Plamo-6.xでは処理にrc.Sとrc.M,rc.Kの3つのスクリプトを使いわけているのに対し,Plamo-7.0ではrcという一つのスクリプトが与える引数によって動作を変えていることがわかります。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.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。