Windows から Linux へのロードマップ: 第 1 回 Linux で考える

相違点と類似点

IBM e ビジネス・アーキテクトである Chris Walden が、9 回の developerWorks シリーズで読者の運用スキルを Windows から Linux 環境へ移行する道案内をしていきます。今回はまず、Linux と Windows の相違点と類似点を調べ、どうしたら何度も再起動を繰りかえさずにすむかを学びます。

Chris Walden, e-business Architect, IBM

Chris Walden は IBM Developer Relations Technical Consulting (dragonslayers としても知られています) の e ビジネス・アーキテクトです。テキサス州オースチン在住で教育、設置使用指導、IBM ビジネス・パートナーへのコンサルティングにあたっています。自他共に認める半 Linux 狂発症途中で、聞く耳持つ人がいれば誰にでも良い知らせを広めています。e ビジネス・アーキテクトとしての仕事以外に彼の地域にある、すべて Linux による基幹サーバーを管理しており、そこでは多種多様なユーザー環境でのファイル、印刷その他のアプリケーション・サービスを扱っています。コンピューター業界でフィールド・サポートから Web アプリケーション開発やコンサルティングまで 10年の経験があります。



2003年 11月 11日

あなたは Windows から Linux への移行を始めました。これはあなた自身の選択かもしれませんし、「上」からの指示かもしれません。いずれにしても非常になじみのある手順やツールから、多分まったく未知のものへ変更することになります。さらにあなたは他のメンバーに、どうしたら手軽に Linux を扱えるか教育しなければならないのかもしれません。システム管理は単に手順に従うだけではすみません。コンピューター環境をきちんと整備するには創造的な面も必要なのです。この移行作業では熟練の油絵画家が溶接彫刻を始めるような気分を味わうかもしれません。

幸いなことに Linux を推進しているオープン・スタンダードは Windows 管理の基礎を成しているスタンダードと同じなのです。用語は違い、ツールも多少違っていますが、元にある概念は同じです。さらに良いことに Linux 式の流儀に慣れてくると、環境を維持管理する為に使えるツールセットもどんどん増えてくるのです。Linux の強みは安定性と柔軟性です。Linuxで考えるようになると、より多くを成し、より自動化し、遠隔からより多くのことができるようになるのです。

Linux はちょっと Windows に似ている

Linux が Windows とどう違うか説明する前に、両者の共通点を見ていきましょう。

ユーザーとグループ

Linux も Windows もマルチ・ユーザーのオペレーティング・システムです。どちらも多くの異なるユーザーが使い、各ユーザーには別々の環境と資源を提供します。セキュリティはどういうユーザーかで制限されます。資源へのアクセスもグループ別に制御され、個々のアカウントに触れずに多数のユーザーの権限を扱うのが容易になっています。

ユーザーとグループは単一のリポジトリーに集中されるので、複数のサーバーで同じユーザーや認証データを共有できるようになっています。

ファイルシステム

Linux も Windows も広範囲なファイルシステムを扱うことができます。ファイル資源は各種のクライアントから NetBIOS、FTP、その他のプロトコルで共有することができます。個々のファイルシステムは柔軟に取り扱え、そうしたファイルをどこでどのように使うか管理者が容易に選択できるようになっています。

ポートとデバイス

パラレル、シリアル、USB などの物理的なデバイスポートがサポートされています。各種のコントローラ、IDE や SCSI などもサポートされています。Linux は店頭に並んでいる標準的なハードウェアのかなりのものをサポートしています。

ネットワーク

Linux も Windows も TCP/IP、NetBIOS、IPX など、いくつかのネットワーク・プロトコルをサポートしています。両者とも広範囲なネットワーク・カードをサポートしています。どちらもファイルや印刷などの資源をネットワークで共有することができます。どちらも DHCP や DNS などのネットワーク・サービスを提供できます。

サービス

Linux にも Windows にもサービスがあります。サービスはバックグラウンドで実行されるアプリケーションで、システム及びそのサービスを遠隔から呼ぶコンピューターに、ある種の機能を提供するものです。こうしたプログラムは個別に制御でき、システムが起動したとき自動的に開始させることができます。(注記: Linux ではこうしたアプリケーションは Unix のルーツにならい、よくデーモン (daemons) と言われます。)


Linux は Windows とは違う

技術的な面で類似性はありますが、Windows で作業するときと Unix で作業するときには重要な相違点があります。こうした相違点は慣れるまでは大したことはないと思うかもしれませんが、Linux で考える上では重要な概念なのです。

