Lesson 2

Linuxの導入

Lesson 2 Chapter 1
Linuxディストリビューション

Lesson2では、実際にLinux環境を用意して動作できるようになるまでを目指します。 Linuxには色々な種類があるため、Linuxの環境を用意するためには、どのLinuxを使うかを選ばなくてはいけません。 そのために、以下では「Linuxディストリビューション」について説明します。 ディストリビューション(distribution)とは日本語で「配布物」を意味しますが、Linuxディストリビューションとはどのようなものなのでしょうか。

Linuxディストリビューションとは

Linuxという言葉には狭義の意味と広義の意味があります。 狭義の意味を指す場合は「Linuxカーネル」と、広義の意味を指す場合は「Linuxディストリビューション」と呼ばれます。 Linuxカーネルと、Linuxディストリビューションの意味する内容は下表のとおりです。

呼称 意味の範囲 内容
Linuxカーネル 狭義 メモリ管理、プロセス管理、CPUの管理といった、OS基本的な機能のみを提供するもの。
Linuxディストリビューション 広義 Linuxカーネルのみならず、コンパイラ、シェル等のソフトウェアをも含むもの。単に「Linux」と呼ばれる時は、広義のLinuxディストリビューションという意味で使われることが多い。

またLinuxカーネルとLinuxディストリビューションの関係を図にしたものが以下となります。 Linuxディストリビューションとはカーネルとその周辺ソフトウェアを含む、パッケージのようなものだと捉えることが出来ます。 LinuxカーネルのみではOSとして動作しませんが、周辺のソフトウェアを含めた「Linuxディストリビューション」として、OSとしての完全な機能を果たすことが出来ます。

カーネルとディストリビューション

一般的にパッケージというと、その中身は様々な組み合わせが考えられます。 例えばフルーツ盛り合わせという商品があったとして、その中身は「リンゴと梨」かもしれませんし、「リンゴとイチゴ」かもしれません。

同じようにLinuxディストリビューションについてもソフトウェアの多様な組み合わせが考えられます。 例えば上図中のシェルについてはbash、zsh等が、またパッケージ管理についてはrpm、dpkg等様々なものが存在します。

なので「bashとrpmの組み合わせ」を提供するパッケージがあるかもしれませんし、「zshとdpkgの組み合わせ」を提供するパッケージがあるかもしれません。 それらの組み合わせによって様々なディストリビューションが存在しうるのです。

冒頭でLinuxには色々な種類があると記載したのは、このことを指します。

Linuxディストリビューションの系統

ディストリビューションは大きく分けて三つの系統に分類することができます。これは、ベースとなるものが異なるためです。 それぞれベースとするディストリビューションの名前を取り、Slackware系、Red Hat系、Debian系と言われます。

系統 説明
Slackware系 最も古くからあるディストリビューションで、安定性が高く、高速に動作するという特徴がある。しかし、パッケージ管理においてパッケージ間の依存関係の解決を行わないため、 ソフトウェアの追加導入やライブラリの管理などにおいて、ユーザーの操作や判断が求められるため、初心者には難易度が高い。
Red Hat系 Red Hat社が出している有料ディストリビューションの「Red Hat Enterprise Linux(RHEL)」と、その派生のディストリビューション。 RHELは商用利用されており、Linuxの商用利用としては、デファクトスタンダードである。 RHELからの派生では「CentOS」や「Fedora」といったディストリビューションがあり、それらは無料で使用できる。 CentOSはRHELと根本のソースコードが同じで、RHELクローンと呼ばれており、同等の動作が期待できる。 FedoraはCentOSとは異なり、最新の技術を積極的に取り入れている点が特徴である。 Red Hat系のパッケージ管理ツールはパッケージ間の依存関係の解決を自動で行ってくれるため、初学者にも使いやすい。
Debian系 Red hat系と同様にパッケージ管理ツールがパッケージ間の依存関係の解決を自動で行ってくれるため、初学者にも使いやすい。 Debian系として分類されるディストリビューションとしては「Debian」や、Debianをベースにして作られた「Ubuntu」等がある。 debianは安定したゆとりのあるバージョンアップを行うのに対し、ubuntuは半年に一度程度とハイペースでバージョンアップがされる点が特徴的である。

初学者がどのディストリビューションを選ぶべきかという観点では、パッケージ管理ツールが強力なRed Hat系やDebian系から選ぶことが無難でしょう。 その中でも、ネットや書籍での情報が豊富なCentOSやubuntu等がお勧めです。 本講座では、商用としてデファクトスタンダードであるRHELとほぼ同じ動作がされる点を踏まえ、CentOSでの環境を構築することとします。

