10.4. システム管理

Linux を個人で使用している人は Linux の管理者でもあります。Vine Linuxを運用するにあたり、必要なコマンド等を簡単に紹介します。以下のコマンドはターミナル上で実行します。コマンドの引数やオプションの詳細はオンラインマニュアル等を参照して下さい。

10.4.1. システムの状態を知る

psコマンド

Linuxでは様々なプロセスが実行されています。psコマンドは自分が起動したプロセスの一覧を表示します。もし、全てのプロセスを表示したい場合は、ps augxwを実行して下さい。目的のプロセスを見付けるには grepコマンドを用いると便利です。

$ ps augxw | grep kterm
root     29976  0.0  0.7  3204  1832   ?   S    09:54   0:00 kterm 
root     29977  0.0  0.6  3108  1736   ?   S    09:54   0:00 kterm 
          

実行中のプロセスの状態を逐次見たい場合はtopコマンドを用います。

ディレクトリ /proc

CPUやデバイスなどシステムの状態はディレクトリ /procに書かれます。catコマンドなどを使って次のファイルを見て下さい。

[注] 「/proc」は仮想ファイルシステムと呼ばれ、ハードディスクなどの物理的なリソースは消費しません。

$ cat /proc/cpuinfo            CPUの情報
$ cat /proc/meminfo            メモリの情報
$ cat /proc/swaps              スワップ領域の情報
$ cat /proc/ioports            I/Oポートの情報
$ cat /proc/interrupts         割込み(IRQ)の情報
$ cat /proc/modules            カーネルモジュールの情報
$ cat /proc/sound              サウンドの情報
          
ディレクトリ/etc

システムの一般的な設定ファイルはディレクトリ/etcに置かれます。システムのバックアップやアップグレードを行う場合には、/etcを保存しておくことをお勧めします。/etcに置かれているファイルはシステム管理用のアプリケーションによって書き込まれたりします。修正を加えるには書き方をマニュアル等でよく調べてから行ってください。

conf.module
hosts
passwd
resolv.conf
          
ディレクトリ/etc/sysconfig/

システムのハードウェアに関する設定はディレクトリ/etc/sysconfig/にも書かれています。これらのファイルはシステム管理用のアプリケーションによって書き込まれますので、書き換えないようにしてください。何が書かれているかを知っておくことはよいことなので、一度見てみましょう。標準では作成されないファイルもあります。

ファイル名 書かれている内容
dmtype     ディスプレイマネージャの種類 
hwconf     接続されているハードウェア   (kudzuによって生成される)
i18n       言語の指定 (LANGに"ja_JP.eucJP"が設定されている)
ime        日本語入力の方法 (かな漢字サーバ名、Canna/Wnnの指定)
ipchains   IPマスカレードの設定
iptables   パケットフィルタリングの設定
keyboard   キーボードの種類
mouse      マウスの種類
network    ホスト名、ゲートウェイの指定
network-scripts/
           ネットワークカードの設定
static-routes  ネットワークの静的なルート指定
soundcard  サウンドカードの設定
pcmcia     PCMCIAカードの設定
          

10.4.2. ファイルシステム

dfコマンド

ディレクトリやファイルを管理するシステム全体をファイルシステムと言います。ディスクの使用状況を見るには、dfコマンドを使います。

$ df
ファイルシステム  1k-ブロック   使用中     空き  使用%  マウント場所
/dev/hda1            1492311    955030   460171   67%   /
/dev/hda5            1981000   1246384   632204   66%   /export
/dev/hda6             995115    163100   780609   17%   /home
          
マウント

/etc/fstab が変わっているので、マウントする方法も変わります。

Vine 4.0 からは GNOME で Auto Mount を利用できるようにするために、 /etc/fstab の /dev/cdrom 等の記述がなくなっているので、 従来のように mountコマンドを用いる方法では、一般ユーザーは利用できません。 また、従来のように /etc/fstab を用いて一般ユーザーでも mount できるようにする方法は説明しますが、 この方法を用いることは推奨しません

