Linuxを使ってみよう。そう思って何度も挫折するユーザは結構多いと思います。
自分もその口でして、何度か挫折しました。
「インストールする段階」でまず挫折。それを乗り越えたら、今度は「使用する段階」で挫折。で、いろいろと障害を乗り越えて今に至るわけですが、今思い返してみると、大したことの無いところでつまづいていたように感じます。
そこで「数年前の自分に助言するとすれば何か?」ということを想定して、ポイントを整理してみました。
これからLinuxを再チャレンジしたい、もしくは今までWindows一本だったけど、Linuxを使ってみたい、そんな人たちの参考になれれば幸いです。
(今までPCを扱ったことが一度もない、という方に説明するのはちょっと骨が折れます。というか自分にはその力は無いです。申し訳ないのですが、ある程度PCを扱かったことのあるWindowsユーザを対象に話を限定させてください。)
さて、Windowsユーザ、といってもユーザのレベルはピンからキリまであると思います。
たとえば・・・
「サイトの閲覧」や「メールのやりとり」はできるけど、アップデートのやり方や、アプリケーションのインストールやアンインストールなどのPCの管理ができない、何かトラブルがあったら放棄し、他人に頼ってしまう、『 他者依存段階』。
アプリケーションの管理、データのバックアップの管理、セキュリティにソフトの設定や管理など、自分のPCに関する管理がある程度できる『自律段階』。
Windowsの改造、プログラムの作成、PC自作など、ハードウェア、ソフトウェアを問わず、PCの中身をいじることが出来る『上級者段階』。
と、個人的見解で大まかに上の3つの段階に分けてみましたが、『自律段階』以上の人であれば、Linuxの使用は十分に可能だと思います。
そこで自分の経験を踏まえて、「これを知っておけばもっと早い段階でLinuxが使えてたな」というポイントを大雑把にLinux導入時とLinux使用時に分けて述べたいと思います。
Linuxの導入時
1:マルチブートに関する知識
2:ネットワーク設定に関する知識
3:ドライバの設定/デバイスの設定
1:マルチブートに関する知識
Linuxのインストール自体はそんなに難しくはありません。
1つのPCに1つのOSを入れるだけならば。
ハードウェアに対応していれば、LinuxのインストールCDをPCに突っ込んで、インストーラの指示に従って操作していけば、インストールは出来るでしょう。リカバリディスクタイプのWindowsの再インストールと大差無いです。
問題は、このやり方はLinuxビギナーにとって現実的ではないということです。WindowsユーザがいきなりMacを扱えないのと同様、はじめからWindowsを完全に捨ててLinuxを使うのはリスクが伴います。Windowsと同じくらいに扱えるまではWindowsを捨てないほうが無難です。
そこで取られる手段がデュアルブート、もしくは
マルチブートと呼ばれる手法です。WindwsとLinuxを併用するために、1つのPCに2つ以上の複数のOSを導入する手法なのですが、これが
障害の1つでして、マルチブートを行うためにいくつかの知識が必要になります。具体的には
- HDD(SSD)のパーティションに関する知識とパーティション操作
- NTFSやext3などのファイルシステム名とOSの対応
- OSのブート、ブートローダに関する知識
でしょうか。
ちなみにこれらの知識がある程度得られれば、2つと言わずに3つ、4つ、それ以上のOSをバンバン入れて遊ぶことも可能です。またWindowsが起動しないときにLinuxでファイル救出や、データをHDD(パーティション)ごとバックアップなんて作業も夢じゃないです。
(PCを複数持っていて、Windowsを永久に削除してLinux専用PCにしてもよいものがあるなら、マルチブートにこだわる必要ないですね。そんな人はLinuxインストール実験を自由にやってくださいな。)
2:ネットワーク設定に関する知識
この知識が必要かどうかは、ユーザのネットワーク環境に依存します。つまり人によっては特に何の設定をしなくても自動でインターネットに接続出来るケースもあれば、いくつかの設定をしなければインターネットに接続できないケースもあるということです。
Windowsでのインターネット利用時にIPアドレスやDNSなどを特に設定していない、つまりDHCPを利用しているケースなどはLinuxで特に何の設定をしなくてもおそらく自動でネットに繋がると思います。逆にケーブルテレビなど、固定IPが割り振られている場合などはそれらを設定する必要があるでしょう。これらの設定はWindowsと根本的に違いはありません。
3:ドライバの設定/デバイスの設定
最近では急激に必要とされなくなってきた知識です。
デバイス(キーボードやディスプレイ、CPUなどのハードウェア)を動かすためにはWindows、Mac、Linuxを問わずドライバが必要です。ドライバがなければハードウェアは全く動きません。今までLinuxはこの点が弱点でした。(対応するドライバが少なかった)
それが近年になって状況が一変してきました。特にここ2、3年前くらいからほぼ何もすることもなくドライバが設定されるようになってきたのです。
ただ細かな点での修正が必要なケースはまだ多いように感じます。
デバイスドライバの一部を修正をしなければならないユーザも中にはいるでしょうが、Windowsを自己管理できる人であれば、自分で検索をかけて調べることも可能でしょう。
ちなみにLinuxというのは多くの種類が存在します。(各々のLinuxは
デストリビューションと呼ばれます)
デストリビューションによってはハードウェアの対応がいいものがあります。自分の選んだデストリビューションが自分のPCで対応していなければ、そのデストリビューションは諦めて他のものを試しましょう。
以上、Linux導入時(インストール時)におけるポイントを3つ挙げました。
1:マルチブートに関する知識
2:ネットワーク設定に関する知識
3:ドライバの設定/デバイスの設定
マルチブートする場合は当然「1:マルチブートに関する知識」は必須です。残り2つはインストール時に自動で設定されれば、必要ありません。まぁ「自動で設定されなかったら、残念」くらいの心持ちでやったほうがいいでしょう。
極端な話、マルチブートなんかしない、ネットワークにも繋げない、なんて人がいたら、「3:ドライバの設定/デバイスの設定」の知識だけでも十分、というか3なぞもう必要なかったりするかもしれません。
ちなみにLinuxはネットワークに繋がることで真価を発揮し出すOSです。「ネットワーク設定がわからない」という理由だけでネットに繋げないのであれば損であります。ぜひネットワーク設定に挑戦してみてください。
Linuxの使用時
1:アプリケーションの管理(インストールとアンインストール)
2:CUI
1:アプリケーションの管理(インストールとアンインストール)
Linuxのインストールが問題なく行われたら、大きな障害はほぼ突破です。後はLinuxを使う段階に入ります。
まずアプリケーションの操作ですが、これはほとんど障害にならないと思います。操作法はWindowsと大差なく、直感的に扱えると思います。あとは自分の使うアプリケーションの使い方を学んで行けば良いだけになりますが、Windows時代にFireFoxやOpera、OpenOffice、Thunderbird、一太郎などのクロスプラットフォームのアプリケーションを使用していたのであれば、操作法が同一なのでスムーズに利用が出来ると思います。
問題はアプリケーションの管理、つまりインストールとアンインストールです。
Windowsを使いこなせている方であれば、アプリケーションが無ければ基本的に何もすることができないということは認識されていると思います。(DOSとか細かな話はナシで)
つまりこれが出来ないと、Windows同様、PCが使い物にならないただの箱になる可能性があるわけです。
ではLinuxにおけるアプリケーションの管理の仕方はどうなのか、という話なのですがWindowsユーザからするととっつきにくい。操作法自体は単純なのですが、アプリケーションの管理の背景に関する知識が多少無いと意味不明。だから「どうやったらいいかわからない」、という話になります。
Windowsと対比してみましょう。
Windowsの場合、インストールしたいアプリケーションの「プログラム本体の塊」(.exeや.zip,.lhzなどのアーカイブ形式で配布されていると思いますが)をどこからか入手してくると思います。市販されているものであればCDやDVDという形で入手されるでしょうし、インターネットから入手するのであれば、その"塊"を自分のPCに保存したりするでしょう。とりあえずどの形であれ、対象のアプリケーションのプログラム本体の"塊"を入手して、(場合によってはインストーラが無いものもありますが)インストーラを動作させればインストールが完了になります。
ところがLinuxの場合はこうは行かない。
Linuxの場合、基本的に
OS側がアプリケーションのインストール、アンインストールを
一括管理します。具体的にはアプリケーションを管理するためのソフトウェア「
パッケージ管理システム」を通してインストールすることになります。パッケージ管理システムは「
APT」や「
Synaptic」、「
Yum」などが該当します。
Windowsも「プログラムの変更と削除」があるし、似たようなもんじゃないの?と思われるかもしれません。しかし、Windowsの場合、対象のアプリケーション側のインストーラでインストールしたりと、アプリケーション側による管理が強いです。Linuxの場合は「パッケージ管理システム」を必ず通します。通さなくても出来なくは無いですが、トラブルの元になりますので通すべきです。
この形態の違いはLinuxのプログラム開発のされ方の差異が背景にあると思います。
Linuxに限らずアプリケーションのような大きなプログラムは、非常に多くのプログラムの部品(モジュール)によって構築されています。アプリケーション製作者はこれらすべてを一から開発するわけではありません。 便利なモジュールがすでに存在していればあれば「ちょっと使わせてもらいますよ~」みたいな感じで様々なプログラムを利用するわけです。(当然ではありますが、利用するプログラムはライセンス的にOKなものに限ります。)
まぁ、モジュールによってアプリケーションやOSが構築されるというのはWindowsやMac、その他のOSでも大差ないと思いますが、違いは"多くの人たち"によってその小さな部品(プログラム)が開発されていて、各々のプログラムは常に管理(メンテナンス)されているという点です。そのため、細かな部品(プログラム)はバグが潰されたり、パワーアップしたり、仕様が変更されたりと他のOSと比較してバージョンアップが速いです。
で、このバージョンアップが速いというのは進化が速いというというわけでありますが、デメリットもあるわけでして、バージョンアップなどで部品の仕様があまりにも変化してしまうと、その部品(モジュール)を使っていたアプリケーションが、新しいモジュールではうまく機能しなくなってしまうケースがでてくるわけです。
そこで必要なのがモジュールの依存関係の管理、バージョンの管理となってくるわけですが、それを一括して管理するのがパッケージ管理システムというわけです。
なので極端な話、そういった依存関係やバージョンの管理を自分で管理できれば、パッケージ管理システムなぞ必要ないわけで、そんなことができる猛者にはSlackware系のLinuxがお薦め。(ビギナーは手を出すべからず)
話が少し逸れましたが、「パッケージ管理システム」を通してアプリケーションをインストールすれば良い、というのは理解されたと思います。じゃあ、具体的にどこから「プログラム本体の塊」を入手して、「パッケージ管理システム」を使ってインストールするの?って話になるわけですが、Linuxでは基本的に「プログラム本体の塊」をユーザが明示的にダウンロード指定するわけではないんですね(そういうのもありますが)。ここがWindowsとの大きな違いだと思います。
で結論として必要なのは次の2つ。
インストールしたいアプリケーション名(パッケージ名)
リポジトリ(登録されているソフトウェア群のデータベースみたいなもの)のURL
この2つの情報だけで、「パッケージ管理システム」がプログラムのダウンロードとインストールを自動でやってくれます。「プログラム本体の塊」を自分でダウンロードする必要はありません。
ちなみに説明が遅れましたが、Linuxでは「アプリケーション」と呼ばずに「パッケージ」と呼ぶことが多いです。
さて、これだけではイメージがしにくいと思いますので、さわり程度ですが具体例を挙げましょう。
実は「パッケージ管理システム」ってのはLinuxにおいていくつかの系統があるんですが、私が使っているのはDebian系ですのでDebian系で説明します。
例えばFirefoxをインストールしたいと思ったとします。
まず端末エミュレータを起動させます。(Windowsで言うDOSプロンプトです)
次にルート権限になります。(ルート権限というのはWindowsで言うAdministrator権限)
で以下の2行を打ち込みます。
# apt-get update
# apt-get install firefox
以上でインストール終了です。
何が起きた?という話ですが、一行目の「apt-get update」というのは、登録してあるリポジトリにアクセスして、自分のPCが保持しているソフトウェア群のデータベース(依存関係を解決するための情報の塊)を更新する作業をします。
そして次の「apt-get install firefox」の段階で、更新されたソフトウェア群のデータベースを元にFirefox(のプログラム群)をダウンロード、及び依存関係を管理して、インストールしてくれるわけです。
ちなみに「apt-get install パッケージ名」実行後に「そんなパッケージは見つからないよ。なのでインストールは不可ですねん。」と出る場合がありますが、パッケージ名を間違えて入力したというミスを除けば、原因は自分のPCが保持しているリポジトリ先に目当てのパッケージが登録されていないのが原因です。登録されていない理由はさまざまで、ライセンス関係で登録できーんとか、古いので外されたとか、セキュリティ上やばくなったなどなど。で、そういった時にはどうするのか、というとそのパッケージ専用のリポジトリが公開されている場合がありまして、そのリポジトリのURLを「sources.list」というファイルに追記すれば良いわけです。ファイルにURLを追記したあと、「apt-get update」でリポジトリ更新、「apt-get install パッケージ名」でインストール完了となります。
(リポジトリが無いパッケージはソースからコンパイルして云々な話になります。ソースは十中八九公開されていますので。でもそういったものはビギナーは諦めましょう。素直に代替パッケージを探したほうが速いです。)
と長々と書きましたが、何が言いたいのかというとパッケージのインストールに必要なのは基本的に
パッケージ名
リポジトリのURL
の2つだけと言うことです。
(例外はもちろんあるんですが、そのときは付属するマニュアルを参照のこと)
ちなみに慣れると便利です。
「ああ、このパッケージいいな。よし、apt-get ・・・。こいつもいいな、apt-get ・・・。apt-get ・・・apt-get ・・・」
Windows以上に楽だったりします。
ちなみに削除は
# apt-get remove パッケージ名
(Windowsの「プログラムの変更と削除」みたいにインストールされているアプリケーションが一覧で表示される状態で管理したいという人がいるかもしれません。そういう場合は「
aptitude」や「
Synaptic」を使うといいでしょう。)
2:CUI(キャラクタユーザインタフェース)
アプリケーションの管理が出来さえすれば、使っていくうちに色々と操作法を覚えて行くでしょう。そこはWindowsやMacと同じです。あとは慣れの問題となります。なので、「あとは自分で頑張ってネ」と言ってもいいのですが、さらにLinuxを使いこなすのであれば「
CUI」について知っておくべきでしょう。
WikipediaではCUIは「キーボードを用いて入力を行い、文字によって出力を行うユーザインタフェース・・・」と説明されてますが、ようは"ウィンドウ"とか"アイコン"なんてものはなく、「文字」だけでやりとりする下図のようなインターフェースです。
見た目がカッコイイという人や、ダサいという人、扱い難いという人、逆に扱い安いといういう人、様々いますが、昔はCUIの知識は必須でした。Linuxのインストール時やシステム管理にどうしても必要になったりすることが多かったからです。ただ最近はCUIを使わなくてもインストールが完全に出来るケースが増えてきました。Linuxを使うだけなら、CUIを利用する必要もありません。
ただし今でもシステム管理をする上では手軽に扱えることが多くて、なんだかんだいって重宝します。ネットでもCUIを前提とした上での情報交換が多いです。「私CUIが扱えませんが、助言よろしく」なんて言うものなら、「寝言は寝てから言え」と言われるのもしばしば。何だかんだいってCUIって現役なんですね。システム管理において
GUI(グラフィカルユーザインターフェース)で出来ることは増えてきましたが、CUIでの操作はなくならないでしょう。(これはこれで便利なので)
Linuxでの自立を目指すのであれば、CUIはある程度使えるようにしたほうがいいです。CUIを完璧にマスターする必要はありません。PCを自己管理するだけであれば、いくつかのコマンドを覚えたり、簡単なテキスト編集が出来れば十分用が足りるでしょう。開発者レベルになれば、いつの間にかマスターしている、そんなものだと思います。
ちなみにCUIの知識は他のLinuxや
UNIXでも流用出来ます。学んで損は無いものです。もし触れる機会があれば、使ってみてください。
Windowsユーザから見たLinux使用までの障害のポイントはこれくらいでしょうか。
大雑把に挙げたので、具体的にどうしたら良いかはまだ記述していません。
これから少しずつ細かく見ていくことにしましょう。
もしかしたら、何か抜けている部分があるかもしれませんが、思い出したり、指摘されたりしたら順次追加していく予定です。
もっと手っ取り早く詳しい情報が欲しいという方へ
[参考サイト・参考文献]
マルチブート関連
Linuxの設定等に関するもの
パッケージ管理関係 (申し訳ないですが、Debian系以外でいいのは知りません。)
その他
GUI(グラフィカルユーザインターフェース)例
(Kubuntu 9.10 karmic koala 日本語版)
最終更新 2010-01-23 12:34:00 (Sat)
最終更新:2010年01月23日 12:34