まめ畑

ゆるゆると書いていきます

サーバにおけるGUIとCUIの使用について

technoさんのtrial and errorにてサーバーは "CUI" にこだわるあなたへ・・・。という記事が気になったので、俄か自宅時々オープン鯖缶の意見を。
それにしてもtechnoさんのエントリは有用な事がいっぱいで脱帽です。100万アクセスも納得です。
画面キャプチャが詳しすぎる。。。僕にはあのマメさはありません。。。


GUICUI・サーバに関するお話はここでは割愛。

以下、今までの経験と自宅鯖に関しての意見という事で。

現在、サーバといえばLinuxで構築というのは本当に当たり前のようになっているのは事実だと思います。
自分としてはWindows Server経験が殆どないのですが、あれはライセンスが高いだけでもう少し下げればもっともっと普及すると思われるいいOSだと思います。
昔はIISの脆弱性を使った攻撃が横行していた事もあり、自分はLinuxに走ったのですが今やそれも過去の事となってきたかなと思います。
Linuxの利点は、そのソースコードが後悔されていて、自分でもいじれるという点が大きいと思いますが、ここでは自宅サーバの話という事でこれは置いといて。(自分もそこまでは殆どやらない身だし)

という前置きを書いといて結論から書くと、自分はCUI派です。
もちろんGUIを絶対に反対しているわけではありません。
実際に管理にGUIを使う事もありますし。

まず、1番に言えることは、メモリの消費量である。
Linux では、X を立ち上げると、ウィンドウマネージャが、少なからずメモリを消費する。
確かに、あれだけのグラフィックを表示させるには、それなりのメモリ容量が必要なことはわかる。

先ずサーバを管理する時に実際にサーバ機にモニタつけて管理する事ってどのくらいあるのだろうかと思う。
インストールが終了した時点でサーバのモニタは外してしまって、あとはリモートで管理するのが常だと思うし、実際今の状況がそうだと思う。
それはなぜか、サーバなんて自宅では邪魔にならないとこに設置するから。
そうなってくると、リモートからの操作になってCUIでゴリゴリ作業するしかない。
つまり、そんな環境にGUIをインストールしておく必要がない思う。
だったら、少しでもメモリスペースを開放しておくのが吉だと思っているのです。
Linuxは軽いなんていうのは昔の神話のようなもので、実際に動作させるとWindowsばりまでとはいかないまでもかなりメモリを食いやがる。
現在自宅サーバでは、Web/メール/SSH/DB/が稼動しているが年間平均値で1G中72Mしか空き容量が存在しないという、状況。
もちろん中で、様々な管理用デーモンが走っているが、1台前のサーバでは空き容量平均20M程の状況ではMTの再構築も危なっかしい状況だったし、何よりWebサービスをやるなら、メモリ中に展開して高速化を図るような処理が走っている場合、メモリの空き容量の確保は重要だと思う。
サーバには、いらないものは入れないのが定石かなと思ったり。
処理にはもちろんCPUパワーも関係しますが。
でも、メモリの値段が暴落している今、メモリの容量を気にする事が減ってきたのは俺の思い違い???
HDDもしかり。

CUI 使いのあなたは、vi こそ世界最強のエディタなどと思っているのであろうか?
では、なぜ Windows では TeraPad, 秀丸などの高機能エディタを利用するのだろう。

先ず、Viが使われている理由は、どのディストリを見ても標準でそいつがいるからというのが大きいと思うのです。
Vimが使いにくいって一番の理由は、コマンドが使えないからじゃないかな?
チートシートなんてネットにごろごろしてるから、自分が良く使うものだけでも何かにコピーしといたら直ぐに覚えるし、そうしたらわざわざgedit見たいな奴を起動する必要なんてなくなるんじゃないかな?
EmacsやViが低機能なんて事は全然なくて、むしろ機能は十分そろっていると思う。
それに、コードのハイライトだってしてくれるし、置換だってコマンド一発だし。

しかし、vi では、どこがコメントで、どこが編集する部分なのか、まったくわからない。
これは、ヒューマンエラーを多発させる原因にもなる。

確かに設定ファイルの書き間違いによるエラーは起こるけど、それはGUIでも起こるしどちらが多いとかはひとえに言えない。
初心者に関して言えば、CUIによる設定でのエラーは段違いに多いと思うし、そこに書かれている事の理解も怪しいと思う。
そもそもサーバの設定ツールとしてGUIが提供されていないのは、そのバージョンアップによる設定項目の追加削除・意味の変更に追従しにくいんじゃないかな?
それに、何より設定項目の多さ。
これを全て網羅するのは大変な事だと思う。
かといって、未入力項目はデフォでとかなんてオマヌケなソフト作られても困りますしね。
確かに現在も場合によってはGUIによる設定を行う事もありますが、本当にそれは限られた時で、デーモンに対する設定は使いません。サーバ本体に対する設定を行う時などに使います。
よく言われますが、使い分けでしょうかね。
ただ、ここで1つ言いたいのはGUICUIに関わらず、設定なりを行う際に自分が今何をしているか、この項目の持つ意味を理解する事が大切だと思います。
ウイザードを使えば、簡単に設定できてしまいます。GUIの設定ツールでも出来ますが、未設定項目はデフォ設定になるものも多いです。
自宅で個人運営とはいえ、世界に後悔されているサーバなので、その構築・管理にはそれなりの責任があると思います。
そこで重要なのは、意味もわからず設定をやっているという事は凄く怖い事なんじゃないかな。

