01. ガイダンス and 準備

Photo by Claudio Schwarz on Unsplash

この授業はなにを学ぶのか

この授業では Unix と呼ばれる OS(コンピュータのシステムソフトとでも言うかな)について一定の操作を学び,実際に「できる」ようになることにある. 多くの学生にとって Unix という名称にはあまり馴染みがないかもしれないが,これは大変多くのコンピュータの根幹ソフトとなっているもので,例えば下記のようなものはある意味 Unix であると言って良い.

  • Android OS
  • MAC OS X
  • Linux, FreeBSD 等
  • 世界中のほぼすべてのスーパーコンピュータの OS
  • Windows (WSL が POSIX準拠)

表面的にはこれらの OS は異なるのだが,その根幹には Unix が共通部分として存在するというわけだ. なので,多くのコンピュータで何か少し突っ込んだことをしようとするとほぼ必ず Unix の知識やそのコマンドを使って操作をすることになるので,これを学んでおこうというわけだ.

「超」初心者用ガイド

Unix OS の超初心者向けの資料として、 Unix 初心者ガイド (pdf) を置いておこう. ざっと目を通すだけでも、Unix の基本を知るのにだいぶ助けになるのではないだろうか.

授業環境について

さて,この授業では Unix OS 環境を実際に触ってみる必要がある. それにはいくつか選択肢があるので,以下に示そう.いずれかを選び,準備するのだ.

選択肢1. 阪大情報教育システムを用いる

これは教室に置いてある PC にログインして使う環境のことだね. 授業としてはこれをメイン環境として想定する.

なお,top ページにリンクがある BYOD というやつで自宅などから自分のPCに繋ぐこともできる(ネットワーク越しなので挙動は遅い). 予習復習にはこの BYOD を使うのもいいね. ちなみに、実際に BYOD で接続してみた画面が以下のものである.

BYOD-sample

阪大情報教育システムにログインしたら…

阪大情報教育システムにログインすると(上の画像のように) Windows が起動する. 「あれ? Windows じゃん? Unix は?」と思うかもしれないが慌てなくて良い.

ここから Linux (CentOS7) と呼ばれる Unix を起動できるのだ. Windows のメニューアイコンをクリックして,"CentOS7" という項目を選んでクリックすると,Linux(CentOS)が起動するのだ. id と password を再度尋ねられるが,これは阪大個人 id とそのパスワードと同一だ.面倒だがもう一度入力しよう.

さて,この授業は基本的に起動したこの CentOS7 で行う. 他に Uxix 環境を用意しない人は,これが授業用のメインの環境となるのでそのつもりでいよう.

選択肢2. 自分のPCを持ち込んで, そこで Unix を使えるようにする.

せっかく自分の(ノート)PCがあるのならば,そこでも Unix をすぐ使えるうようにしておくとなにかとこれから便利だ. そこで,自分のPCで Unix を使えるようにしてしまえ,というのがこの選択肢だ.

そして,各種 OS で Unix を使えるようにする手段は実はいろいろある.

特に MAC OS X なんかは基本的な中身はほぼ Unix そのものなので「ターミナル」と呼ばれるアプリを起動するだけで Unix に触れると言って良い. なので Mac の場合はなにもしなくてもいいかも.まあ,できれば下記の仮想環境を入れておくとより勉強になるのでそうすることをお勧めするが.

そして Windows の場合は,おおよそ以下の二択かな.

  • 正式にマイクロソフトが提供している WSL (Windows Subsystem or Linux) を用いる
  • 仮想環境を提供するソフトウェアを用いて Unix を仮想環境にインストールする

この二択は(まあある種のバグで)両立できないケース1が有るので,詳しくない人はどちらかのみを選ぶと良いね.

2-1. WSL(Windows Subsystem for Linux) を使ってそこに Linux をインストールする

まず WSL をインストールし,その後そこに Linux をインストールする,という二段階の作業になる. 意外に簡単なので安心しよう.

ちなみに WSL には version 1 と version 2 があるが,後述の VirtualBox との両立を考えないならば version 2 を選択すると良い. VirtualBox と両立したいのであれば version 1 にせざるを得ないね. まあ,実はこの version は後からでも切り替えられるのでそんなに気にしなくても大丈夫だ.

