これからLinuxを学ぶ人、この春新社会人としてLinuxを学ぼうと考えている人へ、Linux管理者に必要な前提知識をお届けする。Windowsとの違い、Linuxのインストールの仕方、Linuxの学習方法や覚えるべきことを順番に解説。
現在、世の中にはさまざまなOSが存在し、その適用分野も多岐にわたります。これまでOSが搭載されていなかった場所にも搭載されるようになり、普段の生活のさまざまな場面で人知れず動作していることもあります。中でもLinuxの存在は特に注目すべきもので、Linuxが脚光を浴びるようになって以来、PCなどの特定分野でのシェアを伸ばすだけではなく、多くの分野に幅を広げて採用されてきているOSだといえます。今後、Linuxエンジニアの需要もこれまで以上に大きくなっていくでしょう。それに伴い、求められるITエンジニアの質も高まり、単にLinuxを使えるというレベルではスキルのアドバンテージがなくなっていくことも考えられます。
とはいえ、そもそも使えるようにならなければ何も始まりません。まずはLinuxを使えるレベルになり、それから開発者や管理者というレベルで必要とされるスキルを身に付けていきましょう。ここでは「Windowsは使ったことあるよ」という人がLinuxを使えるようになるには、そしてLinuxのシステム管理者を目指すにはどうすればいいかという話をしたいと思います。
まずはLinuxのことを知るために、1つの切り口としてWindowsとLinuxの違いを考えてみます。基本的に異なるOSですので単純な比較はできないのですが、あえてそれを行ってみます。いろいろな考え方がありますが、ここでは以下の5つでそれぞれの違いを考えてみます。
異なるOSなので、考え方が異なって当然です。ただLinuxは商用のOSではなく、OSS(オープンソースソフトウェア)のOSであるということと、UNIXクローンのOSであるということが大きなポイントだといえます。まずOSSとしてのLinuxですが(OSSの詳細な定義はここでは割愛します)、Linuxの生みの親であるリーナス・トーバルズ(Linus Torvalds)氏を中心としたコミュニティにより開発が進められており、そのソースコードはインターネット上に公開されています。ソースコードは誰でも閲覧可能で改変も基本的に自由になっていますので、極端な話Linuxを自分の好きなように改造することも可能です。それに対しWindowsはマイクロソフトという企業が開発しているOSで、ソフトウェアはバイナリデータで配布されています。このためOSの中身はブラックボックスになっており、ユーザーがその中を見ることはできないようになっています。特に使う点においてはOSの中が見られる、見られないという違いをあまり意識することはないと思いますが、高いレベルでOSを理解しようと思った場合にソースコードがあることは大きなアドバンテージだといえます。ソフトウェアにおいてソースコード以上の情報は存在しないのですから。
次にUNIXクローンのOSであるという点ですが、これはUNIXをモデルとして作られているOSということであり、UNIXというOSの根源的な思想を共有していることを示しています。UNIXといえば商用のIBMのAIX、Hewlett PackardのHP-UX、Sun MicrosystemsのSolarisやAppleのMacOS X、フリーソフトのFreeBSDなどさまざまなOSがUNIX系のOSとなります。いずれも異なるOSですので具体的に違う部分は多々ありますが、OSとしての考え方には共通部分が多いといえます。例えば、基本操作のコマンドなども共通している部分が多く存在します。UNIX系のどれかが操作できればそのほかのUNIX系のOSの基本はある程度理解しやすいものとなります。つまり、Linux以外のUNIX系のOSを扱う敷居も低くなるという利点があるのです。
表面的に大きく異なる点といえば、操作系の違いです。WindowsではGUIベースでマウスを使って操作するのが基本ですが、Linuxでは操作の基本はコマンドを入力して実行するCUIになります。もちろんLinuxでもGUIは実現されていますが、GUIであってもそこからコマンド実行を行うターミナルを起動して、コマンドを入力、実行するということを頻繁に行います。これはもともとOSとしての発想がGUIを中心としたものなのか、CUIを中心としたものなのかの違いによるものです。GUIとCUIの優劣の問題ではなく、ここでは主体となる操作が何によるものかが重要です。例えばWindows上でコマンドプロンプトを起動し、基本的な操作はコマンドプロンプトで行っているというのはあまり通常の利用方法だとはいいにくいと思います。場合によってはコマンドプロンプトを利用するケースはもちろんありますが、GUIを操作することに比べると頻度は少ないかと思います。Windowsの操作にコマンドプロンプトをメインで使っているという人がいれば別ですが……。
Linuxで利用可能なアプリケーションは基本的にOSSのアプリケーションが大半を占めます。このOSSのアプリケーションは非常に強力なものが多く存在し、例えばサーバであればApache、BIND、qmailなどインターネット上では商用以上にメジャーなソフトウェアがLinux上で動作します。データベース(DB)などもMySQLやPostgreSQLに代表される本格的なDBもOSSとしてLinux上で動作可能です。最近ではOpenOfficeに代表されるようなクライアント系のアプリケーションも充実してきています。つまり基本的に利用するようなアプリケーションはOSSで何らかの形で提供されており、それを自由にLinuxにインストールして使うことができるわけです。とはいいつつも、OSSの多くはWindowsにも対応しているので、現状ではWindowsでも同じようなソフトウェアは利用できてしまうのですが、Windows版が用意されていない場合もあり、必ずしもWindows上でも利用できるとは限りません。
OSSのソフトウェアは基本的に自由に利用することができるため、導入コストはかなり低いといえます。Windowsの場合、何かをしようとするとそれごとにソフトウェアのライセンス費用がかかるため、キャッシュアウトという観点からは導入コストは高いといえます。ただし、コストは単にライセンスの購入だけで考えるものではなく、導入検討費用、稼働までの設定などの人件費、維持費などさまざまな要因が絡んだものです。このためLinuxのコストが安いという考え方は危険ですが、少なくとも個人で勉強のためにいろいろなことをやろうとした場合、必要な費用という面では大きなアドバンテージがLinuxにあるといえます。
Windowsなどの商用のソフトウェアであれば、購入すれば基本的にそのソフトウェアに対するユーザーサポートが付属しています。これはソフトウェアのマニュアルであったりメールなどによるQ&Aの対応であったりさまざまですが、少なくとも販売元が何らかのサポート対応を行うことが保証されています。それに対してLinuxには、基本的にユーザーサポートを行ってくれる体制はありません。Linuxを使いやすい形で提供するディストリビュータといわれる人たちが有償でサポートを行ってくれることがありますので、ないというわけではありません。しかしLinuxはインターネット上にいる世界中の技術者たちによって開発され、発展してきたOSです。そのような人たちがインターネット上にLinuxやOSSに関する情報を数多く発信してくれているため、大げさないい方をすればインターネットの情報網がLinuxのサポート体制であるとも表現できるでしょう(@ITもその中の1つです)。
以上に挙げたWindowsとLinuxの違いはあくまで一部であり、すべての違いをいっているわけではありません。WindowsとLinuxの単純な違いを比較する時期もありましたが、現状ではWindowsとの比較でLinuxを表現するよりもLinux自体が確固たる地位を築きつつあるためLinux単体でLinuxの特性を考えることが多くなったような気がします。しかしWindowsに慣れた人にとってWindowsとの比較という切り口からLinuxを知るということは、何らかの目安になるかもしれません。
Copyright © ITmedia, Inc. All Rights Reserved.