next up previous contents
Next: 2. ユーザ登録・ユーザ管理 Up: 1. UNIXシステムの概要と起動・シャットダウン Previous: 1.11 UNIXのディレクトリ構造

1.12 演習

演習 1.1    指定の席のマシンのディスプレイの電源をいれ、ログインプロンプトに対して、”root2”を、パスワードに対して、別途指定のパスワードを入力し、ログインしてみなさい。
 また、ログアウトしてみなさい。
 再度ログインして、次の演習に備えなさい。

演習 1.2   # ls -F /
と入力し、ルートディレクトリにあるファイル名を確認してみなさい。
また、
# ls -F /etc
# ls -F /var
などとして、各種ディレクトリに、どのようなファイルがあるかを調べて見なさい。
上記の他、ルートディレクトリ下のディレクトリを、できるだけ多く調べること。

演習 1.3    システムの再立ち上げを行います。
 shutdown コマンドの解説を読み、次のようなモードで、システムの終了と立ち上げをさせなさい。
     2分後にシャットダウン
     確認メッセージを出して、ちゃんと”y”と入力したときだけ、終了する。
     再度立ち上げる。モードは6で立ち上がる。
 
立ち上げの時に出されるメッセージも、見ておくように。

(再立ち上げに失敗したときは、アシスタントに相談してください。)

演習 1.4    再度 root2 でログインし、次に、シャットダウンコマンドを次のように指定して、システムを終了しなさい。
     1分後にシャットダウン
     確認メッセージを出さずに終了。
     シャットダウンのみで、モニタモードになる。

演習 1.5    前の問題で、モニタモードに移行しているはずである。ここで、”?”を入力すると、モニタモードで使用できるコマンドが表示される。
 どのようなコマンドが使用できるか、確認しなさい。
 
 このモードで、bootコマンドを実行しなさい。

演習 1.6    再度 root2 でログインし、前回と同様にして、シャットダウンしなさい。
 モニタモードになったら、電源を切りなさい。(電源は、本体裏面にあります。)
 電源が切れると、ファンの音が止まるのでわかるはずである。
 10秒以上間をおいてから、電源を投入しなさい。

演習 1.7    再度ログインし、今度は、init 6 によって、再立ち上げをしなさい。

演習 1.8    再度ログインし、init 0 によって、モニタモードに移行しなさい。
 ここで、
 boot −s
によって、シングルユーザモードで起動しなさい。
このときの起動の状態は今までと違う。どのように違うか、比較しなさい。

演習 1.9    どのような方法でも良いから、マルチユーザモードに移行しなさい。

演習 1.10    root2 でログインし、psコマンドを実行してみなさい。
 ps
 ここで、psコマンド自身の、PIDを確認しなさい。
 
 続いて再度、
 ps
 を実行し、PIDを確認しなさい。
 さらに、もう1回実行して、PIDの変化の様子を見なさい。

演習 1.11   psコマンドに各種のオプションを付けて実行し、表示の違いを確認しなさい。
以下のようなものを試して見なさい。
 ps −a
 ps −f
 ps −e
 ps −fe
 ps −le
 

演習 1.12   次のコマンドを入力してみなさい。
find /var -name mail -print
これは、/varディレクトリ以下のディレクトリから、"mail"という名前のファイルまたはディレクトリを探して、そのパス名を表示するものです。
検索には多少の時間がかかります。

演習 1.13   前の問題は、一つのディレクトリを調べるだけなので、それほど長くの時間はかかりませんでしたが、今度は、ルートディレクトリから、全部のディレクトリを探して見ましょう。これは、結構時間がかかりますので、バックグラウンドで実行します。
バックグラウンドで実行するには、コマンドの最後に“&”をつけるのでしたね。
find / -name mail -print > /tmp/findmail &
これで、実行が始まりました。すぐ、プロセスを見てみましょう。次のようにします。
ps -fe | grep find
findを実行してからあまり時間が経つと、プロセスが終了してしまっているかもしれませんが、大抵の場合は、findのプロセスがあるはずです。
もし、なければ、もう一度上のfindを実行し、速やかに次のpsを見てください。
そして、すぐに、このコマンドをkillします。
kill プロセス番号
とするのでしたね。
ここでも、あまり時間が空くと、プロセスが終了してしまいます。

演習 1.14   killコマンドを普通に使用しても終わらないときには、−9 オプションをつけます。
普通にkillして終わらないプロセスを、「わざと」作ることは難しいので、ここでも、先ほどと同様に、findコマンドを使います。
find / -name notexist -print > /tmp/findnot &
この先、プロセス番号を調べ、−9 オプションをつけてkillする方法で終了させてみなさい。

演習 1.15   システムにログインしたときに、シェルが立ち上がり、その上で作業が行われます。
このログインシェルをkillすると、システムからログアウトしたのと同じことになります。
次の方法で、自分のログインしたシェルのプロセス番号を調べ、killしてみなさい。始めは、普通のkillで、次に、−9オプションをつけて実行してみなさい。
ps -fe | grep sh

演習 1.16   前の問題を応用すると、ウインドウシステムが動かなくなってしまったときに、生きているウインドウから、別のウインドウを殺すことができます。
また、スーパーユーザとして、一般のユーザのシェルを殺すこともできます。マシンが凍りついてしまったときなども、リモートログインできれば、そのマシンのコンソールを回復させることもできます。

今日は演習できませんが、次回、一般ユーザでログインすると、ウインドウシステムが立ち上がるように設定します。
その際に、1つのウインドウから、別のウインドウのプロセス(ksh)を調べ、killして見てください。どのようなことが起こりますか。


next up previous contents
Next: 2. ユーザ登録・ユーザ管理 Up: 1. UNIXシステムの概要と起動・シャットダウン Previous: 1.11 UNIXのディレクトリ構造
Noriyo Kanayama