こんばんわ、馬場崎@教育公務員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 __/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/