vine-users ML アーカイブ



[vine-users:064842] Re: どこからはじめるか ( 長文)

  • From: Seiichirou Babasaki <mindgear@xxxxxxxxxxxx>
  • Subject: [vine-users:064842] Re: どこからはじめるか ( 長文)
  • Date: Tue, 2 Mar 2004 00:31:55 +0900
こんばんわ、馬場崎@教育公務員adminです。
ええまぁ、ぶっちゃけガッコノセンセなわけですが(苦笑)

仕事を持ち込むのもアレなんですけど、教育者視点で。
具体例ではなくて抽象例になりますが……

> 素人が確実に勉強しながら(迷惑をかけないで)接続する方法は、
> どういった方法があるのでしょう?

実践目標は小刻みに、という感じですが、大きく大きくイメージして
もらって……、
1. どこを確認すれば良いのか、自分でわからない「初心者」
2. わからない部分もあるけれど自己確認ができる「半人前」
3. 他人に教えることができる「一人前」
4. 不特定多数に責任が持てる「プロフェッショナル」
……こんなところでしょうか。これは今即興で考えたもので、どこかに
こんな分類があるわけではないですよ。

いわゆる問題解決のための手段(手順)を持てることが、この分類の
「初心者」脱出の鍵であります。これは、情報をどこに求めるか
(書籍、検索、メーリングリストなど)に関係なく、得た情報を
自身の問題解決のために消化(転化・応用)できるかどうか、にかかって
います。

自分の中で、原因と結果の道筋を常に考える訓練が必要でして、僕ら
教育者が自戒を込めて「丸暗記じゃダメだよ」と述べる理由でもあります。
同時に、自分の置かれている状態(このケースでは、自分のコンピュータ環境)
を客観的に理解し、検査できることが必要です。

実際問題、ありとあらゆるケースに対応したFAQが存在するはずはないので、
いくつかの顕著な事例(ケース)から、何か普遍的な、あるいは応用の効く
手順や手法を、自分のやり方にあったそれらを、繰り出せるかどうか、
厳しく自己チェックできるかどうか、これらが個人の技量として求めら
れるわけです。

まぁ、難しく考えなくても、他の分野では意識せずに応用をきかせる
体験は出来ているはずです。
「マイナスドライバーが無いけど鍵で回しちゃえ」……とか
(↑この場合、「それで充分」という確認・判断が働いています)

問題解決というものは枠組みを考える力とも言えます。

例として、このメーリングリストでも「対照試験」の発言を良く見ます。つまり
「RedHat9では動いたけれど、Vineのパッケージではエラーだった」……とか。
この一文からたとえば
1.「ではRedHatと同じにしてあげればVineでも動くはず」
2.「どのレベルで差異が生じているのかを探す」
3.「自分だけに発生しているのではないかを疑って回避手段を探す」
4.「もしかしたらパッケージや大元のエラーかも知れないのでそうした情報もあたる」
5.「自分がやろうとしていることが、これでなければ絶対ダメなのかをもう一度考える」
6.(以下、いくらでも)
……といった、手順や方法を、へこたれずにいくらでも考えつく力でしょうか。

ちょい具体的な手法を紹介すれば、僕は記憶力が怪しいので常にメモ紙を置くという
やり方を使っています。

思いつくことをどんなことでも走書きして、たとえば「firewallを設置したい」という
目的を明らかに書いて、このために何をそろえていけば良いのかを、これまた思いつく
端から書き連ねて、上下関係や矢印を書き、はみ出せば別のメモに繋げていきます。
どの順番で解決していくかですね。
また、必須技能でなくても、求められるものは多数あります。

manページの引き方、--help オプションの使い方、tknamazu は言うに及ばず、
シェルスクリプトやPerlスクリプト、文字の扱いなんかは長けているにこしたことは
ないです。事例を「読む」力も必要ですし、各種ログを読む方法、場所、Linuxの各種
設定ファイルの場所、ディレクトリ構造も把握しておいた方が良いでしょう。

このために、つまり自分のLinuxについてどれだけ知っているか、イメージを持つために
何を使うか。
Xを使ってKDEでグラフィカルなビューワという手段、ターミナルログインで mc 使って
F3 で表示 F4 で編集とか(割とお薦め)、ターミナルから cd コマンドで移動して ls で
様子見て less で表示 jed で編集とか(sshからも使いやすいです)、Xでflubox使って
FileRunnerカスタマイズしまくって管理用に使うとか(←やってます)、どれが一番とか
いう話ではなくて、『普段はXで便利に使うけれど、ランレベル3でも環境設定できる
やり方、sshでリモートログインして使うやり方』を自分なりに持っていることです。

