Linuxを使えるのは当たり前?
Linuxは,1990年代にフィンランドの学生が開発を始めたUnixライクなOSです。デスクトップPCやサーバ以外に,スマートフォンやカーナビなど、その利用範囲を広げています。
Linuxはサーバとしてよく利用されますが,その利用形態も変化しています。かつて筆者が立ち会った現場では,「余っているコンピュータにLinuxを入れて簡単にやってみてよ。3日もあればできるよね?」という感じでした。最近では「クラウドやVPSを使ってLinuxの導入を1時間ぐらいでできる?」というように変わってきています。
筆者はこの数年,新規サービスの構築だけでなく,これまでサーバラックのサーバに入っていたサービスを,クラウドやVPS(仮想専用サーバ)に移行するお手伝いも手がけています。また自宅コンピュータで稼働させているサービスの一部もVPSに移動させています。クラウドやVPSの普及によって,Linuxの導入はより手軽なものになりました。
このようにエンジニアやプログラマはみんなLinuxを使いこなせているのでは,と考えるかもしれませんが,実はそういうわけでもありません。
個人的に,Linuxの初心者には2つの壁があると思っています。それは「コマンドラインの壁」と「エディタの壁」です。これらの壁を乗り越えられれば、Linuxを抵抗なく使えるようになるはずです。
コマンドラインの壁
Windows 95の登場以降,一般家庭でもコンピュータが普及しました。Windowsでは,直感的に操作できるGUI(グラフィックユーザインタフェース)画面が主で,それまで使われていたCLI(コマンドラインインタフェース)(図1)に触れることは減りました。
ですが,LinuxサーバではCLIで操作することがほとんどです。これはコンピュータに負担のかかるGUIよりも,負担が軽いCLIのほうがサーバ用途として適しているからです。
図1 1CLI(コマンドラインインタフェース)
CLIの操作に慣れていない人にとっては,コマンドを打ち込んだり,入力を間違えたときに出る「コマンドがみつかりません」「Permission denied」などのメッセージに戸惑うことが多いかもしれません。
CLIは取っ付きにくい画面に思えますが,GUIでは同じことを何度も繰り返さなければならない面倒な処理を,CLIでは数行コマンドを入力するだけで処理できたりします。また,GUIよりもCLIのほうが処理が軽い分,レスポンスが早く返ってくるなどのメリットもあります。ただし,そこまで使いこなすには少々道のりが遠いことも事実です。
エディタの壁
GUIでシステムの設定を変更する場合,メニューから目的の設定変更画面を開いて,チェックボックスのチェックを変更したり,プルダウンメニューを引っ張ったりして行います。
Linuxでは,設定ファイルがテキストファイルになっています。GUIでも設定の変更は行えますが,一般的にはテキストを編集するエディタを使って設定変更を行います。Linuxでは,VimとEmacsというエディタがよく使われています。
これらのエディタは,Linuxの操作に欠かすことができない必須のツールですが,初心者にはとっつきにくく,使いこなせるようになるまでにはそれなりの修行が必要です。
図2 Vimの画面
たとえば,Vimはコマンドモード,文字編集モード,exコマンド実行モードという3つのモードがあり,操作によってこれらのモードを切り替えなければなりません。Vimを使い始めたころは,起動直後の画面でどうやってファイルを開けばよいのか迷ったり,文字を入力しようとモードを切り替えたりなど,そのややこしい操作に最初は戸惑いを隠せないことでしょう。
Vimは歴史が古く,Linuxをインストールしたら一緒に入っているため,よく使われているエディタです。とはいえ,Linuxで利用できるエディタは他にもたくさんあります。もしVimの操作に慣れないのであれば,先ほど名前を挙げたEmacsや,その他にもキートップの印字と同じように動作するエディタなどもありますので,自分にあったエディタを見つけて使いこなせるようにしましょう。
UbuntuではじめるLinux
Linuxを使いやすくパッケージした製品をLinuxディストリビューションと呼びます。
日本国内では,Red Hat Enterprise Linuxや,そのクローンOSであるCentOSがLinuxディストリビューションとしてよく名前が挙がります。しかし,Ubuntuもこれらに劣らず利用者は多く,かつWeb上に存在する情報も豊富なLinuxディストリビューションです。
Ubuntuは,Red Hat系ディストリビューションと比べて標準で利用できるパッケージ数が多く,ネットワークに接続されていれば,いろいろなアプリケーションがコマンド1行で簡単に導入できます。
Ubuntuは年に2回(4月と10月)にアップデートがリリースされます。自動アップグレードに設定しておけば,比較的最新のパッケージを利用し続けられます。また,2年に1回,5年間の開発元セキュリティサポートを保証するLTS(ロングタームサポート)バージョンがリリースされます。LTSではないバージョンは最低9ヵ月のサポートになります。長く利用するつもりであれば,LTSバージョンを選んでください。
Ubuntuには,サーバ版とデスクトップ版があり,初心者の方はデスクトップ版を使うとよいでしょう(図3)。
図3 Ubuntuのデスクトップ画面
ブラウザやメールクライアントの他,Officeツールなども用意されています。また,「端末」というツールを使えばCLIでの操作も可能です。geditというGUI用のエディタがあり,先ほどのVimを無理矢理使う必要もありません。
使ってみよう仮想環境
とはいえ,Linuxをインストールできるコンピュータが都合良く手元にあるとも限りません。先ほど紹介したVPSなどを使うのも1つの手ですが,VPSはインターネット上に存在するため,セキュリティを考慮しないと,世界中から攻撃されたり,犯罪行為の踏み台にされる可能性もあります。
現在では,コンピュータの中にコンピュータをエミュレート(真似)する仮想化ソフトウェアが普及し,手軽に利用できます。
たとえば,Windowsが入っているコンピュータしか持っていなくても,そこに仮想化ソフトウェアを導入し,その中にLinuxをインストールすることで,WindowsPCでLinuxが利用できます。
仮想化ソフトウェアの設定によって,「コンピュータの中にあるコンピュータ」でありながら,インターネットにも接続できるようになります。仮想化ソフトウェアにインストールしたLinuxは必要なときだけ起動して,使わない場合は停止できます。また何かの手違いで挙動がおかしくなっても,手軽に削除して再構築することもできます。
Linuxを使いはじめる手助けとなる1冊
Linuxの基本を身につけるには,書籍を読むだけでは難しいかもしれません。やはり自分の手を動かして,自分で動作を確認し,結果を見て自分で考えてみることが重要です。
『Linuxステップアップラーニング』では,Windows上にVirtualBoxという仮想化ソフトウェアをインストールし,その中にUbuntuというLinuxを学習環境として用意しています。新たにコンピュータを用意する必要がなく,手軽にLinuxを学び始めることができます。
また,コマンドラインシェル,コマンド実行方法,ファイル操作やフィルタコマンドの使い方など,Linuxの基本を段階的に学習できるようになっています。さらに単元ごとに確認問題,章末に練習問題を用意し,各段階の理解度を測ることができます。
この本は,Linuxを再入門するときでも,新人エンジニアの研修テキストとしても最適な1冊です。書店でぜひ一度手にとってご覧ください。