技林TOP > 自宅サーバ構築メモ > Vine Linux はじめの一歩


≫ログインと起動モード

起動したら、ユーザ名とパスワードを入力してログインします。root もしくは、インストール時に作成したユーザ名とパスワードを使用します。

Vine Linux X.X (La Fleur de Bouard)
Kernel X.X.XX-XvXX on an i686

localhost login: ユーザ名
Password: パスワード(入力しても表示されない)


パスワードは、入力中は画面上に何も変化がおきませんが入力できています。入力途中で訂正はできませんので、打ち間違えたらもう一度です。

ログインできると、以下の様に最後にログインした日にちや時刻やマシンの情報が表示され、コマンド待ちの状態になります。

Last login: Fri Jun 27 07:06:27 on tty1
[admin@localhost admin]$ _


もし、メールが到着していると、その旨メッセージが出たりもします。
コマンドを入力して作業(コンピュータ操作)するのをコンソール作業と言いったりします。

≫X window system

Unix や Linux と聞くと、未だにコマンドをちまちま打ち込んで作業をするイメージがあるかもしれませんが、最近ではマイクロソフトの Windows のような GUI 環境が整いつつあります。

KDE や GNOME といったソフトがそれなのですが、俗に X window system と言います。コンソールで

#> startx


ぱらぱらっと画面に文字列が表示されたかと思うとぱっと真っ黒な画面になって、しばらくするとグラフィカルな画面が表示され、それらしいデスクトップが表示されましたか?

表示されればOKですが、ディスプレイの設定がまずいと、エラーがどばーっと画面に表示されて止まってしまいます。

もしも、エラーになった場合はディスプレイの設定をします。

#>kon
#>Xconfigrator


指示に従って、自分の環境を選択していきます。

ダイ@管理人の場合、このディスプレイの設定にかなりてこずりました。のべ3日くらいはディスプレイの設定のみと格闘し続けたような記憶があります。いくら自分の環境通りの機器を選択してもうまくいかず、最後の最後、やけになって適当(でたらめ)に選択してみたら、あら、不思議。綺麗に X が立ち上がるは解像度も高解像度で表示されるはとあっけない思いをしたものです。

ただ、ぶっちゃけてしまうと、実はこの X 上ではほとんど作業しません。たぶん Linux をクライアントマシンとして利用するなら別として、サーバマシンとして使うのなら、コンソールでの作業が大半です。後述しますが最近では Webmin という便利なツールもありますし…。

したがって、もしもどうやっても X が立ち上がらないという場合も、落ち込む必要はありません。ほっておけばいいのです。コンソール上で kon と打って日本語が化けずに表示できれば充分です。

≫アップデート

さて、X が立ち上がった人も、うまくいかず諦めた人も、インストールしたらまずやるべきことがあります。

それは、もろもろのアップデートです。

最新のディストリビューションをインストールしたとしても、含まれる此処のパッケージやライブラリはバージョンアップしていることが多くあります。バージョンアップの理由は、不具合の修正であったりセキュリティの向上であったりと様々ですが、ひとまず、まるっと最新のものにアップデートしましょう。

#>apt-get update
#>apt-get upgrade


それぞれ実行にはしばらく時間がかかります。
また、このコマンドは root でないと実行できないので、予め root でログインするか、su コマンドで一時的に root になります。こういった、root でないと実行できないコマンドはけっこう頻繁に登場します。しかし、普段はユーザでログインして作業することをオススメします。なぜなら、root で作業をしていてウィルスやトロイにひっかかった場合、取り返しがつかない可能性があるからです。

≫サーバの状態を見るコマンド

アップデートが終了したら、簡単なコマンドを実行してみましょう。
化けたら kon です。

#>uptime


uptime というコマンドはサーバマシンの稼動状況を表示するコマンドです。

午前02時49分 稼働 9日間, 5時39分, 1 ユーザ, 負荷平均率: 0.00, 0.00, 0.00


現在時刻 稼働日数, 時間, ログイン中のユーザ数, 負荷平均率: 過去1分の平均負荷, 過去5分の平均負荷, 過去15分の平均負荷

サーバマシンというのは、特に Unix/Linux の場合は、マシンの再起動ということはほとんど行いません。
何かトラブルが起きてもトラブルの起きたプロセスをなくすことなどでほとんど解決してくれます。また、何らかのプロセスがOSごとダウンさせてしまうということもあまりありません。安定稼動状態にあり、また管理が行き届いていれば数百日という単位で連続稼動します。
ダイ@管理人の経験では、サーバ実機のコンソールが全く操作不可能になった状態でも、クライアントPCから SSH でログインして実機のコンソール作業を復帰させたという経験があります。

よくサーバがダウンしたという表現を見ますが、たいていはサーバ自体は生きていて、ダウンしているのはサービス(のいちプロセスだったりということも)という状態です。

#> df -m


