久しぶりにサーバー設定していて、ntsysv を起動してから、あぁ、そうじゃなくて何だっけ、普通にコマンドラインで設定するやつ、と思った。
正解は chkconfig なのだけど、まぁ、そこはどうでも良い話。
わけわからん、という人のために書いておくと、サーバー起動と同時にデーモン(サービスプログラム)を起動したい、ということは多い。
というか、いちいち必要なデーモンを手動で起動なんてしてられない。
コマンドラインでその設定をするソフトが chkconfig 。
chkconfig をわかりやすく、カーソルキーだけで設定させてくれるソフトが ntsysv 。
まぁ、ともかくその時は chkconfig が思い出せなかった。
ntsysv って、検索してみたら、こんな質問があった。
New Technologies System Virtualisation だ、という唯一の答えがベストアンサーだ。
いや、明らかに違うから。それ、単に VMware 好きな技術者が書いている、ブログのタイトルだから。
以前書いた通り、こうしたQ&Aコミュニティはまともな答えが出ないと思っているけど、その答えがベストアンサーとして残るのはどうもいただけない。
でも、じゃぁ ntsysv が何の略か、というと僕も答えを持ち合わせていない。
答えを知らないのであれば、上のベストアンサーが間違っている、と言い切る根拠だってないことになる。
推測に過ぎない、と断った上だけど、後半部分はわかる。sysv の部分だ。
System V というのは、AT&T が作った UNIX ディストリビューションの名前だ。
というか、UNIX は AT&T が生み出したものだから、本家だな。
V というのは、ローマ数字で 5 のこと。バージョン5だから System V 。「しすてむふぁいぶ」と読むこと。
Linux は、基本的に System V 互換を目指して作り出されたフリーの UNIX 環境だ。
カーネル以外は BSD 由来の部分が多いので BSD っぽい操作をするところも多いのだけど、System V を目指した。ここが重要。
そして、多くの Linux ディストリビューションが、サーバ起動時のデーモン起動方法として、System V 互換の手法を取っている。
/etc/rc.d/ ディレクトリ下に、起動のためのスクリプトを置いておく、というやつだ。
実際には、/etc/rc.d/init.d/ にスクリプトが置かれ、/etc/rc.d/rc3.d/ なんかの下に、起動順位に従ったファイル名でリンクされる。
起動時には、このリンクをファイル名順に実行することで、デーモンが起動される。
つまり、chkconfig の正体は、init.d のスクリプトを他のディレクトリの下にリンクしたり、リンクを削除したりするプログラムだ。
ntsysv は、init.d の中のファイル一覧を表示して、カーソルキーとスペースキーで、起動するか再起動するかを変更できるプログラムだ。
…というわけで、ntsysv は、System V のデーモン起動方法と深く結びついている。
だから、sysv の部分は System V の略だと考えて、まず間違いないと思われる。
まずやって見たのは、man ntsysv だ。
マニュアルが読める。
特に名前に関する情報は無かった。
次に、ntsysv と System V を並べてググってみる。
ntsysv は、ほにゃらら System V の略だよ、って書いたページがあることを期待したのだ。
期待したのだけど…なかった。少なくとも、僕は見つけられなかった。
でも、「ntsysv は ncurses ベースで作られた、System V 起動ファイルの設定ソフトだよ」ってページは多数見つかった。
なるほど、これで n に関してはわかった。ncurses の n のようだ。
ちなみに、ncurses は new curses の略だ。「新しい呪い」ではなくて、curses は cursor を操作するためのライブラリプログラム。
その昔、UNIX にはテレタイプが付けられていた。コンピューターにはテレタイプ、が当たり前だった時代だ。
でも、そのうち「ビデオテレタイプ」と呼ばれる、CRT 端末が登場した。
そうした端末では、カーソル位置を自由に設定するコマンドが存在していることがあって、文字を自由な位置に配置できた。
でも、端末ごとに互換性が無くて非常に面倒くさい。
これをうまく吸収してしまい、プログラマは「カーソルを指定位置へ」と命令するだけでよきに計らってくれるライブラリが作られた。
端末ごとに全く異なる、カーソル(cursor)を巡る呪い(curses)のような状況から解放してくれる呪文(curses)だ。
…でも、あるころに、何らかの事故によりソースファイルが失われたらしい。
非常に便利なソフトで、無くなってしまうのは困るので、同じ機能のものが作り直された。
これが new curses 。ncurses だ。
余談だけど、1文字の大きさが変わったりする日本語では、curses はまともに動かなかった。新たな呪いだ。
日本語対応にした curses を、ペリカン curses という。
文字データが端末に「流れ込んでいく」と考えると、文字化けをするのは、何かが通せんぼしているからだ。
curses が日本語だけを通せんぼしているのであれば、日本語が通るようにしてやらなくてはならない。
「日本語が通る」なので、最初は「日通」と呼ばれたらしい。
でも、日通といえばペリカン便。そこで、日本語対応の curses を「ペリカン curses」と呼ぶようになったのだ。
嘘みたいな本当の話。
UNIX のソフトには、こんな名前の由来が沢山ある。
話がそれた。
ntsysv の t の部分だけど、考えられそうなのが2つ。
一つは、text 。ncurses を使った text 画面ベースだ、という主張。
というのも、このソフトが作られたのは 1997 年ごろのようで、世の中がコマンドラインインターフェイスからグラフィカルインターフェイスへ変わっていく頃なのだ。
「ビジュアルに」設定したいのであれば、X Window という手だってある。
でも、X Window は「手軽」に見えるけど「気軽」ではない。
ビジュアルに表現していても、テキスト画面で使えることを重視したのではないかと思う。
もう一つは、toggle 。
ntsysv を使ったことある人はわかると思うけど、各種デーモンを「起動するかしないか」だけを選ぶため、カーソルでリストの中を動いて、スペースキーを押すと起動するかどうかを切り替えられる。
起動設定を簡単に toggle 出来る、という意味で、この t でもおかしくない気はする。
このプログラム作った人、man ntsysv で連絡先まで書いてあるから、聞いてみればわかるんだろうけどね。
後日追記 2015.8.30
コメント欄で「nt は newt の略」という説を頂いた。
不勉強で newt を知らなかったのだけど、教えてもらってから調べてみたらすごく信憑性高い。多分それ。
ncurses は、画面の好きな位置にカーソルを移動したり、文字に色を付けたりするための仕組み。
BASIC 時代を知っている人には、color と locate が使えるようになる「だけ」だと思ってもらっていい。
#パソコン通信時代を知る人なら、エスケープシーケンスを適切に選ぶだけのライブラリ、と言えばさらに理解してもらえるか。
newt は、ncurses を利用して、テキスト画面でウィンドウシステムを実現してしまおう、というライブラリだ。
X-Window では画面描画を行う方法を提供するけど、ウィンドウシステムは提供しない。
ウィンドウシステムとして使いたければ、好きなウィンドウマネージャを組み合わせる必要がある、というのと似ている。
ntsysv の説明では「ncurses based」であることを書いてあることが多いのだけど、実は newt based でもあった。
そして、この newt は、 RedHat 社が開発したものだ。
RedHat のテキストベースのインストーラが作り出す画面は newt によるもの。
名前も詳細も知らなかったのだけど、統一された操作感だから、なんかライブラリがあるんだろうな、程度には感じていた。
#最近は X-Window ベースでインストールできるので、この画面はあまり見なくなった。
そして、newt の開発者と ntsysv の開発者は、同一人物だった。Erik Troan さん。
そんなわけで、ntsysv の「nt」は newt の略ではないか、という説には非常に信憑性がある。
ところで、newt は「イモリ」の意味だ。公式には Not Erik's Windowing Toolkit の略となっている。
Erik さんが作ったのに、なんで Not Erik's なのかは知らない。
でも、curses(呪文)と一緒に使う、って時点で「イモリ」の名前が先にあったんじゃないかという気がする。
なかなか良いネーミングセンスだ。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 【あきよし】 情報ありがとうございます! なるほど、ntsysv と newt 、作者さんが同じなのですね。恥ずかしながら newt の存在を知りませんでした。本文に追記します。 (2015-08-30 12:03:46)【m.ukai】 newt ベースで作られているようなので、NewT SYStem V の略という説を唱えてみます。(で newt が何の略かという泥沼) (2015-08-26 10:16:38) |