そうすれば「ここを修正すれば」という話をもらったときに、「そうかここだった
のか!」と「実践できる」事になります。
※どこを修正したのか「日誌」を残すのもお薦めです。いずれ無用になるとしても。

サーバーの話からかなり遠ざかった感じがしますが、実のところ、「サーバーは
上位のネットワークに対してはクライアントである」というイメージが、言われな
くても持つことができているのか、という話でもあります。ある面でサーバー、
別の側面でクライアント、二つのイメージを行き来するそれを混同せずに思い描け
るか、みたいな。


ここからは体験談ですが、まず、クライアントとしてLinuxの設定を詰めていって、
クライアント機としてネットワークにアクセスできるようにして、次にクライア
ントとして自己機のセキュリティを高めていって、他のコンピュータからどんな風に
見えるかを調べること、あるいは自己機だけでポートのチェック等を行って、
充分安全だと「自己確認」して、次に自身がサーバーとなって、他のコンピュータに
何をどのように配布するか、しないか、ローカルコンピュータからのアクセスを
きちんと「通さない」ようになっているか。

考え出すときりがない感じですが、firewallに関して言えば、

「標準で通さない、許可したものだけを取り継ぐ」

……のが、小規模LANでは運営しやすい「方針」であると読みまして、僕はそれに
従っています。
また話を戻して、つまり「方針」がしっかりしていなければ、実践である「設定」
がぼやけてしまうだろう、という話なのです。

整頓しましょう。
> ある意味、鶏と卵の関係のようで、
> 外界とは、つなげてみないと判らないこともあるだろうし

確かにその通りです。
ベストな手段は「実際に繋いで動かす」なわけですが、逆にこれは外部に責任を
果たせる人だけが出来る手段と言えます。つまり、初心者向きではないわけです。
一見矛盾しているようですが、繋がなくても確認が充分にできる人だけが、最終
的に実際に繋いで確認をする事ができる、のです。
(あるいはこの段階に至ることを目標にしても良いかも知れません)
さて、最低限「わからない」という自分が存在するのなら、そこでまず「わから
ない自分ができること」を想像してみるのも良いかもしれません。
どんなことが考えられるどうでしょう。
自分自身をサーバーとして、自己完結的にやる方法もいくつかあると思います。
中級者向きでしょうか。よくWeb用のPerlスクリプトを自己サーバーの中で確認
する手法がありますが、それもこの一つでしょう。
やはり自身をクライアントとして設定して、外部に向けて要求・発信が出来るよ
うに作るのが初心者向けな気がします。「何を」、という部分はそれこそ「いろ
いろ」ありますから、DNSの名前が引けるようにする所から初めても良いですし、
二枚のNICに別々のIPを割り当ててping通す所から初めても良いかもしれません。

どうしても、勇者の剣を求めて全然別の場所で大魚を釣るゲームの主人公、の
ように遠回りになってしまいますが、やはり足場固めは重要だと思います。

完璧な、というより煮詰めていける環境でしょうか。繰り返しになっちゃいます
が、自己確認が出来ないと、確認の要点を指示されても不完全なまま動き出して
しまうことになり、危険です。「どこが」、ではなくて、危険を容認する姿勢が
必要です。「まずい」と思ったら即停止する、即ポートを塞ぐ、あるいは物理的
にケーブルを抜いて分離する、などなど、そして「どうやって復旧するか」
「どういう状態になればOKなのか」を考え、「復旧のための情報をどこから得るか」、
そして自分がそれらを「理解し自分のケースに応用できるか」あるいは
「自分の状態を詳細に説明できるか」とか……ここでループします。


手順・段取り、手法を自分側に持つこと、これがまず必要なことだろう、と
いうまとめで、この文章を締めます。

※長々文、失礼いたしました。

-- 

__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/
 ZON or MaruArt.  >>>  Babasaki Seiichirou (Japanese.)
 E-Mail Address 
        mindgear@xxxxxxxxxxxx or mindgear@xxxxxxxxxxxxxx
__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/