Linux は単なる印刷以上のネットワーク用に作られている

Windows が最初に作られた当時は基本的に紙の世界でした。Windows の美しいところは見た目がきれいで印刷が簡単なことです。この起源が Windows の進化に影響しています。

同様に、Linux もその起源に影響されています。Linux は最初からネットワークで生きていくように設計されました。Unix オペレーティング・システムに感化されたため、コマンドのデザインは単純でした (雑だと言う人もいますが)。プレーン・テキスト (単純に文字だけ) はネットワーク上どこででも使えるので、Linux の設定やデータの基礎は常にテキストでした。

グラフィカルな環境に慣れた人が初めて Linux サーバーを見ると原始的に見えるかもしれません。しかし Linux 開発は大部分、衣装よりも中身に重点を置かれてきたのです。Linux にはテキストのみの環境下でも有効な、非常に洗練されたネットワーク機能やスクリプティング機能、セキュリティ機能があります。実行するタスクによっては変な手順を踏むように見えるかもしれませんが、Linux ではこうしたネットワーク上のタスクを他の Linux システムと連携しならが実行するのだと気が付かない限り、そうした手順は理解できないでしょう。Linux には非常に強力な自動化機能があり、バッチファイルのプログラミング程度の手間で非常に詳細なタスクを実行するようにプログラムすることができます。こうした機能の大部分はテキスト・ベースの Linux だからこそ実現できるのです。

オプションとしての GUI

Linux にもグラフィカルな要素があります。Linux ではハイエンドのグラフィック・カードやディスプレイが使えますし、その組み合わせで驚くほどのグラフィックを処理できます。実際多くのデジタル・エフェクトのアーティストが設計作業に Linux のワークステーションを使っていますが、そこはかつて IRIX が使われていたような領域なのです。ただし、グラフィカルな環境は Linux 内部に組み込まれているわけではなく、核となるシステムの上にあるレイヤーに過ぎません。ですから必要なときだけ GUI を実行すればよいのです。Web アプリケーションのサービスにシステム時間の大部分が使われているならばグラフィック・インターフェースのオーバーヘッドを止め、その分のメモリと CPU 時間をそのサービスにまわすことができます。GUI 作業が本当に必要になった時には GUI をオンし、終わったらオフすればよいのです。

Linux には電子メールや Web のブラウジング、書類処理などの一般的なオフィス用ツールだけでなく、グラフィッカルな管理ツールもあります。ただ、Linux ではグラフィカルな管理ツールは普通コンソール (コマンドライン) ツールのフロントエンドでしかありません。ですからグラフィカル・ツールでできることはすべてコンソール・コマンドでもできるのです。またグラフィカル・ツールを使ったからといってコンフィギュレーション・ファイルは手動で変えられないということはありません。この価値はすぐには分かりませんが、ちょっと考えてみてください。グラフィカルな管理ツールでできることがコンソール・コマンドでできるなら、そうしたタスクをスクリプト化できるわけです。そしてスクリプト化されたコマンドは自動実行タスクになり得るのです。Linux では GUI のみ、テキストのみで作業する必要はありません。GUI、テキストの一番良いところを組み合わせれば良く、自分の課題に一番合う方法を選べばよいのです。

Linux のコンフィグレーション・ファイルは人が読めるテキスト・ファイルです。これは昔の Windows の INI ファイルに似ています。Windows のレジストリによる方法とは考え方に違いがあるのです。コンフィギュレーション・ファイルは普通、個別のアプリケーションごとに用意され、通常は他のコンフィギュレーションとは切り離されています。ただ、大部分のコンフィギュレーション・ファイルはディレクトリ・ツリーの単一の場所 (/etc) に置かれるので、論理的に一箇所を見ればよいわけです。コンフィギュレーション・ファイルはテキストなのでバックアップや検査も容易ですし、特別なシステム・ツールを使わずに簡単に編集もできます。

ファイル名の拡張子

Linux ではファイル形式を判断するのにファイル名拡張子は使わず、ヘッダー内容を見てファイル形式を判断します。人が読むときに分かりやすいように、と拡張子を使うことはできますが、その拡張子は Linux には影響しません。とは言っても、Web サーバーなどのアプリケーションによってはファイル形式を判断するのに習慣的な名前付けを使うことはあります。ただ、それは各アプリケーション次第の要素となります。

Linux ではファイル・アクセス権限でファイルが実行ファイルかどうかを判断します。どんなファイルでも実行形式として登録できるので、プログラムを作った人や管理者がそのプログラムやスクリプトを実行形式に指定することができます。セキュリティの面で、これは明らかに有利です。システムに保存された実行ファイルは必ずしも自動的に実行できるとは限らないので、スクリプト型ウィルスを防ぐフィーチャーとなります。

