DVD-KNOPPIXでパーティションサイズ変更

July 28th, 2010

Thinkpad X40 2371-KJ1 
X4 UltraBase 
Pioneer DVR-XD09J
 

X40セカンドHDDのパーティション
ThinkpadX40のウルトラベースのセカンドHDDにKNOPPIXなどをインストールして遊ぶことにしよう。すでにUbuntuはインストールされている。UbuntuのGPartedでみると、X40のセカンドHDDはsdbというデバイスだ。X40本体のHDDがsdaになる。

/dev/sda 74GB
   /dev/sda1 74GB    ntfs (WindowsXP)
/dev/sdb 298GB
   /dev/sdb1 25GB    extended
     /dev/sdb5 25GB    ext4 (Ubuntu 10.04.1 LTS)
   /dev/sdb2 2GB    linux-swap
   未割り当て 270GB

270GBの未割り当て領域には、もともとWindowsXP用のドライブ(パーティション)が2つあった。そこをひとまず空にして、パーティションは削除した。LinuxOSをいくつかインストールできるようにパーティションを分割するためだ。

パーティションが追加できない
ところが、新しいパーティションがどうしても2つしか作れない。調べてみると、1つのハードディスクに基本パーティションは全部で4つしか作れないことがわかった。基本パーティションのうち1つだけは拡張(extended)パーティションにすることができる。拡張パーティションの中にはいくらでも論理パーティションが作れる。

そこで/dev/sdbの構成を確認すると、Ubuntuがインストールされているsdb5というパーティションがそっくりそのまま拡張パーティションsdb1になっていた。ということは、5つ以上のパーティションを作りたかったら、sdb5のサイズを小さくして、sdb1の余った領域にパーティションを追加しなくてはならないことになる。しかし、sdb1のサイズは25GBしかないので、とてもそんな余裕はない。

どうしてこんなことになったのかというと、Ubuntuをインストールするためにパーティションを作ったときにパーティションのことが何もわかっていなかったからだ。

拡張パーティションのサイズ拡大
なんとかして拡張パーティションsdb1のサイズを大きくしたい。しかし、Ubuntuをインストールしなおしたりするのはご免だ。UbuntuのGPartedをいじったりWindowsXPを起動してディスクの管理画面を開いたりして悩んでいるうちに、すばらしいアイディアがひらめいた。そうだ、KNOPPIXのライブDVDでGPartedを操作すればよいのだ。

外付けのDVDドライブからKNOPPIX6.2を起動してやってみたら、いとも簡単にできた。拡張パーティションsdb1のサイズを144GBに拡大して、その中にとりあえず18GBのパーティションsdb6を作成した。ここにKNOPPIXをインストールすれば、Ubuntuと同じようにKNOPPIXも起動するのではないか。さらに、拡張パーティションsdb1の未割り当て領域がまだ101GBもあるので、LinuxOS用のパーティションだったら単純計算であと5つは作れる。そんなにたくさんOSをインストールしてもだいじょうぶなのだろうか。それとも、ブート用のパーティションはいくつまでとか、やはり制限があるのだろうか。

ともかくこうして、DVD-KNOPPIXはとても便利だということがわかった。もちろんUbuntuのDVDやUSBでも同じことができたわけだが。


2010年7月28日


Thinkpad X40の登板

July 27th, 2010

Oh, when the sun beats down and burns the tar up on the roof, and your shoes get so hot you wish your tired feet were fire-proof…
(“Under the Boardwalk” by K.Young-A.Resnick)
Lavie L LL750/2Dのダウン
午前中から室温が30℃を超えている。個人的に暑いのは我慢できる。問題はパソコンだ。KNOPPIX6.2をインストールしたNECのLavie L LL750/2Dは、起動するとすぐに画面が乱れるようになった。もともとこの問題のせいで実家で廃棄されたパソコンなのだ。ちょっと気温が上がったら、やっぱりいかれてしまった。これでは当分使い物にならない。

そうでなくても、Lavie L LL750/2DにKNOPPIX6.2をインストールして使うのはたいへんだった。なにしろ、インストールには何度も失敗する。アプリケーションは満足に動かない。ブラウザはフリーズする。それをなんとか動かすために、作業はなるべくコマンドモードでおこなった。そのおかげで、Linuxコマンドの世界に足を踏み入れることができた。これは、コマンドを使うことが自己目的化してしまうくらい楽しい世界だ。もしもKNOPPIXをインストールしたのがもう少しまともなパソコンだったら、わたしはいつまでたってもいくつかのGNOMEアプリケーションとインターネット・ブラウザしか使わずにいたことだろう。ThinkpadX40にインストールしたUbuntuでそうしているように。

X40の登板
このところほとんど使っていなかったもう一台のノートパソコンを使うときがきた。IBMのThinkpadX40だ。かつてはじめてノートパソコンを買ったとき、パソコンに詳しい友人が適当に1万円ほどのThinkpadをみつくろってくれたことがある。それときにノートパソコンといえばThinkpadというすりこみが成立したようだ。そのはじめてのThinkpadについては、機種名すらわからない。なかなかパソコンが使いこなせなくてしばらくほおっておいたら、いつのまにかカビがはえた。昨年Yahooオークションで買ったX40には、以下のように相当のお金を注ぎこんでいる。カビをはやすわけにはいかない。

X40関連の主な支出(諸費用込み)
X40 2371-KJ1 PenM/1.0GHz/20G/256M/XP 13,800円
IODATA SDD333-512M/EC SODIMM DDR PC2700 512MB 2,100円
Buffalo DN333-A1G/E SODIMM DDR PC2700 1GB 4,300円
Wakamatsu ZIFコネクタ 4,200円
TOSHIBA MK8025GAL(80GB) 8,900円
ウルトラベースX4 + CD-RW/DVD + 外付けFDD 7,900円
セカンドHDDアダプター 3,100円
WESTERN DIGITAL WD3200BEVT (320GB) 6,300円

合計    50,600円

X40とウルトラベース
X40自体は安く入手できる。古い機種だからというだけでなく、1.8インチというHDDの規格に問題があるからだ。それ以外は申し分ないので、割り切って使えばよい。X40という機種に特別な思い入れがあるわけではない。たとえばHDDをSSDに換装するくらいなら、その分の予算で2.5インチHDDの機種を選んだ方がいいと思う。