Lesson 2 Chapter 2
CPU(プロセッサ)の確認

Linuxをインストールするにあたり、ご自身が今使っているパソコンのCPU(プロセッサ)を確認します。 CPUの種類に応じて、インストールするべきLinuxを指定することとなります。

Windowsを使用している場合

①「windowsボタン」と「r」ボタンを同時に押下し、「ファイル名を指定して実行」を開き、その検索欄に「cmd」と入力し、「Enter」キーを押下する。

cmd起動

② コマンドプロンプトが開かれたらset processorと入力し「Enter」キーを押下
ここまで出来たらPROCESSOR_ARCHITECTUREの値で確認できます。32bitの場合はx86、64bitの場合はAMD64またはx64と表示されます。

cpu確認

MacOSを使用している場合

MacOSを使っている方は、画面左上から「メニュー > このMacについて」の順に選択するとCPUを確認できます。 以下のような画面が出ます。赤色箇所にCPUが表示されます。

maccpu確認

Lesson 2 Chapter 3
VirtualBox(仮想マシン)

VirtualBox(仮想マシン)

Chapter2ではCPUの確認をし、無事Linuxの環境構築のための準備が整いました。 本Chapterでは、実際にLinuxの環境構築を進めていきます。

Linuxの環境を構築するにあたり、仮想化ソフトウェアというものを使用します。 仮想化ソフトウェアとは、既存のOS上で別のOSを実行することができるアプリケーションです。 今回は仮想化ソフトウェアの中でも「VirtualBox」を使用します。

それでは下記リンクからインストールしていきましょう。
Oracle VM VirtualBox
それぞれお使いのOSに合わせてダウンロードしてください。

VirtualBoxのダウンロード

ダウンロード完了後、ダウンロードされたセットアップファイルをダブルクリックで起動させて下さい。 基本的にはデフォルトの設定で構いませんので「Next」をクリックして完了させてください。 すべて完了すると以下のような画面が開かれるはずです。

VirtualBoxの初期起動画面

CentOSのイメージファイルをダウンロードする

VirtualBoxがダウンロード出来たら、仮想環境下で使うLinuxディストリビューションをダウンロードしましょう。 VirtualBoxでは、ISOファイルと呼ばれるCDやDVDのディスクイメージをファイル化したものを用いて、物理ディスクを使わなくても OSをインストールすることができます。CentOSのISOファイルは以下からダウンロードします。
CentOS Downloads
リンク先にあるArchitecturesから自身のメモリ(プロセッサ)に合うものを選んでください。 Chapter2で確認したとおり、本講座では64bitのCPUだったので、下図赤線の「x86_64」を選択します。32bitの場合は下図一番下の「i386」を選択します。

アーキテクチャに応じてCentOSを選択

すると、下図のようなサイトに移動します。 その一覧の中から、jpドメインのサイトを選択しリンク先に行きます。

CentOSミラーサイト

リンク先でISOファイルをダウンロードします。本書執筆時は、CentOS-7-x86_64-DVD-2009.isoという ファイル名となっていました。

CentOSのISOファイル選択

VirtualBoxで仮想マシンを作成する

CentOSのISOファイルがダウンロード出来たら、続いてVirtualBox上にCentOSを動かすための仮想マシンを作成します。 VirtualBoxを起動すると「VirtualBoxマネージャー」が起動するので、画面上部の「新規(N)」ボタンを押下してください。

仮想マシンの名前は自由に決めて良いですが、今回は「centos-1」としました。folderはデフォルトのままで、タイプ(T)は「Linux」、 バージョン(V)は「Red Hat(64-bit)」として「次へ(N)」を押下してください。
仮想マシン作成

続いてメインメモリーのサイズやプロセッサ数を聞かれますが、赤色箇所を「1024MB」として「次へ」と進んで下さい。

仮想マシン作成2

続く画面では、「Create a Virtual Hard Disk Now」を選択し、「作成」ボタンを押下してください。 ※赤色箇所はご自身のPCのストレージに合わせてを適宜変更して下さい。

仮想マシン作成3

以下のような画面になるので「完了」を選択してください。

仮想マシン作成5

次に下図の「設定(S)」を押下してください。

仮想マシン作成6

すると以下のように表示されます。 赤色で囲った部分のとおり、「ストレージ」「空」「ディスクアイコン」「ディスクファイルを選択」を順にクリックし、先ほどダウンロードしたCentOSのISOファイルを選択し、「OK」ボタンを押下して下さい。

