ネットワークコンピューティング実習

URL


アクセスできたら、まず最初にブックマークに追加しておいてください。
講義ページ
https://lsnl.jp/l/netcompx

講義ページ (複数ページ版 (モバイル端末向け))
https://lsnl.jp/~ohsaki/lecture/netcompx/2025/toc.html

[授業開始時に提出] 出席確認フォーム (パスワードが必要です)
https://lsnl.jp/app/lecture/attend/show/netcompx

[授業中に使用] クリッカー (パスワードが必要です)
https://lsnl.jp/app/lecture/clicker/show/netcompx

[授業中・授業後に提出] リフレクションシート (パスワードが必要です)
https://lsnl.jp/app/lecture/refl/show/netcompx

[自習後に提出] レポート送信フォーム (パスワードが必要です)
https://lsnl.jp/app/lecture/report/show/netcompx

講義ビデオ (パスワードが必要です)
https://lsnl.jp/video/netcompx/2025/

連絡用メイリングリスト (教員 + TA に届きます)
netcompx-staff[atmark]lsnl.jp
本文には、必ず学生番号・氏名・メールアドレス (@kwansei.ac.jp のもの) を明記してください。

担当教員

大崎 博之
関西学院大学 工学部 情報工学課程
E-mail: netcompx-staff[atmark]lsnl.jp

TA (ティーチングアシスタント)

椎名 智 M2 (大崎研)
野中 泰喜 M1 (大崎研)
E-mail: netcompx-staff[atmark]lsnl.jp

ネットワークに関する疑問

Q1. インターネットを使えば、 メールしたり、 会話したり、 買物したり、 何でもできるのではないだろうか? 今のインターネットにできないことはあるだろうか? もしあるとすれはそれは何だろうか? できない理由は何だろうか?

Q2. 今、 ネットワーク研究の最先端では、 どんなネットワークが研究されているのだろうか? 新しいネットワークとはどのようなものだろうか? そのしくみはどうなっているのだろうか?

Q3. 新しいネットワークや、 その上でのネットワークサービスは、 どうやって生まれているのだろうか? 誰が、 どういう方法で生み出しているのだろうか? ハードウェア (端末、 デバイス) やソフトウェア (通信プロトコル、 アプリケーション) を毎回試作するのだろうか?

Q4. 新しいネットワークの研究に私も参加できるだろうか? 参加するためにはどんな知識や技術が必要だろうか? これまでに理工学部で学んだ内容は役に立つのだろうか? 中学や高校で学んだ基礎は役に立たないだろうか?

Q5. コンピュータシミュレーションとは何だろうか? どういうしくみで動くのだろうか? コンピュータシミュレーションで何がわかるのだろうか? また何がわからないのだろうか? それはなぜだろうか?

講義目的: 到達目標

講義目的: クラウドコンピューティング、 新しいネットワークアーキテクチャ、 新しいネットワークサービスなど、 ネットワーキングとコンピューティングの融合によって実現される「ネットワークコンピューティング」の基礎を、 実習によって深く理解する。

到達目標: 簡単なネットワークコンピューティング環境を構築、 実装、 テストできるようになる。

授業方法

講義およびコンピュータを用いた演習

成績評価

平常レポート

スケジュール

  2025/ 9/24 Debian GNU/Linux セットアップ
  2025/10/ 1 UNIX (UNIX とは、ユーザ権限、パッケージ管理)
  2025/10/ 8 Debian GNU/Linux セットアップ〜パッケージ管理
  2025/10/15 シェル (ファイル操作、リダイレクト、パイプ)
  2025/10/22 X ウィンドウシステム & ウィンドウマネージャ
  2025/10/29 エディタ (Emacs チュートリアル)
  2025/11/ 5 シミュレータ導入 (インストール、実行、可視化)
  2025/11/12 Python 言語 (1) (名前、変数、式)
  2025/11/19 Python 言語 (2) (文、スコープ、サブルーチン)
  2025/11/26 Python 言語 (3) (オブジェクト指向プログラミング)
  2025/12/ 3 シミュレータ解説 (1) (概要、エージェント)
  2025/12/10 シミュレータ解説 (2) (モビリティ、可視化)       
  2025/12/17 ソフトウェア設計・実装 (1)
  2025/ 1/ 7 ソフトウェア設計・実装 (2)