そして,この二段階の作業だが,かなり簡単だ. "WSL 2 インストール" (WSL version 2 の場合)という文言などで web検索すれば数多くの解説が見つかるのでそれらを参考に行おう.

ちなみに,WSL にインストールする Linux だが Ubuntu 20.04 LTS あたりがおすすめだね.

2-2. 仮想環境ソフトをインストールしてそこに Unix をインストールする

こちらは Mac でも使えるお勧めの方法だ.

仮想環境とは,まあ大雑把に言えば,今ある環境に「仮想のハードウェアを用意して,その中に『別の』OSをインストールして使えるようにする」もの,とでも言えばいいだろうか. 要するに、OS の中に仮想的なコンピュータ(ハードウェア)を創りだして、その上で違う OS を走らせることが出来るのである. これを利用して、Windows/Mac OS の中で好きな Unix を走らせるのだ.

仮想環境を作り出すソフトウェアとしては,Windows だと VMWare, VirtualBox などが有名で,Mac では同様に Pallels, VMware, Virtual Box などが知られている. まあ簡単に紹介しておこう.

Windows 用仮想環境

名称 簡単な説明
VMware Workstation Player Windows 用仮想環境としては定番.
購入するならば 約15,000円(Academic Price の場合. 1年前は約 10,000円だったのだが…)
"対象となる教育機関の学生、ご両親、教職員、スタッフは、割引価格でご購入いただけます。" となっていて Academic Price で購入できる.2
Oracle VirtualBox 昔はちょっと遅かったが,今は結構スムーズに動く仮想環境.
無料.
阪大の情報教育システム上の CentOS7 はこれで動いている.授業想定環境と揃えるならこちらかな.

Mac 用仮想環境

名称 簡単な説明
VMware Fusion これまた仮想環境としては定番.
購入するならば 約 18,000円.
登録が必要だが,"Fusion Player(旧称「Fusion」)を無償で無期限にお使いいただける個人利用ライセンスにご登録ください。" とあって,条件を満たせば無料利用ができるようだ.
Parallels desktop for Mac Mac の上で Windows を動かすための仮想環境として有名.
約 8,400円.
Windows 以外の OS も扱えるはずだが,メーカーからして "Mac で Windows を実行" と銘打って売っているぐらいなので,まあそこはそういうものと考えるのが無難だろう.
Oracle VirtualBox 他の有料ソフトウェアと比べるとちょっと動作が遅いと言われる.
無料.
阪大の情報教育システム上の CentOS はこれで動いている.授業想定環境と揃えるならこちらかな.

というわけで,特に理由がなければ,無料 & 阪大の情報教育システムと同じ,という利点があるので,仮想環境ソフトウェアとしてはとりあえず Oracle VirtualBox をダウンロードしてインストールしておけばいいんじゃないかな. インストールは単にインストーラーをダブルクリックで済むけど,不安な人は web で "VirtualBox インストール" などの文言で検索すれば,図入りで解説がたくさんあるぞ.

仮想環境に Unix を用意する

例えば VirtualBox をインストールしたとして,次に気になるのはその上へ Unix をどう用意するかである. 仮想とはいえ 1台の PC 相当であるので、詳しい人は自分でゼロからインストールしても良い.

ただ,その手間は結構面倒だ.なので,普通の人は既に作られたイメージをダウンロードして使うのが良いだろう.

例えば VirtualBox/VMware 用のイメージ(vmdkファイルなど)は、一般的なものは OSboxes などで入手できる(他のソフトウェアの場合も,検索すればすぐ見つかるぞ).

少しだけ紹介すると,

OSBoxes 上の OS イメージ その OS の解説
Ubuntu Linux の中では人気がある.「デスクトップOS として使う」なら必ず候補にあがる OS だろう.
ずっと使っていくつもりならこの選択肢は良いんじゃないかな.
CentOS Linux の技術的な標準としてよく扱われる商用 Linux の Red Hat Enterprise Linux のオープンソースライセンス版.素直な作りだが,デスクトップOSとして使うには素っ気なさすぎる印象もあるかも.
阪大情報教育システムではこれが(VirtualBox の上に)インストールされている.
実は,残念なことに CentOS は廃止される.将来性はないので長く使うつもりならば他のものにしたほうが良いだろう.
FreeBSD Unix OS の正当な嫡流 OS,かな.正統派というなら BSD系になるだろうが,使ってる人は少なめかな.

