Debianノートでサーバ運用を続けて4年。すっかりその存在も忘れかけているくらい安定して動作していたサーバも、内蔵のIDEハードディスクの騒音が気になってきた。(NetBSDのときとおんなじだ…)そこで、今度こそ! 騒音を解決すべく、現在流行(?)のSSD(ソリッドステートドライヴ)ってのを使ってみることにした。<2009年05月21日>
と、いってもコストをかけては、私の主義に反する! 安価でこれを実現するために、フツーに売ってるSSDではなく、IDE-CF変換アダプタなるものを利用して、値崩れ激しいCFメモリカードをHDD代わりにしてしまおうという「偽装SSD作戦」だ。安いものなら2、3千円でオツリが来るぞ。
ハードウエアの小変更
インストールするマシンのスペックは相変わらずほぼ同じ:
ハードウエアは”おうち”サーバ運用するだけなので、たいしたスペックはいらない。前世紀のサブノートを相変わらず使う。ちょっと変更した部分は、メモリの1本を64→128MBに交換して、4.9ギガドライブをフラッシュメモリにするだけ。その他、基本的には変更なし。そこにDebian 5.0.1を新規インストールする。
ところが、コトはそう簡単にはいかない。私のB5ノートをほぼ完全にバラさないと、ディスクの交換はできない。不器用な私にはこれがもっとも困難な作業となった。
まず、裏側のビスを全てはずし、華奢なフィルムケーブルを切らないようにそっとコネクタを抜いたら、キーボードを取り外す。つづいて、か細い信号ケーブルの束を傷つけないように慎重に液晶パネルをはずす。ふぅ~っ…
ようやくボディだけとなったら、こんどは経年劣化であちこちモロくなったプラスチックのボディーを上下に分割する。もちろん不器用な私はいくつもプラパーツを割ったものの、悪戦苦闘の末、なんとかハードディスクにアクセスできた。しかし、ここからが最大の難関。
(お茶でも飲んで一服して肩の力を抜いてから…)
最近のCF変換アダプタは2.5インチハードドライブと同じ大きさをしていて、写真や説明では簡単に入れ替えができそうに見えるが、そうでもない。まず、私が入手したものは、もとのディスク(日立製)とまったくネジ穴の位置が違っていた。もとあった場所に収めるためには「マウンタ」という小さな金属部品側を穴開け加工しなくてはならなくなった。
やおら、昔、電子工作で使った手回しドリルを引っぱり出して3ミリの穴を開け、絶縁フイルムに銅板がサンドウィッチされているシールド板をマウンタのネジ穴の位置にあわせて、書類用のパンチで穴を開ける。ほんとなら4本で固定するビスのうち、なんとか1本だけ使えるようにできた。
説明書には、ネジがダメなら両面テープなどで… とあるくらいで、回転体のないフラッシュメモリは、ひどくガタつかなければ問題ないということだ。
あらかじめ用意してあった4ギガのメモリカード(80倍速程度?)を2枚挿して、ハードウエアの準備できた。
インストール
まず、新しいOSのインストーラを準備しなくてはならない。現時点(2009年5月)での最新板Debian 5.0.1 lennyを使う。インストールに使う(x86向け)CDイメージはここ→ http://cdimage.debian.org/debian-cd/5.0.1/i386/iso-cd/debian-501-i386-netinst.iso
上のイメージは、ネットインストール用の150MB程度のisoイメージ。これをイメージのままでディスクに焼けるソフトで焼けば、インストールCDが完成だ。
※私はイメージをマック上でマウントしたものから焼いて2度失敗した… だから、くれぐれもイメージのまま(データを直接読み込んで)焼ける書き込みソフトを選びましょう。
とりあえず、PCのディスクドライブにCDをセットして起動。すかさず[F12]キーを押して、ブートメニューを表示させる。もちろん、ここに「HDD FDD CD」の三項目が表示され… 表示され… あれ??
「HDD FDD」の2項目しかない!
おかしい、一度シャットダウンして、再起動。[F2]キーでBIOS画面を開く。すると、Master Slave、2つのIDEディスクの容量が認識されて表示されているが、CDドライブが認識されていない。「あ!」
これはもしかしたら、1系統のIDEバスにはマスター、スレーブの2つのディスクしか接続できないってのか? だとしたら、IDE-CF変換アダプタに装着した2枚のフラッシュカードがそれぞれマスター、スレーブに割り当てられて、CDは蚊帳の外…
この脱着型CDドライブ内蔵可能な優れもののB5ノートにIDEバスは1系統。つまりCDはIDEバスのスレーブとして認識させる仕様らしい。同時に使えるデバイスは2つなのだから、2枚挿したフラッシュカードの1枚を取り外しておく以外に、CDを認識させる手だてはない。しょうがない… 再び分解。
※IDE-CF変換アダプタにはマスター側だけにフラッシュカードを挿して、スレーブ側にCDドライブを認識できるようにして、とりあえずインストールだけは行う。再起動後に、再び分解して、IDE-CF変換アダプタのスレーブ側に、あらためてフラッシュカードを取り付け直すことにした。
気を取り直して再びインストール作業。前述と同じ手順でCD起動に成功、Debianのインストーラ画面が開いた。(※ネットインストールの場合、インターネットに接続しておく。)
今時のインストーラは、すでにインストール時点からGUIを立ち上げることも可能だが、私は馴染みのキーボード選択型(?)のインストーラを選んだ。
▲写真はGUIインストーラ
起動と設定
インストールは時間がかかるものの、すんなり終了(※)するはずだ。新システムでのブートをすると、例によってコンソールに文字が流れて、やがてログイン画面に到達する。
まずは、さきほど設定しておいたユーザー名とパスワードでログイン。デスクトップが表示される。もちろん起動から完璧に無音で!!
前回のsergeの場合、いきなりここでターミナルが開いたり、日本語が入力できなかったりと、問題があったが、etch(旧安定板)になってかなりの部分が修正されたらしく、さらにこのlennyでは、とくに修正するような箇所は見当たらない。
ディフォルトで、オフィススイーツ、ウエブブラウザ、メーラー、動画プレイヤー、小さなゲーム類などなど、必要にして十分なソフトがインストールされているだけでなく、日本語の表示、入力なども問題なく動く。
他にも、ウエブ電話やインスタントメッセンジャー、FAX、スキャナ。ほかにも音楽プレイヤーなどのマルチメディア関連など、多数のソフトがインストールされていて、私にはとても使いこなせないほどである…(もちろんこれは導入可能なフリーソフトのほんの一部に過ぎない)
※実は私の場合、最初のログインに失敗した。と、いうのはインストールするフラッシュカードの容量が4GBと小さすぎて、いきなりディスクスペースがなくなったためだった。しょうがないから、シングルユーザーモードで再起動して、openoffice.org、gimp、ekiga、それからゲーム類などのファイルを削除してどうにか立ち上がったが、もう少し大きなフラッシュカードを用意しておけばよかった…
日本語入力
旧バージョンでは、自前で「漢字変換サーバ」と「入力メソッド」をそれぞれインストールして、起動設定や環境変数。さらに、切り替えキーなど、細々と設定しなくては使えなかった日本語入力も、Lennyでは、すでにanthyとUIMが標準でインストールされていて、何の設定もしないままで使える。普通に「全角/半角」キーを押すだけで、日本語入力の「あ」という表示がツールバーに表示されてインライン入力が可能だ♪
プリントサーバ
旧バージョンでは、標準のプリントシステムでは動かないため、ドライバをメーカーからダウンロードしてどうにか動かすことができた、エプソン製インクジェットプリンタ。ところが、Lennyでは、システム標準プリントシステムであるCUPSが、接続と同時にUSBケーブル接続のプリンタを認識して、近似のドライバーによってほぼ問題なく動く。
私のPM750Cの場合は、STYLUS800のドライバでこともなげに動いた。もちろん、Samba、Netatalk経由で、ウインドウズと、旧マックからネットワークプリントも可能だ。設定は以下のとおり。
Sambaは、プリンタを接続すると、/etc/samba/smb.conf
に自動的に設定が書き加えられたので、プリンタ名([ ]の部分)を修正しただけ。
[PM-750C] comment = EPSON PM-750C path = /var/spool/samba read only = No create mask = 0700 guest ok = Yes printable = Yes printer name = PM-750C oplocks = No share modes = No
Netatalkのほうは、/etc/netatalk/papd.conf
の最終行に…
EPSON PM-750C:\ :pr=|lpr -Plp:op=lp:pd=/etc/cups/ppd/PM-750C.ppd:
と書き加えた。1行目はセレクタに表示されるプリンタ名。pd=の部分は、CUPSによって自動的につくられたプリンタ記述ファイルへのパス。接続したプリンタによって名前が自動的につけられているので、適当なものに変更すればいいはずだ。
※ pr=の部分はなぜかフルパス(/usr/bin/lprのような…)だと動かない。すでにLPRやLPRngのBSD系プリントサーバが、CUPSに完全に移行して、命令がCUPSによるエミュレートで動いているためなのかもしれない。
/etc/cups/ppd/以下のプリンタ記述ファイルを、他のマックへコピーして、改行コードを「CR」に変更。システムフォルダ→機能拡張→プリンタ記述ファイルへと入れるだけ。セレクタでLaserWriterを選べば、自動的に設定されてネットワークプリントができる。
※ このPPDファイルだと、用紙選択でA4よりも大きなサイズが選べるが、もちろんプリンタの印刷可能な範囲を超えたサイズでは印刷できないのは、言うまでもない。
ファイルサーバとウエブサーバ
順番が前後ろ逆になったが、すでに「ファイルサーバ」環境をインストールしていれば、SambaとNetatalkが動作状態になっている。あとは、標準でホームディレクトリとなっている公開ディレクトリを必要に応じて変更するだけだ。
面倒な設定などせずに、旧システムですでに設定したコンフィグファイル/etc/samba/smb.confをそのまま上書きしてしまえば、動作すると思っていたSambaだが、実際はうまくいかない。
windows98の端末で接続してみると、パスワードが違うとなんども接続を断わられる始末。
そこで、sambaのヘルプを熟読。/usr/share/samba/smb.conf
を/etc/samba/smb.conf
へとコピーして、あらためてSWAT(GUI設定ユーティリティー)から、以下の項目だけを変更した。
[global] dos charset = CP932 workgroup = workgroup #接続するウインドウズのグループ名 auth methods = sam, winbind, ntdomain map to guest = Bad User lanman auth = Yes #古いPC接続用 client lanman auth = Yes #古いPC接続用 hosts allow = 192.168., 127. #ローカル接続だけを許可(任意)
旧システムで設定したdomain logonなどは設定してもしなくても関係ないらしい…
この設定を保存したら、SWATの[PASSWORD]の画面で「PCのログインネーム」をユーザー登録して、パスワードを設定し、アカウントを「有効」にしておこう。ローカル接続したPCから[ネットワークコンピュータ]経由で接続すると「PCのログインネーム」と同名のホームディレクトリに接続できる。
Appleサーバのnetatalkのほうは、旧設定のままで、一応ファイル共有がすんなりできた。
さらに、同じLinuxからのファイル共有のためには、セキュアシェルサーバを使う。opensshをインストールして、sshd(デーモン)サーバを立ち上げたら、
/etc/ssh/sshd.conf
を開いて
AuthorizedKeysFile %h/.ssh/authorized_keys HostbasedAuthentication yes
の2行を修正
さらに、/etc/hosts.allow
の最後に…
192.168.0.0/24: @workgroup #←sambaのワークグループ名
と、追加してローカルからの接続を受け付けるようにしておいた。これで別のLinuxからも同じディレクトリを読み書きできるようになるはず。
その他の設定
私は、ファイルのバックアップ用にUSB外付けのHDDを常時接続で使っている。もちろん、ファイルサーバにも公開するかたちで、PC端末とMAC端末からおなじファイルを参照できるようにした。
しかし、接続していないときにはディスクの省エネのためにも回転を止めておきたい。これも旧システムと同様、sdparmを使う。
管理者権限で、
# crontab -e
とやると… cronの設定ファイルがエディタで開く、そこに1行…
15,45 * * * * sdparm -C stop -q /dev/sda
と記述して保存。(nanoエディタならCtrl+o→return→Ctrl+x、vimならesc→W→wq!)
30分間隔でディスクの停止命令が出るようになる。
それから、私のノートPCのディスプレイが、ノロノロと遅いのが気になっていたのだが、じつはXorgの初期設定でChipsビデオドライバのアクセラレーションがオフになっているためだとわかった。そこで、/etc/X11/xorg.conf
の"Screen"セクションの項目に以下の1行を追加して"オン"にした。
option "NoAccel" "false"
これで、再度Xにログインすると、画面のスクロールがギクシャクしていたのがウソのように改善していた♪
ドキュメントビューアで日本語PDFを読む方法
evinceが標準的PDFリーダーなんだけど、日本語フォントが化ける。ネットでいろいろ検索したら、解消法がでてたので、覚書。
まず、リポジトリにちょっと手を加える。/etc/apt/sourses.list
をエディタで開く。
~ deb http://ftp.○○.debian.org/debian/ lenny main deb-src http://ftp.○○.debian.org/debian/ lenny main ~
ま、だいたいこんな感じになってるところの最後に…
~ deb http://ftp.○○.debian.org/debian/ lenny main non-free deb-src http://ftp.○○.debian.org/debian/ lenny main non-free ~
と”non-free
”ってのを書き加えて保存。これは、ライセンスがフリーじゃないものも含めるって意味。
# aptitude update
で、パッケージリストを更新する。
その後で、次の2つのパッケージをインストール。
# aptitude install xpdf-japanese cmap-adobe-japan1
無事にインストールできたら…
# mkdir -p /usr/share/poppler/cidToUnicode
# ln -s /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode /usr/share/poppler/cidToUnicode/Adobe-Japan1
# mkdir /usr/share/poppler/cMap
# ln -sc /usr/share/fonts/cmap/adobe-japan1 /usr/share/poppler/cMap/Adobe-Japan1
こうしておくと、evinceドキュメントビューアで日本語PDFが読めるようになる。
ただいま稼働中…
flash player 10のインストール
いまだ少数派とはいっても、Linuxユーザーを無視するわけにはいかないソフトウエアメーカー。数々のマルチメディアソフトが、x86系linuxなら動く。
Linuxパッケージでもflashコンテンツを動かすgnash swfdecなどがあるが、やはりx86系ユーザーなら、adobe純正flashプレイヤーをインストールするのがてっとりばやい。
http://www.adobe.com/jp/products/flashplayer/
↑ここでlinux用のインストーラをダウンロード。
実行権限に変更して実行するだけ。詳しくは、メイカーHPを参照。
RealPlayer 11のインストール
リアルプレイヤーのメディアファイルは、codecさえあればTotemでも再生可能だが、やはり、SMILなどのストリーミングは再生できないものもあるので、一応純正プレイヤーをインストールしておこう。
↑ここで、インストーラをダウンロード。
実行権限に変更して実行。詳しくは、メイカーHPを参照。
AdobeReaderのインストール
Debianデスクトップ環境標準の「ドキュメントビューア」(Evince)に、前述のように手を加えると日本語PDFも表示できるので、無理にデカイAdobeReader(50メガ越え)をインストールする必要は感じないが、どうしてもadobe純正じゃなきゃダメと言う人は、以下参照。
http://www.adobe.com/jp/products/reader/
AlpsPS/2 ALPS GlidePoint が暴走して使えない
実は、これまで書いてなかったが、この機種(HITACH Flora)では、Debianが起動した直後、トラックパッドが暴走してしまう現象が起きていた。ただ、暴走中にマウスボタンを押したままパッドを左から右へなぞってやる(いわゆるドラッグだね…)と正常に動作することを発見したので、気にも留めていなかった。しかし、これはGlidePointをどうやらPS/2外付けマウスデバイスとを区別できずに混乱しているバグらしい。
トラックパッドの不具合はいろいろ報告されているが、解決策はほとんどが「Synaptics」を使えだの「Xの初期設定xorg.confをちゃんとせよ」ってな感じでどれもダメ。基本的にGlidePointとMouseドライバとの通信障害のため、設定ではどうにもならない。やるとすればソースを書き換えてカーネルドライバをコンパイル…
結局、スキルのない私に残された唯一の解決策は、素直に外付けマウスを使うこと。その場合、BIOS設定でマウスを使ったときにはトラックパッドが無効となるようにしておくだけだ。これなら、普通に使える。(※ 一応次のページで解決してます。)
Debianでもワイヤレスネットワークしたい
せっかくノートPCなんだから、無線LANカードでワイヤレス! くらいはできないと… ってなわけで、試す。
Debian公式ページのリファレンスの記述どおりにやってみる。まず。無線LANカード(子機)のドライバを導入すること。これが、なかなか厄介だ。カードのメイカーや種類によって、やり方がぜんぜん違う。debian自身でドライバーを用意しているものもあれば、公式ページでlinuxドライバを配布しているのもある。たまたま私の所有しているカードはBuffalo製のもので、なんとウインドウズのドライバがそのまま使えるという。そこで、公式ページから純正ドライバをダウンロード。
ただし、Debian側でウインドウズのドライバを読み込むためのモジュールを準備しなくてはならない。私の環境の場合はndiswrapperというカーネルモジュールが必要らしい。ただ、これはaptitudeとかではインストールできず、ちょっとハードルが高いかな。とも思ったが、実はこれを自動化してくれるツールがあった。
その名もズバリmodule-assistant! これをaptitudeでインストール。
# module-assistant
とやると、ダイアログ形式で、インストールできるモジュールを選択して自動的にコンパイルした後、インストールしてくれる優れものだ。このツールを起動するとGUIが立ち上がるので、ndiswrapperを選択。GUIの指示通りにしていくだけで無事にインストールできた。もちろん、ソースツリーからソースをダウンロードして、自身でコンパイルしても、結果は同じだ。
準備はできた。まずは、ウインドウズのドライバーから、無線カードに対応したドライバXXXX.infをndiswrapperで読み込む。
# ndiswrapper -i XXXX.inf
エラーが出なけりゃ成功。続いて、ネットワークの設定。まず、
# aptitude install wpasupplicant
をインストールしたら、/etc/network/interfacesを管理者権限で編集。以下の記述を追加。(キーはwpa_supplicantで自動生成されるものらしい…)
allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid "XXXXXXXX" wpa-psk "XXXXXXXXXXXXXXXX"
とやったら、上書き保存して…
# ifdown -a; ifup wlan0
で再接続。DHCPサーバからIPアドレスが割りふられたら接続成功!
※ちなみに、WEPキーしか使えない場合は、こんな感じに書けばよい。
allow-hotplug wlan0 iface wlan0 dhcp wireless-essid XXXXXXXXXXX wireless-key1 XXXXXXXXXXXXXXXXXXXXX wireless-keymode open
LinuxでもSkypeとか、AIMとかやってみる。
最近ではUbuntuってLinuxが、コンスーマ向けのハードウエアに搭載されることが多くなって、Windowsでしか使えなかったソフトウエアが動くようになってきている。
で、ネットでひろったSkypeとAIMのLinuxむけ.debファイルをインストール。
ところが、debian i386上ではいずれも使えない。AIMに関してはバージョンが違うとインストールすらできず。Skypeは、インストールこそ完了するが、動作が途中でプッツリ切れる。設定しだいで何とかなるかもしれないが、面倒くさいので、終了。
ブラウザはOperaもGoogle Chromeも使えるよ
ようやくGoogleのウエブブラウザのLinux向けベータ版が公開されたので使ってみた。見た目はOperaに近いがメニューバーがない。アドレスバーとお気に入りバーですべてを操作することになる。ホームページにGoogleが初期設定してあるが、アドレスバーに日本語で検索ワードを叩き込めば、結果は同じことになるので、まず必要ない。お気に入りバーにブックマークを追加していくだけで、普通に使える。軽快だ。
一方、Operaのほうは、最新版で先進的な機能が追加された。Opera Linkといって、ユーザー登録すると、お気に入りやスピードダイアルなどの内容が、別のマシン上のOperaと共有できる。複数の端末から接続するユーザーには便利だ。さらに、簡易ファイルサーバー機能も使えて、ユーザー同士が直接ファイルを交換できる。やりようによっては面白い使い方ができるかもしれない。とくにお気に入りが共有できるところは気に入っている。(091215)
2011/7/15
長らく「自家サーバ」として活躍してきたlennyから、現行のsqueezeにアップグレードしたので、実験はとりあえず終了。
続きは、こちら。