ウルトラベースにも一長一短がある。せっかくX40はスリムで軽量なのに、ウルトラベースをつけたら台無しだ。わたしはウルトラベースにセカンドHDDを入れている。マルチブートにするのに、セカンドHDDにほかのOSをインストールするのが一番楽そうだったのだ。しかし、ウルトラベースをつけて持ち歩くのは重くてかなわない。

このX40とウルトラベースをせいぜい活用して、まずはKNOPPIX6.2をインストールしてみよう。


2010年7月27日 ▲ 


TeraPadの文字カウント

July 10th, 2010

このブログの記事の原稿は、たいていWindowsXPのデスクトップパソコンから、TeraPadというテキストエディタで書いている。以前WindowsでVIMを使おうという記事を書いたが、とっくに挫折した。

TeraPadには編集モードというものがあって、プログラムを書くときに便利そうだ。わたしはプログラムが書けない。このWordPressのブログはXHTMLやCSSに準拠しているが、わたしにはヘッダーやスタイルシートを編集する権限がない。しかし、記事内にタグを貼りつけるだけでも、HTMLモードにするとタグが色つきで表示されるので、たいへん見やすくなる。

TeraPadに文字カウントが必要になったので、それらしいツールをインストールした。

DELL OptiPlex GX270 Small Desktop
Windows XP Professional SP3
  ・TeraPad 0.91
     ・WideStrCounter 0.07
     ・文字列カウント For TeraPad 1.0
         ・mfc70.dll
         ・msvcr70.dll

WideStrCounterのインストール

1.ダウンロードしたフォルダごと、ProgramFilesのTeraPadのフォルダに入れる。
ほかの場所でもかまわない。

2.TeraPadの[ツール]>[ツールの設定]>[追加]から、[ツールの編集]を開いて設定する。

(1) 「名前」は、「文字カウント(&W)」とつけた。
名前に(&W)をつけると、ツールメニュー([Alt]+t)からショートカットキー(w)で文字カウントが実行できるようになる。

(2) 「実行ファイル」は、エクスプローラ画面からWSC.exeを選ぶ。

(3) 「コマンドラインパラメータ」は、「/m」にした。
ここに何かオプションを入れておかないと、文字数がカウントされない。

それ以外は設定しなくても使用できる。

文字列カウント For TeraPadのインストール

1.ダウンロードしたフォルダごと、ProgramFilesのTeraPadのフォルダに入れる。
ほかの場所でもかまわない。

2.TeraPadの[ツール]>[ツールの設定]>[追加]から、[ツールの編集]を開いて設定する。

(1) 「名前」は、「文字列カウント(&Q)」とつけた。
(&Q)は、WideStrCounterの設定の応用。

(2) 「実行ファイル」は、エクスプローラ画面からTeraCount.exeを選ぶ。

それ以外の設定は必要ない。

3.これでエラーが表示される場合、おそらくDLLファイルをインストールしなければならない。

(1) 次のメッセージが出たら、mfc70.dllをインストールする。

MFC70.DLLが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。

このことはREADMEにも書かれている。ただし、作者ホームページのリンクが切れているので、mfc70.dllを自分でさがさなければならない。ダウンロードしたmfc70.dllによっては、次のエラーメッセージが表示されるかもしれない。

アプリケーションまたはDLL C:¥WINDOWS¥system32¥MFC70.DLLは正しいWindowsイメージではありません。これをインストールディスクのファイルと照合してください。

dll-files.comからダウンロードしたDLLファイルでやったらうまくいった。

ダウンロードしたファイルを解凍してmfc70.dllを取り出し、C:¥WINDOWS¥system32に入れる。
¥マークは全角で代用している。Windowsの再起動はしなくてもだいじょうぶだった。

(2) 次のメッセージが出たら、msvcr70.dllを同じようにインストールする。

MSVCR70.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。


2010年7月10日 ▲ 


ログファイルのローテーション(2)

July 3rd, 2010

« KNOPPIXのログを見る

B.タイマー起動による自動ローテーション

決まった時間になるとログファイルのローテーションが自動的におこなわれるように設定してみよう。

1.cronの自動起動

/etc/rc.localファイルの末尾に次の一行を追加する。

sudo /etc/init.d/cron start

端末からviエディタで編集するのが簡単だ。

$ su
# vi /etc/rc.local
i      ・・・挿入モード
[Esc]  ・・・コマンドモード
:wq   ・・・上書きして終了

cronというのは、プログラムのスケジューラだ。cronを起動しておくと、毎時、毎日、毎週、毎月の特定の時間に、特定のプログラムが実行される。

2.crontabの設定

cronのスケジュールは、/etc/crontabファイルに書かれている。KNOPPIX6.2のデフォルトでは、次のようになっていると思う。

# m h dom mon dow user   command
17  *  *  *  *  root   ……  /etc/cron.hourly
25  6  *  *  *  root   ……  /etc/cron.daily
47  6  *  *  7  root   ……  /etc/cron.weekly
52  6  1  *  *  root   ……  /etc/cron.monthly

毎日実行されるcron.dailyのプログラムは6時25分、毎週実行されるcron.weeklyは日曜日の6時47分に設定されている。この設定は、viなどでcrontabを編集すれば変更することができる。

わたしはcron.hourlyの行頭に#マークをつけて、毎時のスケジュールを無効にしている。それは、本末転倒のようだが、ログファイルを見やすくするためだ。

3.cron.dailyとcron.weekly

/etc/cron.dailyおよび/etc/cron.weeklyというディレクトリに、それぞれsysklogdというファイルがある。syslogdのログファイルのローテーションは、これら2つのファイルの設定にもとづいて実行される。

/etc/cron.daily/sysklogdを開くと、次のような記述がある。

for LOG in $logs
do
 if [ -s $LOG ]; then
   savelog -g adm -m 640 -u root -c 7 $LOG >/dev/null
 fi
done

savelogというのが、ログファイルのローテーションを行うコマンドだ。$LOG >/dev/nullという部分がさっぱり理解できないが、-g,-m,-u,-cのオプションについては、savelogのマニュアルページに解説がある。

$ man savelog

マニュアルページには、最新のログファイルと2番目(file.0)以外は圧縮されるということも書かれている。

gzipで圧縮されてgzという拡張子がついたログファイルは、GNOMEアプリケーションの「ログ・ビューア」なら、ふつうに開くことができる。

端末では、lessなどのかわりにzmoreコマンドを使えば表示できる。