大崎が担当する科目に共通の連絡事項・アドバイス

注意事項、 教育方針、 学習のポイント、 病欠/公欠の時に何をすればよいか等を説明しています。

  大崎が担当する科目に共通の連絡事項・アドバイス
  https://lsnl.jp/~ohsaki/lecture/



Debian GNU/Linux のインストール

実習の流れ

1. 解説 (20 分)
2. 実習 (70 分)
3. リフレクションシート記入 (10 分)

チーム分けの方針

- いろいろな人とチームになる
- チームの人数は自由に決めてよい

態度目標

- しゃべる
- 質問する
- 説明する
- 動く (立ち歩く)
- チームで協力する
- チームに貢献する

内容目標

- VM 上に Debian GNU/Linux (trxie) (amd64/aarch64) をクリーンインストールできるようになる。

- CapsLock キーを Ctrl キーに割り当てられるようになる。

- コンソールのフォントを好みのものに変更できるようになる。

- ゲスト OS から自宅および大学の無線 LAN に接続できるようになる。

課題

課題 1

自身の PC に VirtualBox をインストールし、 ゲスト OS として Debian GNU/Linux (trixie) (amd64/aarch64) をクリーンインストールせよ。

デスクトップ環境 (GNOME、KDE 等)は「なし」でインストールせよ。 GUI やポインティングデバイスを使用せず、コンソールで一通りの操作を行え。

課題 2

CapsLock キーを Ctrl キーに割り当てよ。

課題 3

コンソールのフォントを好みのものに変更せよ。

課題 4

大学の無線 LAN に接続せよ。

ヒント

- ハイパーバイザには Oracle Virtual Box を推奨するが、こだわりがあるなら他の仮想化環境を使ってもよい。

Virtual Box
https://www.virtualbox.org/

バージョン 7.1 から macOS/Arm もサポートされている。

- Debian GNU/Linux の リリースは trixie、アーキテクチャは amd64 または aarch64 (ホスト OS の CPU に合わせて選択する) を使う。

Debian “trixie” Release Information
https://www.debian.org/releases/stable/

amd64 は「IA-32 アーキテクチャの 64 ビット拡張」を意味する。

macOS/Arm では aarch64 (64 ビット ARM) を使う。

- インストーラの ISO イメージは以下を使うとよい。

debian-13.1.0-amd64-netinst.iso
http://ftp.nara.wide.ad.jp/debian-cd/current/amd64/iso-cd/

debian-13.1.0-arm64-netinst.iso
http://ftp.nara.wide.ad.jp/debian-cd/current/arm64/iso-cd/

- キーボードの設定は /etc/default/keyboard ファイルに書く。

> diff -u /etc/default/keyboard.orig /etc/default/keyboard
--- /etc/default/keyboard.orig  2021-04-01 23:42:54.942990648 +0900
+++ /etc/default/keyboard       2021-07-25 06:38:43.408057698 +0900
@@ -5,6 +5,6 @@
 XKBMODEL="pc105"
 XKBLAYOUT="us"
 XKBVARIANT=""
-XKBOPTIONS=""
+XKBOPTIONS="ctrl:nocaps"
 
 BACKSPACE="guess"

- テキストエディタは (他のエディタに慣れるまでは) nano を使うのが簡単。

- フォントの設定は /etc/default/console-setup ファイルに書く。

- コンソール用のフォントは /usr/share/consolefonts ディレクトリに格納されている。

- コンソールはそのままでは ISO-8859-1 しか表示できない (日本語は表示できない) ことに注意。

レポート課題 2025/09/24

実習終了後に自習を行い、 到達目標まで到達せよ。 疑問に思った点、 わからない点は各自で信頼できる文献を用いて調査せよ。

その後、「今週の作業内容」、 「『内容目標』をどの程度達成できた/できなかったか」、 「質問・要望・コメント」、 「感想」を「ネットワークコンピューティング実習」レポート送信フォームから送信せよ。

提出方法: 「レポート課題提出フォーム」から送信せよ。 レポートが正しく提出されると、レポートの控えが自身のメールアドレス宛に送信される。 レポートの控えは成績発表まで保存しておくこと。 レポートが再提出された場合は、 新しいほうを採点対象とする。

