KNOPPIX6.2でDropbox

July 31st, 2010

なくてはならないDropbox

ThinkpadX40にKNOPPIX6.2をインストールしてから、まずトラックポイントのスクロールを設定した。次にFlashplayerをインストールした。3番目にやったのが、Dropboxのインストールだ。

Dropboxというのは、複数のパソコンやOSのあいだで同一のフォルダを共有できるツールだ。一つのパソコンでDropboxのフォルダに何か変更を加えると、インターネットに接続を通じてほかのパソコンのDropboxフォルダが同期される。

たとえば職場と自宅で同じファイルを使って作業している場合、両方のパソコンにDropboxをインストールしておけば、そのファイルをノートパソコンやUSBメモリで持ち運ぶ必要がなくなる。職場のパソコン[1]のDropboxフォルダに保存したファイルは、自宅のパソコンのDropboxフォルダから取り出すことができる。インターネットに接続している自分のパソコンであれば、どのパソコンでも同じDropboxフォルダを開くことができるのだ。

WindowsパソコンでのDropboxのインストールと使い方は、ほとんど直感的にできる。アカウントを作ると、無料で2GBのフォルダが使えるようになる。ほかのユーザからの紹介で登録した場合は、250MB容量を増やしてもらえる。紹介したユーザの容量も増える。下のリンクはわたしからの紹介だ。まだ使っていない人がいたら、ここからアカウントを作ってDropboxをインストールしてみませんか。

Welcome to Dropbox!


KNOPPIXにDropboxをインストール

DropboxにはLinux版もある。UbuntuとFedoraなら、専用のインストールファイルがあるので簡単そうだ。KNOPPIXでは、多少手間はかかったが、以下のようにインストールすることができた。

1.dropbox.pyのダウンロード

~$ wget –no-check-certificate https://www.dropbox.com/download?dl=packages/dropbox.py

特にwgetコマンドでダウンロードしなければならないわけではない。dropbox.pyがダウンロードできればよい。検索すればdropbox.comで見つかる。同じような機能で別の名前のついたpyファイルを試してみるのもいいかもしれない。とりあえずdropbox.pyをホームディレクトリ/home/knoppixに保存した。

2.dropbox.pyの属性変更

~$ chmod 755 dropbox.py

dropbox.pyをdropboxコマンドとして使うために、実行可能にした。下のlsコマンドでchmodコマンド前後での属性の変化を確認しておくとよい。

~$ ls -l dropbox.py

3.dropbox.pyをdropboxコマンドに変更[修正a]

~$ su
~# mv dropbox.py /usr/local/bin/dropbox

ホームディレクトリのdropbox.pyファイルを/usr/local/binディレクトリへ移動し、さらにファイル名をdropboxに変更している。これがdropboxコマンドだ。保存場所は、必ずしも/usr/local/binである必要はない。コマンドのオプションを確認しておこう。

~$ dropbox help

4.Dropboxのインストール

~$ dropbox -i

これで小さなポップアップが開き、OKをクリックすると、Dropboxがダウンロードされて下のような「Welcome to Dropbox」の画面が出る。

すでにDropboxのアカウントがあるものとしよう。次の画面では、登録したEmailアドレスとパスワードを入れる。次に2GB Freeを選ぶ。最終的に「That’s It!」の画面になるので、「I want to choose where to put my Dropbox folder」を選んで、Dropboxフォルダの保存場所を確認する。デフォルトで/home/knoppix/Dropboxになっていたので、OKで完了した。

いつのまにかインストールされたGNOMEのファイルマネージャNautilus 2.28.1が起動する。もしかすると端末にNautilus関連のエラーが出るかもしれないが、気にしなくてよい。端末のプロンプトは[Ctrl]+[c]で返ってくる。しばらく様子を見るつもりだが、NautilusはKNOPPIXの標準のアプリケーションではないので、慎重に扱った方がいい。ただでさえNautilusは重いので評判が悪い。端末からDropboxフォルダを操作するのにこしたことはない。Nautilusをアンインストールして、PCManファイルマネージャにNautilusのリンクをつけて使うという方法もあるようだ。ただし、PCManではDropboxの右クリックメニューが出ないかもしれない。

5.Dropboxの自動起動[修正b]

# vi /etc/rc.local

viなどで/etc/rc.localファイルを編集し、末尾に次の一行を追加する。

/usr/local/bin/dropbox start

dropbox startだけでも動くはずだが、rc.localファイルにはコマンドのフルパスを書いておいた方がよろしいらしい。dropboxコマンドの保存場所によっては、行頭にsudoを付け足す必要がある。