という感じだな.


CentOS7 on VirtulBox のインストール

まあ阪大の情報教育システムと揃えるならば CentOS から下図を参考にして(VirtualBox 用に) CentOS 7 をダウンロードして使うのがいいだろう(CentOS 8 や 9 もダウンロードできるが,情報教育システムとバージョンが異なってしまうね).

aa

で,ダウンロードしたファイルを解凍すると "CentOS 7.9-2009 (64bit).vdi" というファイルが出てくる(2004 のはずが 2009 になってるが,typo かな?). これは 5GB 近くある,大きなファイルだ. これが欲しかったものだ.SSD/ハードディスクの(自分でそう思う)適切なところへファイルを移動させておこう. ちなみにこのファイルは CentOS がインストールされているハードディスクの電子的イメージ,と思えば良い.

そしてこのファイルをどう扱えばよいかだが,これはまさにぴったりの解説がこの OSBoxes に書いてあって, VirtualBox: How to attach/configure image with VirtualBox? というところを読めばいい. 簡単な英語だが,英語が苦手だ,という人は Google 翻訳でもなんでも使って読めばいいね.

そして,インストール中にパスワード等を要求されるような場面があったら,以下のアカウントとパスワードを使おう.

OSBoxes に置いてある OSイメージのパスワードは?
通常ユーザ "osboxes", 管理者 "root" ともにそのパスワードは "osboxes.org" だ.

さて,ちなみに VirtualBox: How to attach/configure image with VirtualBox? のすぐ後に続きで書いてある

"How to install Guest Additions?" の作業は, CentOS7 の場合, 今すぐ行ってはいけない!!

この作業を行う前に,下記の準備が必要だ. ちなにこの Guest Additions 導入作業をきちんと完了させると,マウスがもと OS と CentOS の間で自然に移行したり, 画面サイズが自動調されたりするようになるので,できればこれはやっておきたい.

CentOS 7 を VirtualBox で扱う時の Guest Additions 導入の前準備

1.CentOS 7 in VirtualBox にログインし,端末エミュレータソフトを起動して(次回授業資料の頭に書いてある),次の文字列を入力する. 文字の色は気にするな.あと,左端の数字は表示をわかりやすくするための行番号だ.入力するものではないぞ.

また,途中でパスワードを要求されたら上のパスワードを使おう.

1
2
3
4
sudo yum -y install epel-release
sudo yum -y groupinstall "Development Tools"
sudo yum -y update
sudo reboot

2.CentOS 7 in VirtualBox が再起動したら再度ログインし,やはり端末エミュレータソフトを起動して次の文字列を入力する.

1
2
3
sudo yum -y install gcc make kernel-devel kernel-headers dkms bzip2 perl
sudo yum -y update
sudo reboot

3.CentOS 7 in VirtualBox が再起動したら再度ログインし,今度は VirtualBox: How to attach/configure image with VirtualBox? の "How to install Guest Additions?" の作業を行おう.無事にできるはずだ. それが済んだら,VirtualBox を再起動しよう.これで OK なはずだ.


Ubuntu 22.04 on VirtulBox のインストール

上に書いたように,使い勝手の良さと将来性の点では Ubuntu を使うのが良いだろう. Ubuntu から下図を参考にして(VirtualBox 用に) Ubuntu 22.04 をダウンロードして使うのがいいだろう(古い 20.04 などももちろんダウンロードできるが,古いものをあえて使う理由はこの場合は無いだろう).

aa

で,ダウンロードしたファイルを解凍すると "Ubuntu 22.04 (64bit).vdi" というファイルが出てくる. サイズにして 9GBほどくある大きなファイルだ. これが欲しかったものだ.SSD/ハードディスクの(自分でそう思う)適切なところへファイルを移動させておこう. ちなみにこのファイルは Ubuntu OS がインストールされているハードディスクの電子的イメージ,と思えば良い.

そしてこのファイルをどう扱えばよいかだが,これはまさにぴったりの解説がこの OSBoxes に書いてあって, VirtualBox: How to attach/configure image with VirtualBox? というところを読めばいい. 簡単な英語だが,英語が苦手だ,という人は Google 翻訳でもなんでも使って読めばいいね.