マウントするには、gnome-mount というパッケージに入っている gnome-mount , gnome-umount というコマンドを用います。

gnome-mount,gnome-umount は X Window System (GNOME) を起動していない状態でも使用できます。

マウントするにはそれぞれ次のようにします。

$ gnome-mount -t -d /dev/cdrom
gnome-mount 0.4
Resolved device file /dev/cdrom -> /dev/hdc
Mounted /dev/cdrom at "/media/cdrom"

$ gnome-mount -t -d /dev/floppy-fd0
gnome-mount 0.4
Resolved device file /dev/floppy-fd0 -> /dev/fd0
Mounted /dev/fd0 at "/media/floppy"

/media/cdrom/media/floppy などのように /media以下に適当なディレクトリが作成されマウントされます。

-t オプション はマウント先などを表示するためのオプションです。

GNOME 上であれば、/media/Vine Linux 4.0 for IA32 のようにメディアの名前が利用されます。また、コンソールであれば /media/cdrom になるなどマウント場所はかわります。

マウントを解除(アンマウント)するにはそれぞれ次のようにします。

$ gnome-umount -t -d /dev/cdrom
gnome-mount 0.4
Resolved device file /dev/cdrom -> /dev/hdc
Unmounted /dev/hdc.

$ gnome-umount -d /dev/floppy-fd0
Resolved device file /dev/floppy-fd0 -> /dev/fd0
Unmounted /dev/fd0.

gnome-mount を gnome-umount にします。

注意

CD-ROMやフロッピーディスクなどをマウントした場合は、取り出す前に必ずアンマウントしてください。 ファイルを書き変えたりした場合など、アンマウントせずに取り出すとファイルやメディアが壊れる可能性があります。 また、マウントを解除するまでは CD-ROMドライブ等のEJECTボタンを押してもCD-ROMを取り出すことはできません。

VinePlus にある pmount というパッケージを利用することもできます。 このパッケージは GNOME に依存していないので、GNOME をインストールしていない場合でも利用できます。

マウントする場合は次のようにします。

$ pmount /dev/cdrom
$ pmount /dev/fd0

gnome-mount と同様に、/media 以下で /media/cdrom , /media/fd0 などが自動的に作成されマウントされます。

UDF-fs: No VRS found

や (フロッピーをマウントする時に)

Unable to identify CD-ROM format.

といったメッセージが出るようですが、問題ないようです。

マウントを解除する場合には次のようにします。

$ pumount /dev/cdrom
$ pumount /dev/fd0

従来のように一般ユーザーで mount コマンドを利用したいのであれば、 floppy や cdrom について次のように /etc/fstab に記述してください。

/etc/fstab にデバイスを書いてしまうと GNOME での Auto Mount ができなくなるのでこの方法は推奨しません

/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu,iocharset=euc-jp 0 0
/dev/cdrom              /mnt/cdrom              iso9660 noauto,owner,kudzu,ro,iocharset=euc-jp 0 0

USB FDD の場合は /dev/fd0 ではなく /dev/sda などになっていることがあります。

/dev/sda                /mnt/floppy             auto    noauto,owner,kudzu,iocharset=euc-jp 0 0

また、この方法では、root権限で # mkdir -p /mnt/cdrom などのようにマウントポイントを作成しておく必要があります。

GNOME での Auto Mount を無効にするには GNOME のメニューから デスクトップ 設定 リムーバブル・デバイスとメディア を選択し、リムーバブル・ドライブとメディアの設定を起動します。(GNOME端末からは gnome-volume-properties というコマンドで起動できます。)

ストレージというタブのリムーバブル・ストレージのメディアが挿入されたらマウントする(I)というところのチェックをはずします。

図 10.1. GNOME の Auto Mount を無効に

GNOME の Auto Mount を無効に

現在マウントされているデバイス等を確認するには mount コマンドを使います。

$ mount
/dev/hda2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /proc/bus/usb type usbfs (rw)
/dev/hda1 on /boot type ext3 (rw)
/dev/hda3 on /home type ext3 (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw)
/dev/hdc on /mnt/cdrom type iso9660 (ro,nosuid,nodev,iocharset=euc-jp)
	  