以上の方法なら、たいていのDebian系のLinuxOSでも同じようにできそうだ。pythonが必要なので、インストールされていることを確認すること。


修正点

再起動後に様子が変化した。

a^  ホームディレクトリにbinというディレクトリができて、その中にdropboxコマンドができている。/usr/local/binのdropboxの方は、削除してもだいじょうぶそうだ。

$ which dropbox
 
/home/knoppix/bin/dropbox

つまり、はじめから/home/knoppix/bin/dropboxを作るのがのぞましい。実は参考にした記事にそう書いてあったのだが、ホームディレクトリにパスを通してもいいのかわからなくてそうしなかった。

さらにホームディレクトリの隠しファイルを表示すると、.dropboxとか.dropbox-distとかいうディレクトリができている。何度か探したときにはたしかに存在しなかったのに、いつできたのだろう。

~$ ls -a

b^  dropboxコマンドのパスに合わせて、/etc/rc.localファイルを訂正しなくてはならない。

# vi /etc/rc.local
……
/home/knoppix/bin/dropbox start


^  職場のパソコン
職場のパソコンもさまざまだろうが、わたしの職場では、管理者の権限を侵さないかぎり、仕事に有益なパソコンのカスタマイズは黙認されている。WindowsのパソコンでアプリケーションをProgramFilesにインストールするためには管理者権限が必要だが、DropboxはMyDocumentみたいなところにもインストールできるのだ。ただし、管理者がその気になればなんでもわかってしまうはずなので、あまりプライベートで重要なものを置くわけにはいかない。


参考サイト

Dropbox for Linux
Dropbox Forums

dropbox.comi以外にもさまざまなサイトの記事を参考にした結果、この記事で紹介しているようなやり方になった。どこかにまったく同じ方法が書かれていたわけではない。したがって、おかしなことをやっている部分がほかにもあるかもしれない。参考にする人は気をつけてください。


2010年7月31日


KNOPPIX6.2で中ボタンスクロール

July 30th, 2010

UbuntuだろうがKNOPPIXだろうが、ThinkpadX40にLinuxのOSをインストールしたらまっ先におこないたい設定がある。それは、トラックポイントの中ボタンでWebページのスクロールができるようにすることだ。

KNOPPIX6.2をX40にインストールすると、NEC Lavie L LL750/2Dのときとはちがって、マウスカーソルがちゃんとあらわれる。時刻も合っている。そして、デスクトップ画面上で中ボタンスクロールをすると、なんと3Dのデスクトップキューブが回転する。

しかし、ブラウザIceweasel(Firefox)の画面上で中ボタンスクロールができない。そこで、以下のような設定をおこなった。

1./etc/hal/fdi/policy/mouse-wheel.fdiファイルの作成

$ cd /etc/hal/fdi/policy
/etc/hal/fdi/policy$ su
/etc/hal/fdi/policy# vi mouse-wheel.fdi

2.mouse-wheel.fdiファイルに以下の内容を貼りつけて保存

<match key=”info.product” string=”TPPS/2 IBM TrackPoint”>
<merge key=”input.x11_options.EmulateWheel” type=”string”>true</merge>
<merge key=”input.x11_options.EmulateWheelButton” type=”string”>2</merge>
<merge key=”input.x11_options.XAxisMapping” type=”string”>6 7</merge>
<merge key=”input.x11_options.YAxisMapping” type=”string”>4 5</merge>
<merge key=”input.x11_options.ZAxsisMapping” type=”string”>4 5</merge>
<merge key=”input.x11_options.Emulate3Buttons” type=”string”>true</merge>
</match>

3.KNOPPIXの再起動

# shutdown -r now

これでWebブラウジングが快適にできるようになった。


参考記事