コンソールモードでは、zmoreだとファイルの一部しか表示されないが、次のようにパイプでzmoreとlessを組み合わせることでうまく表示できた。

/var/log# zmore file.*.gz | less

savelogの-cオプションは、古いログファイルをいくつ保存するか指定する。デフォルトでは7日分だ。編集して数字を大きくすることもできる。

/etc/cron.weekly/sysklogdの記述もほとんど同じだ。デフォルトで保存されるログは4週間分なので、編集して数字を変えることもできる。

4.syslogd-listfiles

それぞれのログファイルのローテーションが、cron.dailyから行われるのかcron.weeklyから行われるのかということは、syslogd-listfilesというコマンドで確認できる。

$ syslogd-listfiles
 
/var/log/syslog

$ syslogd-listfiles –weekly
 
/var/log/usr.log
/var/log/daemon.log
/var/log/messages
/var/log/debug
/var/log/mail.log
/var/log/auth.log
/var/log/lpr.log
/var/log/kern.log
/var/log/cron.log

syslogd-listfilesのオプションについての解説は、マニュアルページに書かれている。

$ man syslogd-listfiles

オプションなしで表示された/var/log/syslogは、cron.dailyからローテーションが実行される。–weeklyオプション(ハイフン2つ)で表示されたそれ以外のログファイルは、cron.weeklyから実行される。

この設定は、cron.weeklyファイルの次の記述に関係している。

logs=$(syslogd-listfiles –weekly)

そこで、たとえば–weeklyオプションの部分を変更することで、すべてのログファイルのローテーションをcron.weeklyから実行することもできそうだ。それには、–weeklyを-aに変えればいいはずだ。さらに、/etc/cron.daily/sysklogdの設定は無効にした方がいいだろう。

syslogd-listfilesのdailyとweeklyの区分を変更する方法については、どうしたらいいのかわからない。


C.手動起動による自動ローテーション

savelogとsyslogd-listfilesのしくみがわかれば、cronなしでもログファイルのローテーションを実行することができる。

ログファイルのローテーション目的以外にcronを起動しておく理由がなければ、/etc/rc.localのcronの起動設定は無効にしてしまおう。cronのスケジュールが実行されると、わたしのパソコンなどは20分近くフリーズに近い状態が続いてしまう。

cronの起動設定を無効にするには、viなどのroot権限で/etc/rc.localファイルを開き、cronの行の頭に次のように#マークをつける。

# sudo /etc/init.d/cron start

そして、適当なタイミングでcron.dailyとcron.weeklyのsysklogdをそれぞれ手動で実行する。

cron.dailyからローテーションが実行されるsyslogの場合は、次の通り。

# /etc/cron.daily/sysklogd

syslog以外のログファイルについては、次の通り。

# /etc/cron.weekly/sysklogd

前回ためしたAの方法は勘弁してもらうとして、BとCの方法には一長一短がある*。もうしばらく試行錯誤してみよう。

* Cの方法はかなりよさそうだが、欠点もある。最大の問題は、/var/logディレクトリにあるsyslogdによるもの以外のログファイルのローテーションに対応していないことだ。それらは空だったり急に肥大化することのなさそうなファイルだが、時々チェックしなければならない。よくよく考えてみれば、これはむしろ望ましいことかもしれない。面倒くさいけれど。


今回助けられたDebianのお告げ

Debianのsyslogのローテーションがlogrotate*の設定で行われるというのは、完全に間違っています。

Debian syslog rotation is not controlled by logrotate at all, please don’t mislead the OP when you’re not sure with it. You might making him going to the wrong direction in solving this and waste a lot of his time.