fsckコマンド

ファイルシステムが壊れた場合は、fsckコマンドである程度修復することができます。マウントしているファイルシステムに対しては行わないで下さい。

mount コマンドでデバイスがマウントされているかどうか確認できます。ただし、mount コマンドの -n オプションをつけてマウントされたデバイスについては mount コマンドでは確認できません。/proc/mounts の内容も確認してください。cat /proc/mounts

# fsck /dev/hda7
          

10.4.3. ネットワーク

ifconfigコマンド

ネットワークに接続されている場合、しばしば不通になることがあります。そのときにはネットワークの状態を調べる必要があります。ifconfigコマンドはIPアドレスやネットマスクの表示や設定を行えます。

# /sbin/ifconfig -a
eth0      リンク方法:イーサーネット  ハードウェアアドレス 00:02:2D:49:64:4A 
          inetアドレス:192.168.0.1 ブロードキャスト:192.168.0.255 マスク:255.255.255.0
          UP BROADCAST RUNNING  MTU:1500  Metric:1
          RX packets:711620 errors:0 dropped:0 overruns:0 frame:0
          TX packets:317441 errors:0 dropped:0 overruns:0 carrier:0
          衝突(Collisions):0 TXキュー長:100 
          RX bytes:376843112 (359.3 Mb)  TX bytes:116872928 (111.4 Mb)
          割り込み:3 ベースアドレス:0x100 

lo        リンク方法:ローカルループバック  
          inetアドレス:127.0.0.1マスク:255.0.0.0
          UP LOOPBACK RUNNING  MTU:3924  Metric:1
          RX packets:336146 errors:0 dropped:0 overruns:0 frame:0
          TX packets:336146 errors:0 dropped:0 overruns:0 carrier:0
          衝突(Collisions):0 TXキュー長:0 
          RX bytes:128810518 (122.8 Mb)  TX bytes:128810518 (122.8 Mb)
          

eht0がetherのデバイスを示します。また、「inetアドレス」がIPアドレスを示します。

netstatコマンド

設定に問題が無い場合は通信経路を調べる必要があります。netstatコマンドではルーティング(経路)を知ることができます。

$ netstat -nr
カーネルIP経路テーブル
送信先サイト    ゲートウェイ    ネットマスク   フラグ   MSS Window  irtt インターフェース
192.168.0.0     *               255.255.255.0   U         0 0          0 eth0
127.0.0.0       *               255.0.0.0       U         0 0          0 lo
default         192.168.0.1     0.0.0.0         UG        0 0          0 eth0
          
pingコマンドとtracerouteコマンド

pingコマンドは相手のホストまで、きちんと通信が行えるか調べることができます。応答時間が帰ってくれば繋がっています。止めるには Ctrl-cを押します。

$ ping vinelinux.org
PING vinelinux.org (210.81.181.125) 送信元 192.168.0.1 : 56(84) bytes of data.
64 バイト応答 送信元 rh.vinelinux.org (210.81.181.125): icmp_seq=0 ttl=245 時間=13.343ミリ秒
64 バイト応答 送信元 rh.vinelinux.org (210.81.181.125): icmp_seq=1 ttl=245 時間=15.611ミリ秒

--- vinelinux.org ping 統計 ---
送信パケット数 2, 受信パケット数 2, パケット損失 0%
Round-Trip 最小/平均/最大/mdev = 13.343/14.477/15.611/1.134ミリ秒
          

tracerouteコマンドを用いると途中の経路まで分かります。

# traceroute vinelinux.org
traceroute to vinelinux.org (210.81.181.125), 30 hops max, 38 byte packets
 1  ....
 :
12  rh.vinelinux.org (210.81.181.125)  15.281 ms  49.446 ms  20.517 ms
          

pingtracerouteを実行したときに、時間がかかる場合は、ネームサーバの設定がおかしい可能性があります。/etc/resolv.confの nameserver にネームサーバのIPアドレスが設定されているか確認してください。