LinuxというOS
最新の状況が反映されているのは 2017年度版 の教材です。
古いバージョンは各種ソフトウェアの最新情報を反映しておらず、指示通りに進めても正常に動作しない恐れがありますので、学習を開始される方は 2017年度版 を利用されることを強くおすすめいたします。(学習する内容はほぼ同じになっております。)
なお、この2016年度版の教材は 2018年3月 をもって公開を終了する予定です。
ここからの16節は、Linux という OS を通じてコンピューターについて学び、プログラミングをするための開発環境や、 Git・GitHub というプログラムのソースコードを管理し扱うために必要なツールの使い方を学んでいきます。
この回では、 PC に Linux をインストールして、ゲームをして遊べるようになります。
OS
OS とは、Operating System の略で、システム全体を管理するソフトウェアのことです。
Windows や Mac なども OS です。
これからみなさんの PC にインストールしていただく Linux も OS の一種です。
Linux OS にも種類がありますが、その中でも Ubuntu を今回はインストールしていきます。
Linux を使うためのソフトウェアのインストール
これから、
- Oracle VirtualBox
- Vagrant
- Ubuntu
この 3 つのソフトウェアをインストールしていきます。
Oracle VirtualBox と Vagrant は、 Ubuntu という Linux をどんな PC 上にでもインストールできるようにするためのソフトウェアです。
VirtualBox のインストール
まずは、Download VirtualBox (Old Builds): VirtualBox 5.0 にアクセスします。
次にこの Download VirtualBox (Old Builds): VirtualBox 5.0 というページから、自分のコンピューターに合ったパッケージをダウンロードします。
最新のバージョンでは、うまく動作しないことがあるため、以下の手順に従って必ず 5.0 系の VirtualBox をインストールしてください。
- Windows なら、VirtualBox 5.0.X の Windows hosts x86/AMD64
- Mac なら、VirtualBox 5.0.X の OS X hosts Intel Macs
を利用して下さい。X には何らかの数値が入っていると思います。
ダウンロードが完了したら、ダウンロードしたファイルを実行し、インストーラーに沿ってインストールを行います。
インストール中のオプションは、すべてデフォルトのままでインストールを行って下さい。
また、この VirtualBox や、次の項でインストールする Vagrant のインストール中にセキュリティ警告画面が表示された場合、「インストール」を選択してください。
なおこの VirtualBox は BIOS の設定で、仮想化支援機能 (Virtualization Technology) が有効 (Enable) になっている必要があります。VirtualBox 単体でも動作させることができない際は確認ください。
Vagrant のインストール
次に、 VirtualBox の操作を簡単にしてくれる Vagrant というツールをインストールします。
最新のバージョンでは、現在バグによりうまく動作しないことがあるため、以下のリンクからバージョン 1.7.4 をダウンロードしましょう。
windows の場合:
https://releases.hashicorp.com/vagrant/1.7.4/vagrant_1.7.4.msi
Mac の場合:
https://releases.hashicorp.com/vagrant/1.7.4/vagrant_1.7.4.dmg
その後、ダウンロードしたインストーラーに沿ってインストールを実行していきます。
最後に再起動を求めるダイアログが表示されますので、コンピューターを再起動してください。
これで Ubuntu インストールのための準備段階が終了しました。
コマンドプロンプト もしくは ターミナル
次に、Windows ならばコマンドプロンプトを、Mac ならばターミナルを起動します。
- Window ならば、
- Windows 7 ならば、Windows キーを押して検索欄で「cmd」と入力すると「cmd.exe」か「コマンドプロンプト」が検索結果に出てくるので、それを右クリックし、出てきたメニューから「管理者として実行」を選択してください。
- Windows 8 ならば、Windows キーを押して、その後何かしらのキーを打つと自動的に出る検索欄で「cmd」と入力すると、「cmd.exe」か「コマンドプロンプト」が検索結果に出てくるので、それを右クリックし、出てきたメニューから「管理者として実行」を選択してください。
- Mac ならば、Finder の左メニューの「アプリケーション」から、 「ユーティリティ」フォルダ内の「ターミナル.app」をダブルクリックして下さい。
文字だけの画面が表示されたでしょうか。
この文字だけの画面のことをコンソールといいます。
すでに、Google Chrome のデベロッパーツールの Console タブを利用したことがあると思いますので、大体の感覚はつかめていると思いますが、コンソールでは、命令を文字で打ち込むことで対話的にコンピューターを操作することができます。
コマンドプロンプト もしくは ターミナルを使ってみよう
それでは、コンソールで実行する操作をみていきましょう。
以下は、Windows と Mac でそれぞれ入力が異なります。各行を入力する度に Enter キーを押しながら入力していってください。うまく右クリックのコピー・貼り付けを使いながら入力していきましょう。
Windows:
mkdir %USERPROFILE%\vagrant\ubuntu64
cd %USERPROFILE%\vagrant\ubuntu64
vagrant box add ubuntu64 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
vagrant init ubuntu64
vagrant up
Mac:
mkdir -p ~/vagrant/ubuntu64
cd ~/vagrant/ubuntu64
vagrant box add ubuntu64 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
vagrant init ubuntu64
vagrant up
vagrant box add ubuntu64 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
この行を実行すると 15 分程度、処理に時間がかかります。
vagrant up
また、この行でも 1 分程度かかります。
何をしているかというと、これからプログラミングをするための環境となる、 Linux をインストールしています。もっと正しく言うと、 Linux の一種である Ubuntu という OS をインストールしています。
なぜ、プログラミングのために Linux を使うのでしょうか?
Linux を使う理由
みなさんは、 Windows の PC をお使いかもしれません。あるいは、 Mac OS X をお使いかもしれません。今まで見たように、 Windows の方と Mac OS X の方で操作方法が違うところがありました。
そこで、プログラミングをする環境として、これから Linux を使っていきます。インストールをして使う、という点に関しては、Chrome や VS Code と同様ですが、起動しただけでは Ubuntu は画面には表示されない点が異なります。
また、単に環境を同じにしたいためだけに、Linux をインストールするのではありません。 Linux には、プログラミングをするためのソフトウェアが豊富にあり、とても便利なのです。
さらに、 Linux は GNU General Public Licence (GPL) というライセンスを採用しているため、基本的に無料で利用できます。そのため Web プログラミングの世界では、広く Linux が利用されています。
プログラム(の複製物)を利用している人に対して、以下のことをしてもいいよ、という決まりです。
- プログラムを実行する自由
- ソースの改変の自由
- 利用・再配布の自由
- 改良したプログラムをリリースする権利
無事、 vagrant up のコマンドまで実行できたでしょうか。
正しくコマンドを実行できていれば、Windows であれば、以下のような画面が表示されているはずです。
ここまでで Ubuntu のインストールと起動が完了になります。
Ubuntu を使ってみよう
では、早速この Ubuntu を使ってみましょう。
起動した Ubuntu は、画面には表示されていませんが、 SSH クライアントと呼ばれるソフトウェアを用いることで、利用することができます。
Mac にはデフォルトで、 SSH クライアントが搭載されていますが、 Windows の場合、SSH クライアントとなるアプリケーションをインストールする必要がありますので、下記で説明します。
SSH とは、Secure Shell の略称で、暗号や認証の技術を利用して安全に、外部のコンピューターと通信する仕組みです。
Windows の場合は、Google などの検索サイトで「rlogin」と検索し、結果から、rlogin/telnet/ssh(クライアント)ターミナルソフト というサイトにアクセスし、「1.3 インストールおよびアンインストール」とある辺りのリンクから、/softlib/program/rlogin_x64.zip という zip ファイルをダウンロードします。
その後 zip を解凍し、RLogin.exe をデスクトップなどに配置します。
Ubuntu につないでみよう
Windows の場合:
インストールした RLogin を起動して、「新規」を選択し、以下のように設定をしましょう。
- エントリーには、vagrant
- プロトコルは、ssh
- Server Adress は、localhost
- Socket Portは、2222
- User Name は、 vagrant
- Password は、vagrant
- デフォルト文字セットは、UTF-8を選択
「OK」ボタンを押すと、Ubuntu へ接続するための設定が保存されます。
リストの中から、今追加した行をダブルクリックします。
Mac の場合:
「ターミナル.app」を起動し、以下の 2 行を入力します。
cd ~/vagrant/ubuntu64/
vagrant ssh
最初に、 セキュリティ警告がでますが、 Windows の場合は続行ボタンを Mac の場合は Yes を入力して下さい。
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-66-generic x86_64)
* Documentation: https://help.ubuntu.com/
System information as of Tue Oct 27 03:23:54 UTC 2015
System load: 0.82 Processes: 81
Usage of /: 3.2% of 39.34GB Users logged in: 0
Memory usage: 24% IP address for eth0: 10.0.2.15
Swap usage: 0%
Graph this data and manage this system at:
https://landscape.canonical.com/
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
0 packages can be updated.
0 updates are security updates.
Last login: Thu Oct 22 03:46:49 2015 from 10.0.2.2
vagrant@vagrant-ubuntu-trusty-64:~$
以上のように表示されれば、Ubuntu へのアクセスは成功です。
Ubuntu を日本語化してみよう
次は環境を日本語化してみたいと思います。
Ubuntu のコンソール を開いて、以下のコマンドを右クリックを使ったコピー & ペーストで、 1 行ずつ入力して下さい。
sudo locale-gen ja_JP.UTF-8
echo export LANG=ja_JP.UTF-8 > ~/.profile
このコマンドはそれぞれ、「日本語環境を作成する」「起動時に日本語として起動する」という設定をしています。
無事実行できたでしょうか?
この設定内容を反映させるため、一旦コンソールのウィンドウを閉じて、再度 Ubuntu のコンソールを起動させましょう。
まず、Ubuntu のコンソールを閉じます。
Windows の場合:
RLogin を起動すると、先ほど設定した内容が保存されています。 vagrant と最初に書かれている行をダブルクリックすれば接続され、Ubuntu のコンソールが起動します。
Mac の場合:
「ターミナル.app」を起動し、以下の 2 行を入力します。
cd ~/vagrant/ubuntu64/
vagrant ssh
日本語設定ができたかどうかを確認するために date
という現在の日付を確認するコマンドを打って Enter キーを押してみましょう。
date
すると
2015年 10月 27日 火曜日 03:31:51 UTC
のように日本語で日付が表示されれば成功です。
ゲームをやってみよう
Ubuntu 上でゲームをやってみましょう。ここでは有名なテトリスをやってみます。
sudo apt-get install bsdgames
をコンソールへ入力して、テトリスなどのゲーム群をインストールします。
続行しますか? [Y/n]
と表示されますので、 Y と入力して Enter キーを入力してください。
インストールが終わったら、テトリスを起動するために
tetris-bsd
と入力してみましょう。
無事テトリスが起動できたでしょうか?
テトリスを終了するときには、Q を押してください。
ここまでで、コンソールを使ったソフトウェアのインストールと実行をやってみました。
このようなコンソールなどの、文字だけによるインタフェースを CUI といいます。Character User Interface の略称です。
対照的に、ボタンなど色々な見た目上の部品を使ったグラフィカルなインタフェースのことを、 GUI といいます。Graphical User Interface の略称です。
Linux では、これから CUI を使うことが多いのですが、なぜ見た目がわかりづらい CUI を使うのでしょうか?
CUI を使う理由としては
- CUI だと、やらなくてはいけない手順に間違いが起こりにくい
- CUI だと、簡単にインストールやプログラムの実行ができる
- CUI だと、プログラムを使った自動化がしやすい
などの理由があります。CUI はこれらの理由から、プログラミングの学習や実行と相性が良いのです。
なお、海外では CUI ではなく CLI (Command line interface) という言い方のほうが一般的です。
先ほど出てきた apt-get のように、コンピュータにインストールされているソフトウェアを管理するためのソフトウェアのことを、パッケージマネージャと呼びます。
たいていの OS や言語には 1 つはパッケージマネージャがあり、CUI からの簡単な操作で、ソフトウェアを導入したり、更新したり、削除したりすることができます。
以下に、パッケージマネージャの例を挙げておきます。
環境 | 代表的なパッケージマネージャ |
---|---|
Debian 系 Linux(Ubuntu 等) | APT |
RedHat 系 Linux(CentOS 等) | yum |
OS X(Mac の OS) | homebrew |
Windows | Chocolatey, NuGet |
JavaScript | npm |
Ruby | RubyGems |
Python | Anaconda, pip |
では最後に、Ubuntu へ接続しているコンソールを閉じ、Ubuntu 自体も終了させます。
Ubuntu を終了させるには、まず Windows ならばコマンドプロンプトを、Mac ならばターミナルを起動します。
コマンドプロンプト または コンソールの開き方を確認する
そして、以下のコマンドを入力します。
Windows の場合:
cd %USERPROFILE%\vagrant\ubuntu64
vagrant halt
Mac の場合:
cd ~/vagrant/ubuntu64
vagrant halt
これで終了することができます。
Ubuntu を起動させるには vagrant up
、終了させるには vagrant halt
となります。それぞれのコマンドを覚えておきましょう。
まとめ
- Linux は、プログラミングをするのに便利な環境である
- CUI はプログラミングと相性が良い
練習
スペースインベーダーをというゲームを遊んで、1 面をクリアしてみましょう。
Windows では、管理者として立ち上げたコマンドプロンプトへ、以下を入力します。
cd %USERPROFILE%\vagrant\ubuntu64
vagrant up
RLogin を起動し、 vagrant と書いてある行をダブルクリックします。
Mac では、「ターミナル.app」へ以下を入力します。
cd ~/vagrant/ubuntu64
vagrant up
vagrant ssh
そのあと、 Ubuntu のコンソールで
sudo apt-get install ninvaders
ninvaders
以上を実行することで、インベーダーゲームを起動することができます
終了するときには、 Ctrl + c を入力して下さい。