Next: 2. ユーザ登録・ユーザ管理
Up: 1. UNIXシステムの概要と起動・シャットダウン
Previous: 1.11 UNIXのディレクトリ構造
演習 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: 2. ユーザ登録・ユーザ管理
Up: 1. UNIXシステムの概要と起動・シャットダウン
Previous: 1.11 UNIXのディレクトリ構造
Noriyo Kanayama