これは、人間を精神的にも肉体的にも疲れさせる要因ではなかろうか?

これは、慣れです。
どっちを使おうが、意味不なときは疲れます。
そもそも、設定が多いのがサーバです。
簡単に設定できるサーバは少しブラックボックス過ぎて怖いです。

慣れというものがあるだろうが、そもそも慣れに頼っていては、先に進めない。
たまには、変化というものが必要なのだ。
CUI を使っていると、古典的なツールを扱っているというカッコよさによって、自己満足が得られるならそれでもよいかもしれないが。

進めないなんて言わないで><
確かに変化も必要だと思う。
それはGUIを使っていてもおなじじゃないかな?
ウイザードを進めていく事もある意味なれじゃないかなと思う。
たとえば、そこでこう設定するといった感じの勘所みたいなやつ。
使い始めた時は、このウイザード意味不なんて思っていても、少ししたら、ここはこう設定したほうが使いやすくなるといった感じがわかってくるもの。
フルインストールからカスタムインストールに移ってみたみたいな少しの変化でも、それはその事に慣れたからじゃないかな?

あとは、自宅サーバーの開設サイトに、コマンドを覚える。という目標を掲げているサイトがある。
しかし、これからの時代、本当に Linux のコマンドを知っている必要があるのだろうか?
そもそも、コマンドを知って何になるだろう?

これは確かに多い。
これに激しく同意。
コマンドを覚えるのは確かに無意味。
でも、だからってGUIが今後発展する契機にはならないと思う。
例えば、viつかってテキストの編集できるんだぜ。とかいってるやつが、それで何も出来なかったら、自己満乙といってやればいいと思う。
でも、viでApacheの設定ファイルを自分の環境に合わせて、しかもセキュリティを考慮して書いてたらそれはいいことじゃないかな。
あとは、サイトに書いてある事をぱっくりまるうつしして出来た気になる事が一番厄介。
これこそ危険人物。
せっかくの機会を逃してる。

しかし、それでも人間というのは新しいものを拒む性質がある。
特に日本人は。
また、なぜかそれとても批判したがる。
それも、自分で使ったり試したりもしないで。
いわゆる、食わず嫌いである。
先入観というのは、怖いものだ・・・。

常に、新しいものを求めるフィールド、それがインターネットというものなのではなかろうか。
そういう場で、古いものに頼るというのは、それ自体を衰退させてしまう理由にもなるのではないだろうか?とか考えたりもしている。

これは半分同意。
でも、サーバに関しては後半は?な感じ。
確かに、使いもしないでこれがわるいとかは言ってはいけない。
使った上で自分なりのポリシーで使い分けたり、物事を言う事は大切。
ただ、新しいものを直ぐに適用するにはサーバに関しては難しい。
バグなり不具合なりがあるから。
自分も実験環境ではリリースされたばかりの物を入れているが、あくまでVM上の実験機。
相性の問題で動かないものも出てくるから、安直にあたしい物を追うのは少しばかり怖い。
古いものに頼るから衰退という事はなくって、古いものがあってこそ今の状況があるわけで、本当にコアな部分をいじる時にGUIでは無理な事もある。
そう考えると万が一最新の機能が使えなかった時には、少し昔に戻るしかないのではないのかな?

サーバーを運用する際も、CUI をネットに書かれている通りに、なんとなく使ってる人が多いのではなかろうか?
そもそも、それなりにコンピュータを理解していないと、この CUI を利用することでどれぐらい利点があるのかというのが比較できない。

前にも書いたけど、サーバを設定する事もクリエイティブな事だと個人的には思っていて、頭を使う。
書かれたとおりに動かしているだけでは、理解はしづらい。
自宅でサーバを動かすと、普段使っているサーバの中身が理解できるって利点があるけど、これだと台無し。
だからここは同意。

あまりにも、サーバーは CUI, LinuxCUI, CUI じゃないとだめなのぉ〜! なサイトが多すぎるので。

確かに。
多分、そういうサイトを作成されている方は玄人レベルの方々だからだと思います。


と、色々まとまりなく書きましたが、GUIにしろCUIにしろ共存して両方の知識を持っていく事が大切なんじゃないかなとエセ鯖缶は思います。
実際にコマンドベースで設定した方が、一気に中身の確認が出来るし、GUIを使えば複雑なところをカバーできる。
でも、OracleDBをいじった時に思ったけど、GUIベースの管理ツールで設定をミスって、デーモンが起動しなくなったら、GUIではにっちもさっちもいかなくて、結局コマンドで回復をしていただいた事があります。
そう考えるとやはり両方使えたほうが自分のサーバに対する知識の幅が広がるのではないでしょうか?
実際、Ciscoさんはコマンドベースで設定しますが、GUIの使い方も試験問題として取り入れられていますし。
Oracleもあります。
ベンダー系ですが、こちらは両方使えた方がいいわけですし。
サーバのGUIでデーモンなどがフリーズしたら、CUIで操作して回復させないといけない場面も存在します。


GUIにしろCUIにしろ両方のよしあしを知って使いこなせる人間が必要だと思って日々勉強しています。