提出期限: 次回の授業開始の 48 時間前とする (例えば、 9/24(水) の課題であれば、 10/1(水) 9:00am の 48 時間前である 9/29(月) 9:00am)。 期限を過ぎたものは受理しない。

注意事項: 「質問・要望・コメント」は匿名にした上で公開する (講義ページに掲載する)。 公開されて困る内容は「質問・要望・コメント」等に含めないこと。 個人的な質問・相談等は「感想」の覧に記入せよ。

UNIX (UNIX とは、ユーザ権限、パッケージ管理)

実習の流れ・チーム分けの方針・態度目標

2025/09/24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/netcompx/2025/#10-1

内容目標

- Debian GNU/Linux の主要なコマンドを理解する。

- デフォルトのシェルを fish に変更できるようになる。

- sudo コマンドを利用できるようになる。

- 端末マルチプレクサ (GNU screen) を利用できるようになる。

課題

課題 1

「Debian GNU/Linux リファレンスカード」のハードコピーを一部入手せよ (自分でプリントアウトしても、 誰かにプリントしてもらってもよい)。 便利そうなコマンドを 3 つ選び、 自身の計算機で試してみよ。

Debian GNU/Linux リファレンスカード
https://www.debian.org/doc/user-manuals#refcard

課題 2

fish をインストールし、 デフォルトシェルを fish に変更せよ。

課題 3

sudo パッケージをインストールし、 sudo コマンドを利用できるようにせよ。

課題 4

GNU screen パッケージをインストール・設定し、 仮想端末を利用できるようにせよ。

略解

課題 1

省略

課題 2

以下、# は root のプロンプトを、$ や > は一般ユーザのプロンプトを表す。
ohsaki はユーザ名 (実行する場合は自身のログイン名に変更する)。

root でログイン
# apt install fish
一般ユーザでログイン
$ chsh -s /usr/bin/fish
Password: ********
Ctrl-D でログアウトし、一般ユーザで再ログイン
> 

注意: 何をやっているか完全に理解するまでは、絶対に root のシェルを変更しない
こと。root のシェルの変更に失敗する (存在しないシェルを指定する) と一切ログ
インできなくなるので慎重に作業すること。

課題 3

root でログイン
# apt install sudo
ユーザ ohsaki を sudo グループに追加
# adduser ohsaki sudo
一般ユーザでログイン
root 権限で whoami コマンドを実行
> sudo whoami
  :
  :
[sudo] password for ohsaki: ********

課題 4

screen パッケージをインストール
> sudo apt install screen
~/.screenrc ファイルを作成
> echo 'escape ^Z^Z' >.screenrc
screen を起動
> screen

Ctrl-z → c: 新しいスクリーンを作成
Ctrl-z → SPACE: スクリーン切り替え

ヒント

- Alt + F1〜F4 でコンソールを切り替えられる。

- パッケージ管理は root 権限が必要。apt install でインストールできる。

- シェルの変更は chsh でできる。

- sudo コマンドを実行するには、ユーザが sudo グループに所属している必要がある。

- グループの変更は、再ログインするまで反映されない。

- GNU screen のエスケープキーは Ctrl-Z に変更するとよい。

情報源

- マニュアルページ

man man

- ドキュメント

/usr/share/doc/パッケージ名

- オンラインドキュメント

Linux distribution
https://en.wikipedia.org/wiki/Linux_distribution

Unix/Linux Command Reference
https://files.fosswire.com/2007/08/fwunixref.pdf

Debian リファレンス (特に、1 章 GNU/Linux チュートリアル)
http://www.debian.org/doc/manuals/debian-reference/index.ja.html

Debian 管理者ハンドブック
https://debian-handbook.info/browse/ja-JP/stable/index.html

Debian GNU/Linux リファレンスカード
https://www.debian.org/doc/user-manuals#refcard

The Linux Documentation Project
http://www.tldp.org/

サンプルセッション (参考: Vine Linux 上での実行例です)

https://lsnl.jp/~ohsaki/lecture/netcompx/2025/02-session.html

コマンドの覚え方

ls    List Directory
      -l (Long), -a (All)
cat   conCATenate files (concatenate = 連結する)
      -n (Number)
cd    Change Directory
pwd   Print Working Directory
mkdir MaKe DIRectory
gcc   GNU Compiler Collection (もともとは GNU C Compiler)

