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

1. URL
2. 担当教員
3. TA (ティーチングアシスタント)
4. ネットワークに関する疑問
5. 講義目的: 到達目標
6. 授業方法
7. 成績評価
8. スケジュール
9. 大崎が担当する科目に共通の連絡事項・アドバイス
10. Debian GNU/Linux のインストール
11. UNIX (UNIX とは、ユーザ権限、パッケージ管理)
12. Debian GNU/Linux セットアップ〜パッケージ管理
13. シェル (ファイル操作、リダイレクト、パイプ)
14. X ウィンドウシステム & ウィンドウマネージャ
15. エディタ (Emacs チュートリアル)
16. シミュレータ導入 (インストール、実行、可視化)
17. Python 言語 (1) (名前、変数、式)
18. Python 言語 (2) (文、スコープ、サブルーチン)
19. Python 言語 (3) (オブジェクト指向プログラミング)
20. 最終レポート課題 (実施報告書)
21. シミュレータ解説 (1) (概要、エージェント)
22. シミュレータ解説 (2) (モビリティ、可視化)
23. ソフトウェア設計・実装

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

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

2024/09/25 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/netcompx/2024/#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/2024/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)

レポート課題 2024/10/02

「レポート課題 2024/09/25」と同じ。

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

質問

- Unixが"."で始まるファイル名を隠す伝統を持っていたり、今回「.screenrc」を隠しファイルで作成した理由は何でしょうか?あっている使い方かわかりませんが、今回みたいに頻繁に書き換えるわけではない設定を変更するファイルを隠しファイルとして作成することで、lsコマンドでは表示されないようにするのは便利だと感じました。

「UNIX (のファイルシステム) を設計した人がそう設計したから」だと思います。

コメント

- 9月25日のCapsLockキーをCtrlキーに割り当てる課題を行ったあと、(Ctrlキーに割り当てた)CapsLockキー+Dでログアウトを試したところ、ログアウトはされるが(ホスト名) login: のあとに文字を入力できないことを確認したので共有します。調べた結果、私のパソコンでは、CapsLockキーを押すと「VK 240」というキーが送信されていることが分かりました。おそらくこれが原因であると考えています。「ctrl2cap」という、WindowsでCapsLockキーをCtrlキーに割り当てられるソフトを使うことで、クリーンインストールしたての状態でもCapsLockキーをCtrlキーとして機能することを確認しました。詳しい経緯は「どのような自習を行いましたか? 」の欄に記入しました。

[<10. Debian GNU/Linux のインストール] [>12. Debian GNU/Linux セットアップ〜パッケージ管理]