土曜日, 4月 30, 2005

仮想端末の切り替え方

Linuxには仮想端末と呼ばれるものがあります。
といってもとても身近なものです。普通に起動してpsなんかを使ってプロセスを確認すると、うちではtty1からtty6までが確認できます。これのこと。
で、僕らは普段、知らないうちにこのうちのひとつを端末(入出力装置)として使っているわけですね。知って使ってる人もいるかとは思いますが、いちいちそんな事考えてたら気が狂いそうです。えらいです。

ひとつを使ってるということは、他も使えるんじゃないの?って疑問が起こります。そして使えます。
Ctl+Alt+F?(F1~F6)を押すと、数字に対応した端末に切り替わります。目の前にあるキーボードや画面が直接端末としてプロセッサー(も、OSで抽象化されているけど)に接続しているわけではないんですね。プロセッサーから見て端末の役割をこなしてるのはこいつら。なので仮想端末。

これを知っていると、プログラムが暴走した時なんかに役に立ちます。別の端末に切り替えて、暴走しているプロセスを殺したりできるわけです。ああ、また再起動。。。なんて考えなくてもいいわけですね。
僕がよく使うのは、Xがちゃんと起動しないときに切り替えて、戻ってくると直ってたりします。おかしいのやらおかしくないのやらわかりません。駄々こねないでよ、って感じです。
Xを起動するときにはstartxを使って自分で立ち上げるのが好みなんですが、こういうときにはXはCtl+Alt+F7に割り当てられています。要注意ですね。適当に押してりゃ気づきますけど。
あとは、いくつかのホストに同時に接続したりするときも便利です。X使ってるときならあまり関係ないけど、たまに役に立ちます。

ちなみにttyはTele-TYpewriterの略らしい。すごく近くにいるように思うけれども、二人(端末とプロセッサー)の間にはきっちりと距離があるわけですね。親しき中にも礼儀あり、といったところでしょうか。

火曜日, 4月 26, 2005

Debian GNU/Linux で awstats を使う

awstatsだと検索語がちゃんと日本語で表示されると聞いて、早速インストールしてみました。

使ってみると、訪問数・ページ数・(リクエストの)件数などがそれぞれわかるところがいい感じ。analogはページ数・件数だけだからちょっと性能アップです。ロボットやスパムを別に数えているのもいいですね。
やっぱり、検索語が日本語で表示されるのがすごくいいです。そして、今回これでわかったこと。
意外にも検索キーフレーズのトップは「吉原炎上」でした。。。微妙な気分です。少なくとも僕が狙ってたキーワードじゃない。勧められて見たんですよ。人の力って大切ですね。

ちなみにインストールはすごく簡単でした。
1. いつものようにaptでawstatsをインストール
2. LogFile="/var/log/apache/access.log"をLogFile="/var/log/apache2/access.log"に変更(うちはapache2を使ってるので)
3. LogFormat=4をLogFormat=1に変更(combinedなログに対応)
4. SiteDomain=""をSiteDomain="blogger.kumicho.net"に変更(このドメイン指定は必須)
5. awstatsのドキュメントルートで「ln -s /usr/share/awstats/icon/ awstats-icon」を実行(アイコンへのパスを通します)
6. www-dataをadmグループに追加します。rootで「adduser www-data adm」を実行するとよいです。(apacheのログを見るために必要)

ここ、すごく悩ましいんですよね。apacheのログをどうやってawstatsに見せるか。
cron.dにあるawstatsをrootで実行するのはさすがに嫌だし。残るは誰でもログを見られるようにするか、apacheの権限を強めるか。
結局、いくつかのログを見ることができるadmグループに加えて権限を強くしました。ちょっと消化不良。余談でした。

あとはawstats.plをブラウザで開けばオッケー。
これだけやったら十分見れるものになりました。
なかなかいい眺めなので、みなさんもどうぞ。

後日談:
LogFile="/var/log/apache2/access.log"

LogFile="cat /var/log/apache2/access.log.1 /var/log/apache2/access.log |"
に変更しました。
logrotateによる競合条件を避けるためです。
こういう細かい部分、結構気になるんですよね。