(by sloganyart 07-31-2008 “How to change Debian log rotation of syslog and daemon.log” linuxquestions.org

* /etc/logrotate.conf, /etc/logrotate.d

the OPというのは誰なんだろう。himというからにはどうやら男のようだ。危ないところだったらしい。


2010年7月3日 ▲ 


ログファイルのローテーション(1)

June 30th, 2010

« KNOPPIXのログを見る

KNOPPIX6.2で、ログファイルが記録されるように設定した。そのまま放っておくと、ログファイルはディスク容量が許すかぎり大きくなっていくらしい。そこまでいかなくても、長いスクロールをしないといけないのはわずらわしい。適当なところでログファイルを分割することにしたい。さらに、古いファイルから順次削除することにすれば、スペースが圧迫される心配もなくなる。

ログファイルのローテーションには、次の3通りの方法がありそうだ。順番に試してみることにしよう。

A.完全手動のローテーション
B.タイマー起動による自動ローテーション
C.手動起動による自動ローテーション

A.完全手動のローテーション

まず、ログファイルの名前をひとつずつ変更するという原始的な方法がある。こんなやり方をしている人はいないだろうが、Linuxのファイルのしくみやコマンドの操作に慣れるためなら悪くないかもしれない。どんなやり方をしようと、その人の自由なのだ。

1.ログファイルの確認

$ cd /var/log
/var/log$ ls -l -R | less

/var/logディレクトリとそのサブディレクトリにあるファイルは、wtmpをのぞいてすべてがログファイルのようだ。たちまちふくれあがるファイルもあれば、いつまでたっても空のファイルもある。

lsコマンドにl(エル)オプションをつけることで、ファイルのサイズが確認できる。Rオプションをつけると、サブディレクトリのファイルも見渡すことができる。パイプとよばれる縦棒の|lessコマンドをつなげると、長い表示でも最初の方の途切れる心配がなくなる。lessで開いた画面は、qのキーで閉じることができる。

2.ファイル名の変更
ログが記録されるファイル名は/etc/syslog.confに指定されているので、ファイル名を変えてしまえばそのファイルにログが記録されることはなくなる。保存しておく古いログファイルにはどんな名前をつけてもよい。原始的なこのやり方で通すなら、ファイル名の末尾に年月日でも付け足しておけばわかりやすくなりそうだ。

たとえば、messagesファイルの名前を変更してみよう。

/var/log$ su
/var/log# mv messages messages.100630

あらためてlsコマンドで/var/logディレクトリの中身を確認すると、messagesがなくなって、かわりにmessages.100630ができている。

mvコマンドというのは、何かの拍子に重要なファイルを上書きしてしまう可能性がないわけではない。操作は元に戻せないので、cprmなどとともに注意の必要なコマンドだ。

3.新しいログファイルの作成
messagesの新しいログファイルは、KNOPPIXを再起動するか、sysklogdを再起動すれば、自動的に作成される。だから、結局このやり方は「完全手動」というわけではなかった。ありがたいことに。

sysklogdを再起動するコマンドは、ログを記録する設定をしたときに/etc/rc.localファイルに書き込んだものと同じだ。それが、KNOPPIXが起動するたびに実行されている。

# /etc/init.d/sysklogd restart

以上で、messagesのローテーションが完了した。しかし、同じように名前を変更しなければならないログファイルはまだまだある。どうやら、このやり方はあまり現実的でないようだ。

思うにコンピュータというのは、そのような手間を省くための道具として開発されてきたものなのだろう。一つ一つのコマンドだって十分魔法のような道具ではあるのだが、もっと手間を省くことができるものなら省かせてもらうことにしよう。


2010年6月30日 ▲ 

ログファイルのローテーション(2) »


Network Managerアプレット

June 28th, 2010

KNOPPIXをインストールしたノートパソコン、NEC LaVie L LL750/2Dは、実家で廃棄処分になろうとしていたのを引き取ったものだ。たまに里帰りしたときには、ノートパソコンらしく、無線LANでインターネットに接続している。

無線LANルータ: BUFFALO WZR2-G300N
Windows XP SP3 「ワイヤレスネットワーク接続」
KNOPPIX 6.2 「Network Manager アプレット 0.7.1」

WEPとWPA2

今回、実家の無線LANの暗号化方式がWEPになっていることにはじめて気がついた。WEPだと、バッファローAirStationのボタン一つで手軽に接続設定ができるのだが、暗号が簡単に破られてしまうらしい。そんなうかつな設定をしたのはもちろんわたしだ。すみやかにWPA2(AES)に設定しなおすことにしよう。(「WEP?AES?暗号化で無線LANを安全に使うには」)

実家で無線LAN接続をしているパソコンは、 WindowsXPのThinkPadX31だ。「クライアントマネージャ」というAirStationの接続ツールではどうしてもルータに接続できなかったので、「クライアントマネージャ」をアンインストールして、手動で接続した。(「Windows XP標準のワイヤレスネットワーク接続を使用して無線接続する方法」)それも、もともと設定したパスワードではなく、63文字に変換されたのを入力することで、ようやくつながった。無線LANルータのファームウェアを更新しないでやったのがまずかったのかもしれない。

KNOPPIXのLaVie L LL750/2Dも、Network Managerアプレットで同じようにして接続した。

コンソールモードでのネットワーク接続

もうひとつ無線LANで困惑したのは、KNOPPIXのコンソールモードでインターネットにつながらないということだ。Network Managerアプレットに頼らずにコマンドラインから接続すればいいということなのだろうか。この問題は、さんざん試行錯誤したあげく、コマンドラインからネットワークに接続するという目標が結局達成されないまま、次のようにしてあっけなく解決した。

コンソールモードでもネットワークに接続する方法:
1.タスクトレイでNetwork Managerアプレットのアイコンを右クリック
2.Edit Connections
3.Edit
4.Available to all users
5.Apply

この解決法は、Debianのフォーラムで見つかった。世の中には同じことで悩む人がいるものだ。

[Solved] Console version of Network Manager?

My wireless works without issue with network manager. However I notice that it seems to be a gui only app. That is, when i stop the display manager my laptop loses internet connectivity. The NetworkManager service is still running.
is there a commandline method of using the NetworkManager settings to start the wireless connetion?
(post by milomak 2010-02-14 Debian User Forum)

Mr.Debianが、次のように万人の悩みを見事に解決してくれた。Mr.Debianというのは、敬愛の気持ちをこめてわたしがつけたあだ名だ。これでは検索しても見つからなかったわけだ。

Re: Console version of Network Manager?

Actually if it’s set up right the connection stays up when the user logs out, in fact is initiated before the user has even logged in. This doesn’t apply to Lenny btw but in the version in Squeeze/Sid there are big improvements, so now you can just set the connection profile so that it’s available to any user and then it doesn’t matter if you’re logged in or not.
(post by julian67 2010-02-15 Debian User Forum)

ログのバグ

実は、network-manager0.7.1-2で無線LAN接続をすると、たいして重要ではなさそうな何種類かのメッセージでKNOPPIXのログがあふれかえってしまうということがわかった。この問題を解決するには、Network Managerをアップデートするか、Network Manager以外の方法で無線LAN接続するのが手っ取り早いらしい。しかし、KNOPPIXでパッケージをアップデートしようとすると面倒なことになる可能性が高いし、コマンドラインからのネットワーク接続にはまだ成功していないので、当分このNetwork Managerを使い続けることになりそうだ。

Mr.Debianによれば、Network Managerの0.7というバージョンは、それまでとくらべればかなり改善されているのだそうだ。KNOPPIX6.2のパッケージはDebianのLennyというバージョンと同一のことが多いが*、Network Managerに関してはLennyの0.6.6-3から少しバージョンアップされている。ひょっとしたら、すんなり0.8にバージョンアップできるかもしれない。

* HardInfo (System Profiler and Benchmark) というアプリケーションで確認すると、KNOPPIX6.2のOSディストリビューションは、Debian GNU/Linux squeeze/sidとなっている。つまり、lennyではなくsidがベースのようだ。


network-managerのバージョンアップ

network-managerは、0.7.1-2から0.8-1にバージョンアップすることができた。いくつかのパッケージのインストールやアップグレードが同時に行われたが、なんのトラブルもなかった。

NetworkManagerアプレットについては0.7.1のままだ。そのシステム用のパッケージ名からして、結局わからなかった。端末でapt-cache search nm-appletとすると表示されるnetwork-manager-gnomeのことなのかもしれない。しかし、network-manager-gnomeは、libfontconfig1というパッケージとの依存関係でアップグレードができなかった。

そういうときに、libfontconfig1をまずアップグレードして、それからnetwork-manager-gnomeをアップグレートしようなどと考えると、依存関係の解決されないパッケージが芋づる式に出てきて収拾がつかなくなるおそれがある。これまでに何度も同じ失敗をした。システムのバックアップをとって元の状態にかんたんに戻せるようにしてあるなら別だが、そうでなければここでやめておくのが無難だ。

追記 2010年7月4日   

2010年6月28日 ▲ 


KNOPPIXのログを見る

June 25th, 2010

ログを読むのは、システムの状態を把握する上での基本だ。KNOPPIX6.2をHDDにインストールしたら、ログが記録されるように設定したい。

わたしの場合、ログを読むというよりも、見るとか眺めるとかいった方が正確だ。つまり、何が書かれているのかほとんど理解できない。それでも、ログが見られるようにしておくのは何かと役に立ちそうだ。

システムに不具合があれば警告やエラーが表示されるので、そのメッセージをキーワードにして解決方法を探すことができる。フォーラムなどで質問するときにも、くわしい人にログを見てもらえば、不具合の状況がはっきりする。セキュリティ面でも、ログがなければ不正アクセスの監視ができない。ログに異常がないからといって安心はできないのかもしれないが。

/var/log ディレクトリの確認
ログファイルは、/var/logというディレクトリに保存される。ディレクトリの中身を確認しておこう。

$ ls /var/log

さまざまなファイルやディレクトリの中に、Xorg.0.logというファイルがある。これはデフォルトで記録されているログだ。

syslogdは起動しているようだが、関連するログファイルがみあたらない。

$ ps aux | grep syslogd
 
root …… Ss …… /sbin/syslogd

sysklogd の起動
そこで、sysklogdというプログラムからsyslogdを起動し直してみる(root権限)。

# /etc/init.d/sysklogd restart

もう一度/var/logディレクトリの中を見ると、新しいファイルができている。それらのファイル名は、/etc/syslog.confというファイルに書かれているものだ。syslog.confを開いてみよう。lessコマンドで開いた画面は、qで閉じることができる。

$ less /etc/syslog.conf

新しくできたファイルを開くと、すでにログが記録されはじめている。ためしにsyslogファイルを開いてみよう。

$ cd /var/log            ・・・/var/logディレクトリに移動
/var/log$ ls             ・・・ディレクトリの中身を確認
/var/log$ less syslog         ・・・syslogファイルを開く
q                   ・・・lessの画面を閉じる

rc.local の編集
sysklogdが自動的に起動するように、/etc/rc.localファイルを編集しておく。

まず、viエディタで/etc/rc.localを開く。

$ cd /etc
$ su
# vi rc.local

そして、rc.localファイルの末尾に、次のように一行追加する。

i                   ・・・ここから挿入モード
 
sudo /etc/init.d/sysklogd restart 
 
[Esc]                 ・・・ここからコマンドモード
:wq                  ・・・上書き保存で終了

ログ・ビューア
いろいろなログファイルがあるので、端末でひとつずつ開いていると結構手間がかかる。そんなときに便利なのが、ログ・ビューアというGNOMEのアプリケーションだ。

ログ・ビューアは、LXDEスタートメニューの[システムツール]から開くことができる。下のように端末からも起動できるが、ログ・ビューアを閉じるまで端末にプロンプトが返ってこないので、メニューから開くのがよさそうだ。スタートメニューは、マウスカーソルをあててクリックしなくても、[Alt]+[F1]で開くこともできる。

# gnome-system-log


2010年6月25日 ▲ 

ログファイルのローテーション(1) »


KNOPPIXの時刻合わせ

June 17th, 2010

HDDにインストールして間もないKNOPPIX6.2のXウィンドウのタスクバーに表示される時計が、気づいたときには半日くらいずれていた。日付は合っているのにどうしてこんなに遅れたのだろうと思いながらそのままにしてあったのを、ようやく合わせることにした。

ntpdateのインストール

まず、インターネットで検索して、やり方を調べなければならない。ほかのディストリビューションと共通したやり方が見つかった。ntpdateというコマンドで手動で合わせるのが手っ取り早そうだ。しかし、whichコマンドで探してみると、ntpdateがない。インストールされていないようだ。自動的に時刻を調整するntpdというデーモンも見あたらない。ということは、KNOPPIXには時刻を合わせる別のやり方があるのだろうか。さっぱり見当がつかないので、apt-getコマンドでntpdateをインストールすることにした。

# apt-get update
 
# apt-get install ntpdate

コンソールモードでapt-get update

じつは、Xウィンドウの端末でapt-get updateをおこなうと、パッケージリストの取得が完了できないことがある。これは、パソコンの性能の問題もあるかもしれない。パッケージリストのキャッシュの割り当てを増やすという設定もあるみたいなのだが、わたしはapt-getを実行するときに、端末ソフトでなくコンソールモードを使うことにしている。そうすると、少なくともパッケージリストの取得にかんしてはまったく問題がない。測定したわけではないが、スピードも端末より速く感じる。

LXDEの画面から、以下のようにランレベル2に切りかえて、apt-get updateとapt-get installをおこなう。init 2でなくても、3でも4でもいい。その場合、コンソールBへの切りかえは、[Alt]+[F3]や[Alt]+[F4]になる。

[Ctrl]+[Alt]+[F2]     ・・・ コンソールA
 
# init 2
 
[Alt]+[F2]           ・・・ コンソールB
 
# apt-get update 
 
# apt-get install ntpdate 
 
# init 5               ・・・ Xウィンドウ

見かけが同一のコンソール画面でも、AとBの実質はことなる。次のpsコマンドで、それぞれのプロンプトから、KNOPPIXのすべてのプロセスを表示させてみよう。psコマンドの結果をlessコマンドで表示したときは、[SPACE]キーでページを送り、qキーで閉じることができる。

# ps aux | less

プロセス数のちがいを確認しただけでも、コンソールBの軽さに納得がゆくのではないだろうか。コンソールAでは、Xが停止していないのだ。コンソールAからは、[Alt]+[F5]で、すぐにXウィンドウに復帰できる。起動していたソフトもそのままだ。次の比較も、おおざっぱなものだがわかりやすい。

# ps aux | grep x

こうして、apt-get updateとapt-get installで、めでたくntpdateをインストールすることができた。バージョンは1:4.2.2.p4+dfsg-2etch4だった。

時刻合わせ

まず、dateコマンドでKNOPPIXの時計を表示してみよう。

$ date

続いて、国内の代表的なNTPサーバを指定して、root権限で時刻を合わせる。

# ntpdate ntp.nict.jp

手動でKNOPPIXの時刻を合わせるのは、WindowsXPで時刻を合わせるのとくらべるとはるかに簡単だった。かつて、パソコンの電池が切れたのを放っておいたために、WindowsXPを起動するたびに時刻と年月日を合わせなくてはならなかったことがあるのだ。それともひょっとしたら、Windowsでもやろうと思えばコマンドプロンプトから同じようなことができるのだろうか。


ハードウェア時計の時刻合わせ

Linuxシステムには2種類の時計が使われている。1つは上にのべたシステムの時計(System Clock)で、もう1つはハードウェアの時計(Hardware Clock)と呼ばれるものだ。ハードウェア時計は、システムが起動していなくても電池で動いている。Knoppixを起動すると、ハードウェア時計に合わせてシステム時計が再開する。これがハードウェア時計の役割だ。システム時計を合わせたら、ハードウェア時計も合わせておこう。

hwclockというコマンドを用いるが、これはKNOPPIXにインストールされている。whichコマンドでパスが表示される。

$ which hwclock

root権限で、ハードウェア時計の現在時刻を確認してみよう。

# hwclock -r

続いて、ntpdateコマンドで正確に合わせておいたシステム時計に、ハードウェア時計を合わせる。utcオプションには、ハイフンが2個ついている。

# hwclock -w –utc

ハードウェア時計はどうしてもずれるので、期間をおいて何度か時刻合わせをする必要がある。時刻合わせを実行する前にadjustというオプションでhwclockコマンドを実行しておくと、ずれが補正されるようだ。くわしいことがhwclockのマニュアルページに書かれている。

9時間のずれ

もしもKNOPPIXの時計がきっかり9時間ずれているとしたら、時計がくるっているのではなく、UTC(協定世界時)の時刻が表示されているのだと考えられる。日本に在住していればタイムゾーンを東京に設定するが、そのローカルタイム(JST)はユニバーサルタイム(UTC)よりもちょうど9時間進んでいるのだ。時計の遅れを正確に確認しておかなかったので、もしかしたら自分のKNOPPIXはそうだったのではないかと思うだけだ。そのうちにどうせまた失敗をやらかしてKNOPPIXを再インストールすることになるだろうから、その時にチェックすることにしよう。

タイムゾーンの再設定が必要なら、次のようにすればできる。画面にしたがって、Asia, Tokyoを選べばよい。

# dpkg-reconfigure tzdata

KNOPPIXのログに記録される時刻は、システム時計によるものとハードウェア時計によるものとが混在している。デフォルトのハードウェア時計は、ローカルタイムのタイムゾーンにかかわらずUTCだ。/etc/default/rcSというファイルに設定が書かれている。UTC=yesという行のyesをnoに書きかえてローカルタイムにすることもできるが、UTCで問題はなさそうだ。

# vi /etc/default/rcS

UTC=yes

ハードウェア時計をUTCに設定しておくなら、hwclockコマンドでハードウェア時計を合わせるときに、utcのオプションをつけた方がよい。そうすることで、ログの日付や時刻がところどころで9時間逆戻りするという奇妙な現象を解消することができた。

更新 2010年6月20日   

2010年6月17日 ▲ 


KNOPPIX6.2にVNC接続 (SSH転送)

June 13th, 2010

WindowsXPからKNOPPIX6.2にリモート接続する方法として、VNCというものがある。SSHが端末で操作するのに対して、VNCではKNOPPIXのXウィンドウが表示されて、マウスカーソルで操作することができる。ただ、VNCにはセキュリティ上の不安[1]がある。そこで、暗号化されているSSHのトンネルを使ってVNC接続をしてみよう。


環境
NEC LaVie L LL750/2D
KNOPPIX 6.2
無線LANルータによる有線接続
openssh-server 1:5.1p1-5
x11vnc 0.9.8-2

DELL OptiPlex GX270 Small Desktop
Windows XP Professional SP3
同じ無線LANルータによる有線接続
TeraTerm 4.66
TightVNC 1.3.10


手順
1.SSHのインストールと接続
2.VNCのインストールと接続
3.SSH転送によるVNC接続


1.SSHのインストールと接続

別の記事で紹介したので省略(「KNOPPIX6.2にSSH2リモート接続」)


2.VNCのインストールと接続

(1)TightVNCのインストール[Windows側]

ダウンロードページ(日本語): sourceforge.jp
ダウンロードファイル: tightvnc-1.3.10-setup.exe
ダウンロードページ(英語): tightvnc.com

英語のダウンロードページtightvnc.comにはベータ版が出ているが、わたしは日本語サイトsourceforge.jpから、tightvnc-1.3.10-setup.exeをダウンロードした。

インストールで難しいところはない。WindowsからKNOPPIXに接続する場合、必要なのはTightVNC Viewerだけなので、TightVNC Serverはインストールしなくてもいいかもしれない。

(2)x11vncのインストール[KNOPPIX側]

VNCサーバとなるx11vncは、KNOPPIX6.2にはじめからインストールされている。バージョンを確認しておこう。

$ dpkg -l x11vnc
.
ii x11vnc  0.9.8-2  VNC server to allow remote access to an existing X session.

apt-cacheコマンドでアップデートを確認すると0.9.9-1というバージョンが表示されるが、アップデートはしていない。新しいバージョンと依存関係のあるlibc6をはじめとするライブラリファイルも同時にアップデートしなければならないので、収拾がつかなくなる可能性が高いからだ。

(3)x11vncのパスワード設定[KNOPPIX側]

パスワードなしでx11vncを起動すると、警告が表示される。この警告を表示させないオプションもあるようだが、パスワードはぜひとも設定しておきたい。(「パスワードの作り方、Google方式」journal.mycom.co.jp)

$ x11vnc -storepasswd
.
Enter VNC password:
Verify password:
Write password to /home/knoppix/.vnc/passwd? [y]/n

パスワードの保存先を確認してくるので、yを入力すればよい。

/home/knoppix/.vnc/passwdファイルには、入力したパスワードがそのまま書き込まれるわけではない。ホームディレクトリからviで開いてみると、[noeol][変換済]と表示されており、意味不明な記号が書かれている。viを閉じるには、:qと入力して[Enter]キー。

~$ vi .vnc/passwd  

~/.vnc/passwdファイルのパーミッションも確認しておこう。ユーザknoppixだけに読み書きが許可されているはずだ。

~$ ls -l .vnc
.
-rw——- 1 knoppix knoppix  ……  passwd

(4)x11vncの起動[KNOPPIX側]

x11vncのコマンドでx11vncサーバが起動するが、パスワードを使用するオプションをつける場合、次のように入力することになる。

$ x11vnc -rfbauth /home/knoppix/.vnc/passwd
.
The VNC desktop is Microknoppix:0
PORT=5900

いくら待っても端末にプロンプトが返ってこないのは、異常ではない。この状態からx11vncを終了するには、Ctrlキー+Cキー。

端末が使いたかったら、もう一つ起動すればよい。psコマンドで、x11vncのプロセスを確認しておこう。

$ ps aux | grep x11vnc
.
knoppix 3573 …… x11vnc -rfbauth /home/knoppix/.vnc/passwd

3573という数字はx11vncのプロセス番号で、その都度変化する。この番号から、root権限のkillコマンドで、x11vncを強制終了することもできる。

# kill -9 [プロセス番号]

nmapコマンドで、vnc接続用のTCPポートが開いたことを確認しよう。

$ nmap localhost
.
5900/tcp open vnc

なお、デフォルトのnmapコマンドでは、TCPのポートが表示されている。vncやsshはTCPの通信規格なので、それらのサーバが起動していればこのコマンドで表示されるのだが、たとえばUDPのポート状況を確認するためには、別のオプションをつける必要がある。

(5)x11vncの自動起動[KNOPPIX側]

前回記事のsshと同じ要領で、x11vncも自動起動の設定ができる。/etc/rc.localの末尾に、次の一行を追加すればよい。改行を入れてはならない。sudoは必要ない。

/usr/bin/x11vnc -rfbauth /home/knoppix/.vnc/passwd -auth /home/knoppix/.Xauthority -display :0 -allow 192.168.**** -forever
.

-allow 192.168.****のアスタリスクの部分は、実際にはプライベートIPアドレスの数字が入っている。-allowは、特定のIPアドレスのクライアントからの接続だけを許可するという、強力なオプションだ。

-foreverオプションは、vnc接続を切断してもx11vncサーバが停止しなくなる。

-displayオプションは、なくても問題なさそうだが、起動がスムーズでまちがいがなくなる。

-authオプションは、エラーメッセージが出たときにその指示に従ってつけ足したものだ。

11xvncのオプションについては、manコマンドで長大なマニュアルページの解説を読むことができる。

$ man x11vnc

長いオプションを毎回入力するのはたしかに面倒なことだ。しかし、たいして必要がないのにx11vncの自動起動を設定しておくのは、セキュリティ上好ましいことではない。vnc接続をひと通りためして満足したら、行頭に#をつけてコメントアウトしておこう。

(6)オプション入力の省略[KNOPPIX側]

/etc/rc.localに頼らなくても、ユーザのホームディレクトリに.x11vncrcというファイルを作り、そこに必要なオプションを書いておけば、オプションを毎回入力する必要がなくなる。このことは、x11vncのマニュアルページの最初の方に書かれている。次のようにviで新規ファイルを作成し、そのまま編集する。

~$ vi .x11vncrc
.
i     ・・・ここから編集(挿入)モード
.
rfbauth /root/.vnc/passwd
auth /home/knoppix/.Xauthority
display :0
allow 192.168.****
forever
.
[Esc]   ・・・ここからコマンドモード
:wq

さきほど/etc/rc.localでは一行にまとめたオプションを、/home/knoppix/.x11vncrcではオプションごとに改行して書き出している。オプションの頭のハイフンは、つけてもつけなくてもよい。

これでVNCサーバが簡単に起動できるようになった。

$ x11vnc

なお、.x11vncrcファイルで設定したオプションを無効にしてx11vncを起動したいときには、端末でx11vncコマンドを入力するときに、-norcというオプションをつければよい。

(7)TightVNC接続[Windows側]

KNOPPIX側でx11vncが起動していることを確認した上で、TightVNC Viewerを起動する。

[VNC server]のボックスにKNOPPIXのローカル[グローバル]IPアドレスを入れて、[Connect]ボタンを押す。設定がうまくできていれば[Password]のボックスがあらわれるので、x11vncのパスワードを入力して[OK]する。すると、Microknoppix:0というウィンドウがあらわれ、KNOPPIXのXウィンドウの画面が表示される。


^ SSH転送によるVNC接続

(1)SSH転送の設定

まず、TeraTermを起動する。接続はキャンセルする。TeraTermVTのウィンドウのメニューの[設定]から[SSH転送]>[追加]で下の図のようなウィンドウが開くので、以下の要領で入力する。

[ローカルのポート]に入れる番号は、[ポート]に入れる番号と同じでいいみたいだ。

[リモート側ホスト]には、KNOPPIX自身のIPアドレスを入力する。x11vncサーバからみるとVNCサーバは同じマシンにあるので、自分自身を転送先アドレスにしてx11vnc用の5900番のポートに転送をおこなう、という意味の設定のようだ。

[ポート]には、x11vncを起動したときに表示されるポート番号を入れる。デフォルトで5900だ。ディスプレイ番号が0以外の場合、その数字をここに足さなければならないかもしれないのだが、x11vncは二重に起動したりしないかぎりディスプレイ番号が0になるので関係ない。

[OK]で、TeraTermVT以外のウィンドウを閉じる。

(2)設定の保存

以上の設定を、TeraTermVTのメニューの[設定]から[設定の保存]>[保存]で、TeratermフォルダのTERATERM.INIというファイルに保存する。

(3)SSH転送によるVNC接続

KNOPPIXにx11vncが起動しており、TightVNCの接続はしていないという状態を確認する。x11vncを起動するとき、もしも-allowオプションがあったら切っておくこと。さもないと-allowオプションの威力を思い知らされることになる。

x11vncは、sshのTeraTermVT端末から起動することもできる。しかし、そうすると端末にプロンプトが返ってこないので、x11vncを起動している間TeraTermVTが使えないことになり、それなりに不便だ。ssh転送を使うのならx11vncの自動起動は有効にしてもいいということにしよう。

まず、ssh接続していることを確認する。続いてTightVNC Viewerを起動して、vnc接続をする。

[VNC server]のボックスには、さきほど[SSH転送]で設定したのと同じKNOPPIX自身のIPアドレス127.0.0.1を入れる。ここで2(7)のようにKNOPIXのローカル[グローバル]IPアドレスを入力しても接続できるが、それではただのvnc接続になってしまう。くれぐれも注意したいところだ。

[Connect]をクリックして、x11vncのパスワードを入力すると、ssh経由のvnc接続がおこなわれる。

今後TightVNCだけで接続することはないだろうから、もしも/etc/rc.localや/home/knoppix/.x11vncrcに-allowオプションがあったら、次のように修正しておこう。なお、接続を許可するIPアドレスをコンマで追加することもできる。

-allow 127.0.0.1


注1 ^TightVNCのセキュリティ上の不安

TightVNCは、パスワードをDESという方式で暗号化して送信する。しかし、それ以外の通信内容は暗号化されない。したがって、インターネット上でTightVNC接続をおこなうことは危険をともなう。

How secure is TightVNC?

Although TightVNC encrypts VNC passwords sent over the net, the rest of the traffic is sent as is, unencrypted (for password encryption, VNC uses a DES-encrypted challenge-response scheme, where the password is limited by 8 characters, and the effective DES key length is 56 bits). So using TightVNC over the Internet can be a security risk.

「TightVNC Frequently Asked Questions」 tightvnc.com/faq.php

DESは今では多くの用途において安全ではないと見なされている。これは主に56ビットという鍵長が短すぎることに起因する。 … 近年、AES暗号に取って代わられた。

「DES(暗号)」ウィキペディア


参考サイト

「x11vnc: a VNC server for real X displays」 karlrunge.com/x11vnc/
「リモートのLinuxデスクトップをWindowsから操作する方法教えます」 builder.japan.zdnet.com(2010年3月8日)
「sshでポート・フォワーディングしてVNCを使う」 nhh.mo-blog.jp/ttt(2006年6月9日)
「Ubuntu7.04 にx11vncをインストールする」 チラシの裏にでも書いてろ な!(2007年9月22日)


2010年6月13日 ▲ 


SSHの自動起動 - KNOPPIX6.2

June 10th, 2010

KNOPPIX6.2を起動したときにSSHも起動するように設定してみよう。/etc/rc.localというファイルを、次のように開いて編集する。

# vi /etc/rc.local

コマンドモード
a          編集(入力)モードに切りかえる。
:wq        上書き保存してviを終了。
:q          変更せずにviを終了。
.
編集(入力)モード
Escキー     コマンドモードに切りかえる。

/etc/rc.localファイルの末尾に、次の一行を追加する。

sudo /etc/init.d/ssh start

あるいは、次の一行でもだいじょうぶだった。しかし、/etc/init.d/sshから起動する方が丁寧で望ましいようだ。

sudo /usr/sbin/sshd

プロセスとポートの確認
再起動したら、sshdが起動していることをpsコマンドで確認してみよう。

$ ps aux | grep sshd

/usr/sbin/sshdと書かれた行が表示されれば、sshdサーバが起動している。grep –colour=auto sshdと書かれた一行だけしか表示されなければ、sshdは起動していない。

さらにnmapコマンドで、SSH用のポートが開いていることを確認しよう。

$ nmap -p- localhost

22/tcp open ssh

65535個のポートのうち、22番のポートがsshのために開かれている。22番というのはopensshのデフォルト設定なので、別のポートに設定し直すことも可能だ。

起動スクリプトをめぐる試行錯誤
SSHを自動起動するには/etc/rc.localに書き込むコマンドの頭にsudoをつければいいという単純なことを思いつくのに、だいぶ時間がかかった。この設定のしかたは、SSH以外のサービスの自動起動にも応用できそうだ。たとえばsshと同じように/etc/init.dディレクトリにおいてある起動スクリプトなら、どれでもいけるのではないだろうか。一覧を眺めておこう。

$ cd /etc/init.d
/etc/init.d$ ls

その中から、ためしにsshファイルを開けてみる。lessコマンドで開いた画面は、qで閉じることができる。

/etc/init.d$ less ssh

これは、/usr/sbin/sshdのサービスを開始するための起動スクリプトだ。わたしにはその文法がまったく理解できない。重要なのは、KNOPPIX6.2では、パソコンの起動時に起動スクリプトが自動的に実行されるようには設定されていないということだ。/etc/inittabというファイルにそう書かれており、起動スクリプトを作動させるのに必要なプログラムの一部らしき数行が、#マークでコメントアウトされている。

$ cat /etc/inittab

# Normal SystemV scripts are disabled in Knoppix, use /etc/rc.local instead
# l0:0:wait:/etc/init.d/rc 0
# l1:1:wait:/etc/init.d/rc 1
# l2:2:wait:/etc/init.d/rc 2
# l3:3:wait:/etc/init.d/rc 3
# l4:4:wait:/etc/init.d/rc 4
# l5:5:wait:/etc/init.d/rc 5
# l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
# z6:6:respawn:/sbin/sulogin

update-rc.dやsysv-rc-confのコマンドでいくら自動起動のランレベルを設定しても効果がなかったわけだ。このデフォルトの設定では必要ないsysv-rc-confは、そもそもインストールされていなかった。

/etc/inittabの数行から#マークを消すことで起動スクリプトの自動起動が有効になるかもしれない。そう思ってやってみたら、シャットダウンと起動の画面に今までは出なかったメッセ-ジが表示されるようになり、時間もかかった。それだけでなく、起動画面にエラーメッセ-ジがいくつも出て、XウィンドウのLXDEが起動しなかった。

そういうときに電源ボタンで強制終了する必要はない。Alt+F2(またはF3でもF4でも)でコンソール画面を開き、init 2 でランレベルをコンソールモードに切りかえる。KNOPPIXのランレベル2~4は、どれでも同じだ。viで/etc/inittabを開き、さきほどはずした#マークをつけ直す。shutdown -r now で再起動すれば、今まで通りに起動する。ふだんからコンソールモードやviを使うようにしていると、こういうときに本領を発揮するのがうれしい。

というわけで、/etc/inittabの設定はそのままにしておくことにした。

自動起動の無効化
/etc/rc.localからSSHが自動起動できることに満足したところで、自動起動の必要が特になければ、設定を無効にしておこう。SSHを起動するということは、SSHで外部から接続するためのポートを開けることを意味する。セキュリティ面からは、ポートをやたらに開けておかない方がよい。

設定を無効にするには、/etc/rc.localを編集する。はじめに追加した一行を削除する必要はない。行頭に#マークをつければ、その行はコメントとしてあつかわれるので、コマンドやスクリプトが実行されなくなる。

2010年6月10日 ▲