df はハードディスクの構成や使用状況をチェックするためのコマンドです。-m オプションをつけて、容量をメガバイト単位で表示します。


ファイルシステム    1M-ブロック   使用中      空き 使用% マウント場所
/dev/hda5                  372        77       276  22% /
/dev/hda1                   45        12        31  27% /boot
/dev/hda3                10045        52      9483   1% /home
/dev/hda2                27479      1295     24788   5% /usr
/dev/hda6                  251        91       147  38% /var


インストール時に指定したハードディスク構成になっているかとか、容量が苦しい個所はないかとチェックします。
apt-get update と apt-get upgrade した直後だと、/var の容量がカツカツかもしれません。そういう時は

#> apt-get clean


としてみましょう。

ハードディスク内のディレクトリは1階層目以降おおまかに役割が決まっています。

ディレクトリ名解説
/etcソフトの設定ファイル(*.conf)はここに置かれることが多い
/bin基本ソフト(ls など)
/sbin管理ソフト
/homeFTP や HTTPd 用
/varログ、メールスプール等が書き込まれる
/var/logログを入れるとこ
/usrユーザが使うソフト
/usr/sbin管理ソフト
/usr/local/自分たちで入れたソフト


たいてい /home や /var の容量を監視していれば他が急激に増えたりということはあまり無いと思います。

ハードディスクの次は、メモリです。

#> free -m


free はメモリの使用状況を表示します。


              合計     使用済   空き領域   共有領域    バッファ キャッシュ
Mem:           217        200         17          0         57         61
-/+ バッファ:              82        135
Swap:          447          0        447


Linux は低スペックのパソコンでもサクサク動くと言われますが、搭載メモリ量が少ないと、そのうち Swap というハードディスク上の仮想メモリを使用しはじめます。Swap は通常のメモリよりもアクセスに時間がかかるため、使用し始めるとサーバのパフォーマンスが若干低下します。

ただし、Linux は、常時使わないメモリ領域を Swap に押し込んだりとパフォーマンスの低下を防ぐような機構を持っていますので、あまり心配の必要はないかもしれません。

ただ、Swapを喰っている状況はサーバ的にあまり良い状態ではないと思います。メモリもそれほど高くなくなってきているので稼動状況に合わせた量を積んで上げましょう。

free で確認していると、起動直後はほんの少ししか使用していなかったのに、稼動しつづけていくたびに空き容量が減っていき、Swapに食い込み始める「かもしれない」というような状況に出会うかもしれません。
これは、Linuxが基本的にパフォーマンス優先でメモリを使えるだけ使用することと、free で表示される使用済みの値が「確保している最大値」であり、現在「使用中の値」ではないということからくる錯覚です。正常なプロセスは終了時にメモリをきちんと解放します。

劇的に稼動状況が悪化するような変化がない限り、一定の数値で安定するので安心してください。

ただし、メモリの搭載量が物理的に不足し過ぎている場合や、不良プロセスによってメモリが不正に消費されている場合もありますので、注意しましょう。

#> top


top は、サーバの稼動状況とプロセスのリストを同時に見ることができるコマンドです。

q を入力するとコマンドを終了できます。
M を入力するとメモリ使用量順にプロセスを並び替えられます。
T を入力すると時間順にプロセスを並び替えられます。
h を入力するとヘルプが見れます。

#> ps -aux | less


ps は実行プロセスに関する情報を得るコマンドです。ここはおまじないと思って -aux オプションを付けて実行してみてください。結果表示が1画面に収まりきらないので、| less を付けてページ毎に表示するようにします。| more でも同じような結果が得られます。

| で命令をつなぐことをパイプと言います。

ps -aux だけで実行してみましょう。ずらーっと結果が表示されたと思います。その結果を | パイプでつないで less というコマンド(?)に渡します。すると、結果が1ページ毎の表示になります。
これは、他のコマンドでも表示が長くなる時はいつでも使えますので、覚えておきましょう。

≫プロセスの停止

ps コマンドで表示されるものの意味は以下の様です。

項目名解説
USERプロセスを起動したユーザ
PIDプロセスID
%CPUプロセスのCPU使用率
%MEMプロセスのメモリ使用率
VSZ仮想セグメント占有状況
RSS物理メモリ占有状況
TTYプロセスを起動した環境
STAT実行状態(R=実行可能, S=スリープ)
STARTプロセスを起動した時刻
TIMEプロセス実行時間
COMMANDプロセスを起動した時の入力文字列


これらの情報をもとに、暴走していたり、不要なものを見つけて、プロセスを停止します。

#>kill PID


PID というのは、プロセス番号です。

暴走などは普通に使っていればそれほど頻発することではないので、最初のうちはプロセス停止作業自体あまり行わないかもしれませんが、トラブル時には重要な作業ですので覚えておきましょう。

ただし、プロセスがどういった役割をしているかということがわからない時や、サーバの稼動に重要な役割を果たしているプロセスが不具合の原因になっている場合は、へたにプロセスを止めたりするといっそうサーバが不安定になったりします。