そして,インストール中にパスワード等を要求されるような場面があったら,以下のアカウントとパスワードを使おう.

OSBoxes に置いてある OSイメージのパスワードは?
通常ユーザ "osboxes", 管理者 "root" ともにそのパスワードは "osboxes.org" だ.

さて,ちなみに VirtualBox: How to attach/configure image with VirtualBox? のすぐ後に続きで書いてある "How to install Guest Additions?" の作業は,既にこの "Guest Additions" がインストール済みなので不要だ.



Ubuntu 22.04 を使うとき, やっておくと良い整備作業

この素の Ubuntu をそのまま使っても良いが,少しだけ以下のように整備しておくと良い.ぜひやっておこう.

1.Ubuntu in VirtualBox にログインし,端末エミュレータソフトを起動して(次回授業資料の頭に書いてある),次の文字列を入力する. あと,左端の数字は表示をわかりやすくするための行番号だ.入力するものではないぞ.

また,途中でパスワードを要求されたら上のパスワードを使おう.

1
2
3
sudo apt update
sudo apt upgrade
sudo reboot

2.Ubuntu in VirtualBox が再起動したら再度ログインし,やはり端末エミュレータソフトを起動して次の文字列を入力する.

1
sudo apt install build-essential

これで Ubuntu 上に gcc や make などの,最低限の開発ツール・環境が揃うことになる.

おまけ. cygwin on Windows を使う

授業のための環境とは別に,cygwin on Windows というものもあって,これはこれで使える場面もあるだろうから紹介しておこう.

これは、 Red Hat 社によって提供されているフリーソフトウェア で Unix のコマンドの一部を Windows で使えるようにしたものであり、無料で使えるのだ. Windows 用コマンドになっているので当然 Windows との親和性は高く、使い勝手はなかなか良いのでぜひインストールして利用するのをおすすめしたい. 下の画面は cygwin を起動して、ls -lga コマンドを打ってみた様子である.

cygwin terminal sample

  • インストールの方法
    cygwin にアクセスし、 setup-x86.exe (32bit 版)か setup-x86_64.exe (64bit 版) のいずれか好きな方を選んでダウンロードし、それを起動すれば良い. 後は適当にメッセージに従えばインストールできる. 途中、インストールするアプリケーションの選択画面が出るが、よくわからなければそのまま OK でも良い. インストールするアプリケーションはあとから追加も削除も自由にできるので、必要になった/不要になった 時に適宜追加/削除すれば良い. なお、32 bit と 64 bit とのいずれが良いかであるが、Windows に合わせておけば良いだろう.

  • 利用の仕方
    インストールが終了すると、とりあえず mintty と呼ばれる文字端末エミュレータへのリンクが用意されるので、しばらくはそれを使うと良いだろう. その使い勝手にあまり満足出来ない人は、たとえば Teraterm と呼ばれる windows のアプリケーションをインストールすると、このアプリケーションがcygwin に対応した文字端末を持っている(cyglaunch, cygterm)ので、それを用いると幸せになれるだろう.

レポート

以下の課題について,なるべく一生懸命な調査と考察を行って,
2022-AppliedMath7-report01
という題名をつけて e-mail にて教官宛にレポートとして提出しよう. なお,レポートを e-mail の代わりに $\TeX$ で作成した書面にて提出してもよい.

  注意
  近年はセキュリティ上の懸念から,実行形式のプログラムなどをメールに添付するとそのメールそのものの受信を受信側サーバが拒絶したりする. そういうことを避けるため,レポートをメールで提出するときは添付ファイルにそういった懸念のあるファイルが無いようにしよう.

  1. 自分の PC に WSL か仮想環境ソフトをインストールし,Unix のどれかを使えるようにしよう. こうした記録・報告の練習として,
  • どのような仮想環境ソフトをインストールしたのか
  • どのような Unix をインストールしたのか
  • その際の作業手順

    等を他人にわかるように書いてこれをレポートとして報告しよう.

  1. WSL2 (WSL の version 2)と Oracle VirtualBox は両立できるはずということになっているが実は動かないということがある.WSL version 1 と VirtualBox は両立できるのだが… ↩︎

  2. VMware 社の商品価格やライセンスは頻繁に変わるので,買うときには必ずチェックしよう. ↩︎