仮想マシン作成7

これで仮想マシンが作成できたので、上図緑色個所の「起動(T)」ボタンで仮想マシンを起動してください。

CentOSをインストールする

ここまで実施すると、下図のようにISOファイルからCentOS 7のインストーラが起動し、CentOS 7のインストールが行われます。

CentOS-7

「Install CentOS 7」と「Test this media & install CentOS 7」が選択できますが、ここでは一番上の「Install CentOS 7」を選択してEnterキーを押してください。

VirtualBoxのウィンドウをクリックしたときの注意点

VirtualBoxでは仮想マシンのウィンドウ内をクリックすると、仮想マシン内のOSにキーボードとマウスの制御がとられるため、その後は仮想マシンのウィンドウ内でしかマウスカーソルを動かすことしか出来なくなります。 この状態を解除したい場合は、ホストOSがWindowsの場合は右ctrlキー、Macの場合は左Commandキーを入力すれば解除できます。

少しすると、インストール時に使用する言語を聞かれるので好みの言語を選択して「続行(C)」をクリックしてください。

仮想マシン作成8

以下のようなインストールメニューが表示されるので、赤色部分の「インストール先(D)」「ネットワークとホスト名(N)」項目を設定しましょう。

仮想マシン作成9

「インストール先(D)」ではLinuxをインストールするディスクを選びます。ここでは既に、仮想マシンを作成した際に作ったハードドライブ(ATA VBOX HARDDISK)が選択されていますので、 確認出来たら先ほどと同じく左上の「完了(D)」ボタンを押下してメニュー画面に戻ってください。

仮想マシン作成10

「ネットワークとホスト名(N)」ではネットワーク設定を行います。下図赤色箇所のように「オフ」の状態になっている箇所をクリックし、「オン」に切り替えたのち「完了(D)」を押してください。

仮想マシン作成11

これでインストールメニューでの設定は完了なので右下にある「インストールの開始(B)」をクリックしてください。

仮想マシン作成12

クリックすると次の画面になるので、インストール中に「rootパスワード」の設定と「ユーザーの作成」を行いましょう。

仮想マシン作成13

「rootパスワード」はLinuxの管理者権限を持つrootユーザー(スーパーユーザー)のパスワードとなるものです。 「rootパスワード(R)」をクリックして適当なパスワードを設定しましょう。その後「完了(D)」ボタンを押下しメニュー画面に戻ります。 rootパスワードはLinux環境では非常に重要なため、なるべくシンプルなものは避けましょう。

仮想マシン作成14

続いて「ユーザーの作成(U)」をします。これは実際にこれから使用するアカウントの作成になるので、お好きなユーザー名とパスワードを入力してください。 また、「このユーザを管理者にする」にチェックを入れてから「完了(D)」しましょう。

仮想マシン作成15

ここで設定した「rootパスワード」と「アカウントのパスワード」は後ほど必要になるので、メモを残すなどして確実に覚えておきましょう。

ここまで来たらあとはインストールが完了するのを待つだけです。インストールが完了すると再起動ボタンが表示されますから、それを押下し再起動すればCentOS 7が起動します。
これでLinux環境の準備は完了となります。

仮想マシン作成16

Coffee Break

今回Linux環境をVirtualBox(仮想マシン)で作成していただきました。 環境作成にあたり、CentOSをインストールしましたが、 クラウドサービスを利用すると、インストール作業なしで環境を作成できます。

クラウド

クラウドとは、ユーザーが自前でインフラ(サーバーやソフトウェア、ネットワークのこと)を用意することなく、 インターネットを介して必要なサービスを必要な分だけ利用することができるサービスの総称です。

クラウドとしてはAmazon社のAWS、Microsoft社のAzure、google社のGCP等、各社がサービスを展開しています。 私たちは例えばAWS等のサイトにアクセスし、管理画面からCentOSやUbuntu等の、使いたいサーバーを選択し起動することができます。 立ち上げたサーバーには後の章で説明するsshという機能を使い、リモートログインし、Linux環境の中に入って作業することが出来ます。

これまでLesson2で実施したVirtualBox(仮想化環境)をインストールし、Linux(OS)をそのなかにインストールして…などの作業を行わずに 簡単にインストールなしでサービスを利用できる方法もあるのだと合わせて知っておきましょう。

終わりに

本レッスンで、無事Linuxの環境を準備することが出来ました。 次回のLesson3では、Linuxを操作するうえで基本となる、シェルについて解説していきます。