どうしてLinuxをつくることにしたか?
私は、大学の文系学部で教員をしています。メインマシンでWindowsを使っているのですが、Linuxも大好きです。Zorin OSに浮気をしたこともありますが、いまのサブマシンはUbuntuです。
1990年代後半に、NetBSDをインストールするのに苦心したことを考えると、とてもインストールがしやすくなりました。Windowsマシンにも、VirtualBoxを使ってLinuxをインストールできますし、WSLは嬉しい登場です。でも、容量を喰うのがちょっと。。。
個人的に利用するのなら、Ubuntuをインストールするのも、WSLを利用するのもいいのですが、「データ科学」「情報科」の授業だけ、とくに大学の文系学部で、“それだけのため”にUbuntuもWSLも学生が自分で用意できるわけがなく、そうさせることもできるわけがなく。。。
でも、せっかく「データ科学」「情報科」を学ぶのなら、Linuxコマンドを使ったり、HTMLとPHPとMySQLでWebページを作成したり、それをWebサーバもどきで動かしたりさせたいと考えました。
そこで、Webブラウザ上でLinuxを試せる、計量Linuxもどきを作成しました。OrcaOSと言います。
OrcaOS
ダウンロードとインストール
OrcaOSは、Windows、Mac、Linux(LinuxにLinuxもどきも変ですが・・・)で使用できます。ハードディスクのパーティションも、ブートのことも考えなくていいですし、不要になればフォルダごとゴミ箱にいれてくれればいいです。
-
Node.jsをインストールします。
Node.js -
GitHubからダウンロードします。
OrcaOS -
ダウンロードしたZipファイルを解凍し、フォルダを任意の場所に置きます。
-
MacとLinuxは、setup.sh、start.sh、check-system.shに実行権限を付与します。
# Give execution permissions(実行権限を付与) chmod +x setup.sh start.sh check-system.sh -
WindowsもMacもLinuxも、setup.shを実行します。
- Windowsの場合:setup.batをダブルクリック
- Mac、Linuxの場合
# Run setup(セットアップを実行) ./setup.sh- 2回目以降は、start.bat(Windows)かstart.sh(Mac、Linux)を実行します。
ブラウザのアドレスバーには「http://localhost:3000/」と書いています。コマンドプロンプトやターミナルを見ると、LocalとNetworkと書かれた場所をみると、今回の場合、「http://172.18.29.2:3000」と書いています。例えば、同じWi-Fi環境にあるタブレットや別PCのブラウザのアドレスバーに、この「172.18.29.2:3000」と入力すると、同様に使用できます。授業者がOrcaOSを起動して、児童・生徒・学生がアクセスして使用する、、、ということも考えられます(できるかどうかは試したことがないです)。

OrcaOSの使い方
ターミナル
OrcaOSの一番の特徴は、Linux初心者がOSのインストールをしないで、Linuxコマンドを練習できる点です。ひととおりは試すことができるのではないかと思います。
コマンド一覧
| ファイル操作 | |
|---|---|
| ls [dir] | ディレクトリの内容を表示 |
| cd [dir] | ディレクトリの移動 |
| pwd | 現在の場所を表示 |
| cat [file] | ファイルの内容を表示 |
| mkdir [dir] | ディレクトリの作成 |
| touch [file] | 空のファイルを作成 |
| rm [dir, file] | ディレクトリやファイルの削除 |
| cp [file] [dir/file] | ファイルを指定の場所に、指定のファイル名としてコピー |
| mv [file] [dir/file] | ファイルを指定の場所に、指定のファイル名として移動 |
| find [name] | ファイルを名前で検索 |
| grep [text] [dir/file] | ファイル内のテキストを検索 |
| awk [pattern[action]] [file] | ファイル内のテキストを検索 例) awk '{print $1, $3}' test.txt develop版のみ |
| vi [file] | viエディタの起動 |
| echo [text] [>file] | テキストの表示、テキストをファイルに書き込み |
| mount | PC内のフォルダを参照するためのマウント develop版のみ |
| システム情報 | |
|---|---|
| clear | ターミナルをクリア |
| date | 現在の日時を表示 |
| uname | システム情報を表示 |
| whoami | 現在のユーザを表示 |
| uptime | システム稼働時間を表示 |
| df | ディスク使用状況を表示 |
| ps | プロセスを表示 |
| env | 環境変数を表示 |
| help | コマンド一覧を表示 |
| history | コマンドの履歴 |
LAMP機能
OrcaOSにはLAMP(Linux + Apache + MySQL + PHP)機能があります。基礎的な「webデザイン」「PHP & MySQL」の授業を想定しています。Apacheを起動すると、作成したHTMLファイルを表示することができます。LAMP機能がありますので、HTMLの中に埋め込んだPHPや、PHP形式のファイルを実行することができますし、PHPからMySQLを読み込んでデータを参照・蓄積することもできます。
OrcaOSのフォルダ構成
.
├── home/
│ └── user/
│ ├── welcome.txt
│ └── documents/
│ └── readme.md
├── etc/
│ └── config.conf
└── var/
├── log
└── www/
└── html/
└── index.html
この中の「var/www/html」フォルダの中に作成したHTMLファイルなどを置きます。OrcaOS内のwebブラウザを起動すると、エラーが表示されます。
そこで、Apacheを起動します。
apache2 start
このあとにリロードすると、もともとあるindex.htmlや、作成したHTMLファイルを表示することができます。
そのほか
PythonとRを使用することができます。いずれも、ターミナルでの利用ができますが、Jupyter Notebookライクな形式でも利用できます。
さいごに
「LinuxもどきのことがWebブラウザできる、それ以上でもそれ以下でもないもの」を目指して、とくに文系の大学生、情報科を学ぶ高校生、そしてLinuxに触れ始めるすべての人が使うことを想定して作ってみました。遊んでみてください。