最初のうちは、トラブルの発生 = 再起動 くらいのつもりでいましょう。最悪、再インストールです(´ν`)

再起動するコマンド
#>reboot


電源を切るコマンド
#>shutdown -h now


≫不要なサービスを停止

Vine Linux をインストールすると、自動的に一般的なサービスが実行されるようになっています。

サービスというのは、例えば、ウェブサーバの役目を果たす httpd(Apache) であったり、メール送信を行う postfix であったりというものです。他にも様々なサービスがあります。
これらのサービスを起動したり、停止したり、再起動するコマンドがあります。

起動
#>service サービス名 start


停止
#>service サービス名 stop


再起動
#>service サービス名 restart


例えば、httpd を起動するには
#>service httpd start

例えば、httpd を停止するには
#>service httpd stop

例えば、httpd を再起動するには
#>service httpd restart

前に書いたプロセスというのは、このサービス上で実行されているものです。
なので、例えば httpd のプロセスを全て止めても、httpdサービスは動いているので、アクセスがあると新しいプロセスが実行されることになります。

サービスはマシン起動時に自動的に起動させる設定を行えます。逆の発想で、不要なサービスは起動しないように設定しましょう。

#>ntsysv


設定例

[ ] FreeWnn
[*] anacron
[*] atd
[*] autofs
[ ] canna
[*] crond
[ ] dhcpd
[ ] gpm
[*] httpd
[ ] identd
[*] inet
[ ] ipchains
[ ] iptables
[*] keytable
[ ] kudzu
[ ] lpd
[ ] mcserv
[ ] murasaki
[ ] named
[ ] netfs
[*] network
[ ] nfs
[ ] nfslock
[ ] nscd
[ ] ntpd
[*] popper
[ ] portmap
[*] postfix
[ ] postgresql
[*] proftpd
[*] random
[*] rawdevices
[ ] routed
[ ] rsync
[ ] smb
[*] snmpd
[ ] squid
[*] sshd
[*] syslog
[ ] telnet
[ ] usbmgr
[ ] webmin
[ ] xfs
[ ] ypbind
[ ] yppasswdd
[ ] ypserv
ダイ@管理人の場合、パケットフィルタリングやポートを閉じたりといったことは、ルータでやっているので、
[ ] ipchains
[ ] iptables
はどちらも起動していません。

webmin は頻繁に使用しますので、最初は起動する設定にしておいた方が楽かもしれません。安定稼動しはじめればそれほど必要なものではないので、普段は眠らせてます(´ν`)

ちなみに、起動に関しては「ランレベル」というものの理解が必須です。

ランレベルには 1 から 6 までありますが、通常は 3 = テキストモードか 5 = グラフィカルモードのいずれかで起動します。このサイトでは、3 = テキストモードでの起動を前提としています。 5 = グラフィカルモードで立ち上がる設定にすると、起動すると X になりウザイです。常に X 上で作業するなら別として、通常は 3 = テキストモードに設定しておきます。その方がメモリやCPUにも優しいです。

ランレベルの設定は
/etc/inittab
を編集することで行います。

id:3:initdefault:

上記行の 3 がランレベルの数字です。

≫基本的なコマンド

Linux を操作していくに当たって、最低限必要なコマンドの一覧です。

コマンド名解説
lsディレクトリの内容を表示します。[ ls -l ]とすると、もっと詳しく表示されます。
cd ディレクトリディレクトリを移動します。ひとつ上に戻る時は [ cd ..]。[ cd ] だけ打つとホームに戻ります。
pwd自分のいるディレクトリパスを表示します。
touch ファイルファイルを新規作成します。
mkdir ディレクトリディレクトリを作成します。
chmod 0705 ファイルorディレクトリパーミションを変更します。
rmdir ディレクトリディレクトリを削除します。中身が空じゃないとだめ
rm ディレクトリディレクトリを中身ごと削除します。
rm ファイルフィルを削除します。
more ファイルファイルの中身を1画面ずつ表示します。エンターで次の行、スペースキーで画面送りします。Qキーで終了します。
which コマンドコマンドのパスを表示します(例:[ which perl ] [ which sendmail ] [ which gzip ])
locate ファイル名ファイル検索は find で行いますが、Vine Linux なら locateコマンドでHDDに負担をかけず素早くファイルを検索できます。


ただでたらめに、例えば、rm ファイル名 とかやっていると酷い事態に陥るかもしれませんが、ls と cd で色んなディレクトリを覗いてみるとか、特に危険はありませんので、練習にいいかもしれません。

なにより強力な、コマンドの解説表示コマンドは

#>man コマンド


で見ることができます。
英語ですが、たいして難しいことは書いてないので頑張って読みましょう。かくいう私ですが、man の英語で頼りない時は、検索エンジンで日本語リファレンスを探してます(^_^;)
(C) bayashi.net