「Ubuntu 9.10 on Thinkpad X61 + trackpoint付USBキーボード」(Ubuntu日本語フォーラム
How to configure the TrackPoint (ThinkWiki)


付記

ThinkWikiの参考記事に網羅されている方法をいろいろ試してみたが、どれもKNOPPIX6.2には通用しなかった。上に紹介したのが唯一成功した方法だ。Ubuntu日本語フォーラムのrenさんありがとう。

うまくいかなかった方法は次の通り。

A.GPointing Device Settingsツール
未解決の依存関係が生じてインストールができない。
 
B.usr/lib/X11/xorg.conf.d/20-thinkpad.conf ファイルの作成
usr/lib/X11にxorg.conf.dというディレクトリが存在しない。

C.Configuration using xinput
xinputコマンドにset-int-propというオプションがない。

D./etc/udev/rules.d/99_trackpoint.rulesファイルの作成
ファイルを作成して再起動したが効果がない。

ここまでやった後、mouse-wheel.fdiファイルを作成してついに成功した。ThinkWikiの記事には、まだ試していない方法も紹介されている。


2010年7月30日 ▲ 


KNOPPIXのインストールとUbuntuのGrub2

July 29th, 2010

Thinkpad X40 2371-KJ1 
X4 UltraBase 
Pioneer DVR-XD09J

KNOPPIXのインストール

ThinkpadX40のセカンドHDDにKNOPPIX6.2をインストールした。前回の記事に書いたように、あらかじめGPartedで未フォーマットのパーティションを作っておいた。そうすると、KNOPPIXのインストーラ0wnがパーティションを認識してReiserFSでフォーマットしてくれる。

インストールは30分ほどで完了した。以前のLavie L LL750/2Dでは1時間以上かかり、しかも3回のうち2回は途中でエラーが出てはじめからやり直さなければならなかったことを考えると、特権的なフリーパスあるいは通行手形でも手に入れた気分だ。

OSがインストールされると、さらにブートローダのGrubをインストールするかどうか選択しなければならない。すでにUbuntuのブートローダがあるので、インストールしないことにした[1]。以上でDVD-KNOPPIXのセッションは終了して、KNOPPIXのブートの設定をおこなうためにUbuntuを起動する。

UbuntuのブートマネージャGrub2

X40にインストールしたすべてのOSの起動は、Ubuntuのブートローダからおこなう[2]。Ubuntu10.04のデフォルトのブートローダはGrub2だ。KNOPPIXやPuppyLinuxのブートローダはただのGrubだ。Ubuntuの/boot/grubディレクトリにmenu.lstが見あたらないので調べてみたら、そういうことだった。そんなことも知らなかったのに今までよくUbuntuが問題なく使えたものだ。

Grub2の基本的な設定はコマンドでおこない、設定ファイル(/boot/grub/grub.cfg)を編集したりはしない。

Grub2のブートメニューにKNOPPIXを追加

まず、現在のブートメニューを確認しておこう。

$ grep menuentry /boot/grub/grub.cfg

KNOPPIXが正しくインストールされていれば、次の2つのコマンドでGrub2のブートメニューにKNOPPIXが自動的に追加される。

$ sudo grub-mkdevicemap
 
$ sudo update-grub

grepコマンドで/boot/grub/grub.cfgファイルにKNOPPIXが追加されたことを確認したら、Ubuntuを終了してKNOPPIXを起動してみよう。これで起動すれば、KNOPPIXのインストールは完了だ。


GRUB2ブートメニューの調整

ThinkpadX40のGRUB画面のメニューがこんな風になった。

GNU GRUB version 1.98-1ubuntu7
 
Ubuntu, with Linux 2.6.32-24-generic
Ubuntu, with Linux 2.6.32-24-generic (recovery mode)
Ubuntu, with Linux 2.6.32-22-generic
Ubuntu, with Linux 2.6.32-22-generic (recovery mode)
Ubuntu, with Linux 2.6.32-21-generic
Ubuntu, with Linux 2.6.32-21-generic (recovery mode)
Ubuntu, with Linux 2.6.31-21-generic
Ubuntu, with Linux 2.6.31-21-generic (recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Microsoft Windows XP Professional (on /dev/sda1)
KNOPPIX (on /dev/sdb6)

ふだん使うのは一番上のUbuntuと一番下のMicrosoft Windows XP ProfessionalとKNOPPIXの3つだけだが、上と下がずいぶんと離れている。これでは不便なので、なんとかしたい。

まず考えられるのは、不要なメニューを消すことだ。Ubuntuのメニューだけで8つもあるのはどう考えても多すぎる。ただし、古いカーネルのメニューはひとつくらい残しておいた方がよいかもしれない。新しいカーネルの不具合に古いカーネルのUbuntuを起動して対処できたことが実際にあった。

メニューを消すのはそのうちに試してみるとして、ここではメニューの順番を変えることにする。KNOPPIXとWindowsXPを一番上に持ってくることにしよう。

メニューエントリの順番の入れ替え

Grub2のメニューエントリのおおまかな順番は、/etc/grub.dというディレクトリのファイル名にしたがって決められている。ファイル名には番号が割りふってある。

$ cd /etc/grub.d
$ ls
 
00_header 05_debian_theme 10_linux 
20_memtest86+  30_os-prober 
40_custom  README

Grub2の設定ファイル/boot/grub/grub.cfgを見ると、/etc/grub.dのファイルが番号順に読み込まれていることがわかる。

$ gedit /boot/grub/grub.cfg

 (略)
### BEGIN /etc/grub.d/00_header ###
 (略)
### BEGIN /etc/grub.d/05_debian_theme ###
 (略)
### BEGIN /etc/grub.d/10_linux ###
menuentry ‘Ubuntu, with Linux 2.6.32-24-generic’ –class ubuntu –class gnu-linux –class gnu –class os {
 (略)
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry “Memory test (memtest86+)” {
 (略)
### BEGIN /etc/grub.d/30_os-prober ###
menuentry “Microsoft Windows XP Professional (on /dev/sda1)” {
 (略)
menuentry “KNOPPIX (on /dev/sdb6)” {
 (略)
### BEGIN /etc/grub.d/40_custom ###
 (略)

Ubuntuのメニューエントリは10_linuxの項目に書かれている。Memory testは20_memtest86+、WindowsXPとKNOPPIXは30_os-proberだ。そこで、ファイル名を変更して、30_os-proberの30を10よりも小さい数字、たとえば07にすれば、WindowsXPとKNOPPIXがUbuntuよりも先に読み込まれてブートメニューの先頭に来るはずだ。

$ cd /etc/grub.d
$ ls
$ sudo mv 30_os-prober 07_os-prober
 
$ sudo update-grub

grub.cfgの更新を確認したら、再起動してGRUB画面を見てみよう。

GNU GRUB version 1.98-1ubuntu7
 
Microsoft Windows XP Professional (on /dev/sda1)
KNOPPIX (on /dev/sdb6)
Ubuntu, with Linux 2.6.32-24-generic
Ubuntu, with Linux 2.6.32-24-generic (recovery mode)
Ubuntu, with Linux 2.6.32-22-generic
Ubuntu, with Linux 2.6.32-22-generic (recovery mode)
Ubuntu, with Linux 2.6.32-21-generic
Ubuntu, with Linux 2.6.32-21-generic (recovery mode)
Ubuntu, with Linux 2.6.31-21-generic
Ubuntu, with Linux 2.6.31-21-generic (recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)

デフォルトOSの設定

GRUBメニューの画面が開いたとき、カーソルは一番上のMicrosoft Windows XP Professionalにあたっている。そのまま数秒経過すると、自動的にWindowsXPが起動する。それが望ましくなければ、メニューの順番を変えなくても、カーソルがほかのOSにあたるように設定できる。

単純にWindowsXPとKNOPPIXの順番を入れ替えてもいいのだが、そのやり方がわからない。

/etc/default/grubというファイルを編集してデフォルトのOSを設定すると、カーソルがそのOSのメニューにあたるようになる。UbuntuのせいかX40のせいかどうもviの勝手がちがうので、geditで編集した。

$ sudo gedit /etc/default/grub

「GRUB_DEFAULT=0」という行があるので、「0」のところにOSの名称を入れる。OS名は、grub.cfgファイルを開くと「menuentry」の後ろに引用符でくくられているので、それをコピーして貼りつけるとよい。ここではKNOPPIXをデフォルトのOSにする。

GRUB_DEFAULT=”KNOPPIX (on /dev/sdb6)”

上書き保存でgeditを終了したら、update-grubコマンドで変更を反映させる。

$ sudo update-grub

これでGRUB画面の使い勝手がだいぶよくなった。


脚注

1. ^ ブートローダのインストール
ここでKNOPPIXのブートローダのインストールを選択することもできるのだろうと思う。その場合、マルチブートの設定はKNOPPIXのGrubでおこなうことになる。すでにインストールされているWindowsXPとUbuntuのブートメニューは自動的に生成されるはずだ。/boot/grub/menu.lstを直接編集して、メニューを追加したり修正したりすることもできる。しかし、マルチブートの仕組みがよくわからないので、今まで安定して動作しているUbuntuのブートローダをそのまま使うことにした。

2. ^ ウルトラベースのブートローダ
UbuntuのブートローダGrub2は、ウルトラベースのセカンドHDDにある。セカンドHDDにはUbuntuとKNOPPIX、ThinkpadX40本体のHDDにはWindowsXPがインストールされている。ウルトラベースを外した状態でX40を起動すると、GRUB画面はあらわれず、直接WindowsXPが起動する。


参考記事

「複数のOSを使う(3)GRUBを使ったデュアルブート,GRUBの設定」(Ubuntu Weekly Recipe 第97回 村田信人 2009年11月18日)

「Grub 2 入門」(経済学101 青木理音)


2010年7月29日 ▲ 


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) »