レポート課題 2025/10/01

「レポート課題 2025/09/24」と同じ。

https://lsnl.jp/~ohsaki/lecture/netcompx/2025/#10-7

質問

- スクリーン上でマウスを反応させるにはどうしたらいいですか

  コンソール上で動作している screen の話なら、マウスは利用できません。コンソー
  ルが模擬している「端末」にはマウスのようなポインティングデバイスがないからです。

  UNIX は、ポインティングデバイスを使用せずに、キーボードで操作する時に最も快
  適に利用できるように作られています。



Debian GNU/Linux セットアップ〜パッケージ管理

実習の流れ・チーム分けの方針・態度目標

2025/09/24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/netcompx/2025/#10-1

内容目標

2025/09/24 および 2025/10/01 の内容目標をすべて達成できるようになる。

学生番号の末尾が偶数の人は、以下から質問を記入してください。

[授業中に使用] クリッカー (パスワードが必要です)
https://lsnl.jp/app/lecture/clicker/show/netcompx

質問への回答

- VirtuakBoxをインストールした際に間違いでデスクトップ環境(GNOME、KDE 等)をインストールしてしまった場合はどこで変更すればよいですか

最インストールしてもよいと思いますが、tasksel コマンドで、インストールするデ
スクトップ環境を最選択できます。

# tasksel

- 仮想化をする際にデメリットとして物理ハードウェアの障害での影響の範囲が大きくなる可能性があると学習しました。対策として具体的にどのようなことをすればよいですか

VirtualBox のような (少数の VM を稼働させる) 仮想化ではなく、サーバの仮想化
の話ですね。サーバのハードウェアを仮想化し、サーバ上に複数の (多数の) 論理サー
バを動作させる時の話でしょう。

対策は当たり前のことばかりです: 物理サーバが落ちないようにする (例: 物理サー
バのハードウェアを二重化する) 、論理サーバが落ちてもいいようにする (例: 複数
の物理サーバに分散させる、多数の物理サーバを稼働させない)

- su -コマンドとsudoコマンドを使う目的はどちらも管理者権限を使うためという目的があるが、どういう時にどちらを使えばよいですか?

一人しか利用しない計算機 → su でも sudo でもどちらでもいいが、sudo のほうが楽

複数人で利用する計算機 → sudo を使う (権限を制限できる、パスワードを共有しなくていい、ログが残るから)

- フォント以外に使いやすいように変更できることはありますか? - フォントを自分好みにカスタマイズできますが、他にもカスタマイズできる部分はありますか?

フリーソフトウェアなので (ソースコードがあり、改変や再配布が認められているの
で) あらゆるものがカスタマイズ可能です。

- 量子コンピュータでも Linux や UNIX のような OS は必要なのでしょうか?それとも全く別の仕組みで動くのですか?

量子コンピュータも、抽象化や資源管理が必要な複雑さになれば OS は必要でしょう
ね。

- 素人質問で恐縮ですが、なぜDebianやPowerShellのようなソフトウェアはなぜ背景が黒なのですか?他の色ではダメなんですか?

「他の色ではダメ」ではありません。ほとんどの端末エミュレータは (そしておそら
く PowerShell も) 背景色や文字色を好きな色に変更できます。

しかし、私も、背景色は黒で、文字色は白を使っています。その理由は、(一番面積
の大きい) 背景を黒にするのが、最も目に負担が小さく、かつ省電力だからです。一
方、文字を白にするのは、背景が黒なら文字が白が最も高コントラスト (判別しやす
い) だからです。

背景色が白の Word や Web ブラウザを使っているというのは、長時間点灯している
LED を凝視し続けているのと同じですので、私なら絶対に嫌です。

- インストールする際の設定で、US配列になってしまいJIS配列に直したいのですが、どのようなコマンドで直せばいいでしょうか?

/etc/default/keyboard を直接書き替えるとよいでしょう。dpkg コマンドを使って

# dpkg-reconfigure keyboard-configuration

でも設定変更できますが、これも結局は /etc/default/keyboard を書き替えています。

レポート課題 2025/10/08

「レポート課題 2025/09/24」と同じ。

https://lsnl.jp/~ohsaki/lecture/netcompx/2025/#10-7


Hiroyuki Ohsaki (ohsaki[atmark]lsnl.jp)