カーネルってなに?

実は Linux はカーネルでしかありません。マルチタスク、マルチユーザー機能を実行し、ハードウェアを管理し、メモリを割り付け、アプリケーションを実行できるようにします。多分初心者が覚えておくべき一番大事なことは、奇数番号のカーネル (つまり 2.3、2.5、2.7 など) は実験・開発版だということでしょう。安定した、リリース版のカーネルには偶数番号が付いています (つまり2.4、2.6、2.8など)。

再起動は最後の手段

Windows を長年使っていると、ソフトウェアのインストールから問題が起きたときの対応まで、いろいろな理由でシステムを再起動するのに慣れているでしょう。Linuxで考え始めるに当たって、この習慣は変える必要があります。Linux はむしろ生来ニュートン流と言えます。一旦動き始めると (ハードウェアの故障など) 外部から力が加わらない限り動き続けます。実際、Linux のシステム設計ではアプリケーションがカーネルをいじれないようになっています。これが (Windows のシステム設計とは対照的に) 頻繁に再起動をかける必要が無い理由です。ですから Linux カーネルに何かをしようとするのでない限り、ソフトウェアをインストールし、起動し、停止し、また再設定するのにシステムを再起動する必要はありません。

Linux システムを再起動しても振る舞いが変わる可能性はあまりありませんし、問題を悪化させる可能性もあります。的確なトラブル対応を学ぶには、Linux のサービスと実行レベルを知ることが鍵となります。Linux に慣れるまでに学ぶべきことで多分一番難しいのは、再起動癖に打ち克つことでしょう。

再起動は効果がありませんが、このシステム構成のおかげで、Linux では遠隔で多くのことができるのです。基本的なネットワーク・サービスが実行されている限り、どこからでもシステムに入り込めますし、システムのある特定のサービスに問題がある場合でも、その問題の修正作業中に他のサービスを継続して実行できるのです。いくつものサービスを単一のシステムに統合するような場合には、これは非常に重要な違いと言えます。

コマンドは大文字・小文字を区別

Linux のコマンドやオプションはすべて大文字・小文字を区別します。例えば -R-r とは異なり、異なったことをします。コンソール・コマンドはほとんどすべて小文字です。コマンドの詳細については「第 2 回 コンソール集中コース」で説明します。


Linux について何を考えるべきか?

Windows での管理から Linux での管理への移行は簡単ではありません。ただ、Windows の管理者としてあなたはすでに多くの面で有利な位置に立っています。コンピューター・システムがどう動くのかという知識はそのまま生かすことができます。有能な Linux 管理者になるには単に違いを認識し、環境に合わせて習慣を変えるだけのことです。

Linux と Windows の違いの多くは有利なものです。GUI でアイドリングしている間のオーバーヘッドはサービスに活用できます。タスクはスクリプト化、自動化できます。コンフィギュレーション・ファイルはテキスト・ベースで人が編集できます。ほとんどのタスクでは再起動が必要ありません。実際、再起動したくなる衝動に打ち克つべきなのです。

参考文献

  • シリーズ: Windows から Linux へのロードマップの他の記事も参考にしてください。(developerWorks, 2003年11月)
  • From DOS/Windows to Linux HOWTO には DOS、Windows を使ってきた人に役立つ速成用の概要情報があります。
  • The Linux Documentation Project は個別のソフトウェア、HOWTO 文書、FAQ 等を含む Linux 文書の書庫です。
  • Linux に関する技術的な本を読むなら The O'Reilly Network を見るのがお勧めです。
  • Linux at IBM サイトではソフトウェア、ハードウェア、リンク、エンド・ツー・エンドでの Linux ソリューション、顧客用資料、IBM アライアンス / ディストリビューション・パートナー、IBM からオープンソースへの貢献資料などを用意しています。Inparticular, see the Learning Linux and Linux Education resources from the Linux at IBM pages.
  • IBM PartnerWorld では IBM ビジネス・パートナーに対してマーケティングやセールスのサポートを提供しています。
  • Linux lens は Linux での動きを素早く知ることができる IBM ビジネス・パートナーへのポータルです。
  • developerWorks の Linux ゾーンには、Linux 開発に関する情報が豊富にあります。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux
ArticleID=230463
ArticleTitle=Windows から Linux へのロードマップ: 第 1 回 Linux で考える
publish-date=11112003