|
|
つれづれなるままに
|
つれづれなるままにハードディスクは消耗品?メディアレスの世界Linuxとデフラグネットの悪人どもフロッピーよ永遠にアップルはすごいゾノイローゼな人々すさまじきものパソコン購入指南役西暦2500年ごろの話ですがオープンソースがわからんUNIXという考え方自宅サーバ管理人に100の質問お便利サーバー.comについて過去ログ置き場 |
UNIXこそ人類の財産お便利サーバー.comで説明しているLinuxのサーバーアプリケーションの動かし方は、どれも基本的には、 「テキストの設定ファイルを書き換えて、デーモンをコマンドで再起動。」 というワンパターンです。 テキスト?、コマンド?、今時の方にとってはなんとも古めかしいというか、「何それ?」みたいなものかもしれませんね。 WindowsサーバーでWebサーバーアプリケーションにIISなんかを使っていて、 「マウスでメニューから設定を選んでいって、右クリックから再起動。」 なんてことに慣れてらっしゃる方にとっては「なんて原始的な!」あるいは「ちょっと楽しくないかも...」な感じかもしれませんね。 どっちが良くてどっちが良くないとかいう議論は後回しにして、既に設定ツールが充実して久しいLinuxサーバーの操作においても、お便利サーバー.com管理人はこの、 「テキストの設定ファイルを書き換えて、デーモンをコマンドで再起動。」 という古典的な手法にこだわっています。 なぜならそれこそがLinuxの原点ともいうべきUNIXの基本と信じているからです。 そしてそれがベターな選択であることは、今から10年以上前に書かれた一冊の本、 「UNIXという考え方」 に解りやすくまとめてあります。 「UNIXという考え方(監訳:芳尾桂、2001年刊行)」の原著:The UNIX Philosophy(著者:MIKE GANCARZ)が出版されたのは1996年。まだ世の中にはMacOSXもAndroidもなく、ようやくLinuxが次世代のOSとして注目を集め始めた頃のことです。 当時UNIXといえば、一部の大学や企業の研究室の片隅で細々と使われていたに過ぎなかったOSだったのですが、そんな時代に書かれたこの著書を、お便利サーバー.com管理人なりの解釈でまとめてみると、 1.「個々のプログラムは単純な処理を行うものとし、かつ他のプログラムからテキストデータを受け取り、処理結果をテキストデータで出力できるように工夫して作ること。」 2.「複雑な処理を行うアプリケーションはソースから書くのではなく、既にある小さなプログラムをかき集め、できるだけシェルスクリプトでつないで作ること。」 3.「1と2を守ったプログラムは移植が非常に容易であることをよく理解すること。」 |
||||||||
|
このページで
紹介している本です ↓ |
4.「結果として移植性のよいソフトウェアシステムは、日々開発される新しいハードウェア上で真っ先に稼働するため機会損失がなく、決して無駄にはならないと信じること。」 5.「移植性の良いプログラムは、あるハードウェアが廃れて使われなくなっても、別のハードウェア上で生き残ることができることを理解すること。」 となるでしょうか。 更にこれらを一つの文章にまとめ上げるとこうなります。 「パラメータやデータをできるだけテキストで扱い、これを小さなプログラムで処理するような仕組みを作るように心がければ、システムの永続性が保証される。」 と。 ちょっと解りにくいですね。ではここで一句。 |
||||||||
| ひどい字余りですね。スミマセン。 |
〜 アーキテクチャ ただうたかたの 夢のごとし 〜 ハードウェアは機械です。そのうち故障します。いずれ寿命が来ます。アーキテクチャも同じです。DOS/Vの登場で存在意義を無くしたNECのPC-98シリーズや、Blu-rayDiskとの争いに敗れ去ったHD DVDのように、「思想」や「規格」そのものが消滅してしまうこともあります。 もっと大胆に考えれば、一企業の商品であるWindowsやMacintoshも採算が取れなくなればそれまで。今後いつまでも使えるという保証はどこにもありません。 UNIXの考え方はつまるところ「移植性を常に最優先にすること」にありますから、ハードウェアやアーキテクチャの流行り廃りに左右されることがありません。 例えは悪いですがそれはあたかもインフルエンザウイルスやバクテリアのように、ハードウェアやアーキテクチャの主流が変わっても、UNIX系のOSはそのフットワークの軽さを発揮し、直ちにメジャーなプラットフォームに移植され、あっというまに実用環境が出来上がり、どんな環境でもしぶとく生き残ることでしょう。 UNIXとは「思想」です。思想にはそれに共感し、伝える人がいなくならなければ永遠に継続します。 そしてその思想の根源は誰もが欲してやまない「不老長寿の秘伝」なわけですから、この思想が廃れる理由がないのです。 お便利サーバー.com管理人が、初心者にはややハードルの高い、 「テキストの設定ファイルを書き換えて、デーモンをコマンドで再起動。」 |
||||||||
|
|
という方法にこだわるのは、それこそUNIXの王道であり、将来のIT環境が変わっても決して無駄にはならない方法であると信じているからです。 もちろん、 「テキストの設定ファイルを書き換えて、デーモンをコマンドで再起動。」 という手法は、その方法だけを考えればベストではないでしょう。 まず、その設定ファイルの場所(例えばCentOSのApacheの場合は"/etc/httpd/conf/httpd.conf")を覚えなければなりません。次に設定ファイルの全体書式を覚えなければなりません。そしてディレクティブの意味とそのパラメータの書式を覚えなければなりません。 また、書式を覚えるだけではなく、一字一句間違えないようにタイプしなければなりません。 そして最後に設定を反映させるコマンドを覚え、実行しなければなりません。 確かに考えただけでもハードルが高そうで、うっとおしく思えます。 しかし一度Linuxのhttpdの設定方法を覚えてしまえば、他のUNIX系OS上のApacheも、Windows上のApacheも簡単に設定できるようになります。つまり「設定の移植」が易しいということです。 他方でGUI画面で設定するIISは、IISマネージャから設定パネルを開き、Windowsのコントロールパネルを操作する要領で設定していきますから初心者にとってはハードルが低く、概して設定操作は容易です。 しかしながらこの初心者への易しさを重視した階層型、対話型のメニューインターフェースは、上達者による高度な設定作業を著しく困難にします。 つまり、「あの設定はどこのメニューから開くんだっけ?」、「元に戻すにはどのチェックを外すんだっけ。」と、設定の内容とは無関係のことをいろいろ考えなければならず、集中して作業ができなくなります。 その点、一枚の設定ファイルに必要なパラメータを羅列しているだけのUNIX流の設定ファイルは、設定の複製や一部修正が容易で、設定のスキルが上がれば上がるほどに操作性が良くなります。
サーバー構築と運用に必要な労力をグラフにすると... UNIX系のOSは、初心者には敷居が高いと良く言われます。ユーザーインターフェースの開発がなおざりにされているせいだ、とか、意図的に初心者を締め出そうとしている、だとか、そういう批判もあります。しかしそれらの指摘は正しくありません。 なぜなら、UNIXにこれ以上の易しいユーザーインターフェースや対話型のツールをくっつけてしまうと、必然的に移植性を犠牲にしなければならなくなってしまうからです。移植性を失ったUNIXはもはやUNIXではなく、すぐれた移植性によってUNIXがUNIXたる存在意義を主張し続けようとするならば、UNIXと人との間に幾分の温度差は存在しても仕方がない、ということです。 UNIXはこう訴えています。「私を理解するために、少しだけ頑張ってください。」と。 ところで、UNIXがベースでありながらUNIXの思想である「移植性」を犠牲にしてユーザーインターフェースに全力を注いだ典型的な例があります。それが MacOSX であり、 iOS であり、 Android です。 これらの、UNIXから派生して生まれたユーザーフレンドリーなOSは、例えるなら究極まで品種改良された農作物と言えるでしょう。栽培のしやすさ、収穫量の多さ、耐寒性、病気への抵抗性など、人間がそれを利用するのに都合が良いように作られた栽培品種のようなものです。 しかしそういう作物は、改良され尽くされたが故にもう新たな品種を生むための「親」にはなれません。更に、耐寒性を高めたが故に暖かいところでは育たないとか、害虫への抵抗性を強めたが故に食用として使えなくなった(遺伝子組み換え作物)とか、利点と引き換えに別の欠点を持つのも栽培品種の特徴です。 一方でUNIXやUNIXの思想をそのまま残しているBSDやLinuxは、農作物でいえば「原種」です。収穫量も少なく、食べてもあまり美味しくないかもしれません。それでも美味しく食べようとおもったら、灰汁(あく)を抜き、柔らかくなるまで煮込み、生姜で野生の臭いを消すなどの苦労が必要かもしれません。 |
||||||||
| 世界的には スヴァールバル世界種子貯蔵庫 が有名ですね。我が日本でも同じような試みで原種を守ろうという活動が行われています。 |
しかし「原種」には、これからいくらでも品種改良を施し、すぐれた栽培品種を生み出せる力があります。そうであるが故に作物の原種は人類の宝として大切にされているわけです。 故に、現代人はOSの原種たるUNIXを無くしてはならないわけで、普通の人よりほんの少し頑張れる技術者は是非UNIXの思想に触れていただき、人類の偉大な財産であるOSの原種UNIXを守っていただきたいと思うわけです。 以下、ウィキペディアフリー百科事典の UNIX哲学 からの引用で、このページを締めくくりたいと思います。 |
||||||||
|
アップルのスティーブジョブズ氏の逝去で世界が大騒ぎしていた頃、2011年10月8日、UNIXの生みの親の一人、デニス・リッチー氏がひっそりとお亡くなりになりました。
私的にはそのほうがショックは大きかったですね...。 |
「UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである。」 - デニス・リッチー 「UNIXはユーザが愚かなことをするのを止めるために作られたのではない。小器用なことをするのも防いでくれるのだ。」 - ダグ・グウィン 「UNIXはユーザフレンドリーだ。誰彼構わずフレンドリーになるわけではないだけだ。」- スティーブン・キング |
||||||||
|
このページで
紹介している本です ↓ |
「UNIXを理解しない人々は、それを不十分に再発明することになるだろう」 - ヘンリー・スペンサー
|
|
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |