google tag

My Soundcloud Channel --- Testing :D

Saturday, February 19, 2011

今日の Debian GNU/Linux Lenny → Squeeze にupgrade

Linuxメモ
---
この2/6に、Debian GNU/Linux 6.0 Squeeze がリリースされたので、早速 5.0 Lennyからupgradeしてみた。

作業その物は、リリースノートに書いてある手順通りにおこなえばよいので簡単である...カーネルのupdateの都合で一度はリブートする必要があるが、すべてのデータ、アプリケーションを抱えたままたった一度のリブートのみで更新できるのは毎度ながら素晴らしいと思う...

のだが、まったく問題が出なかったわけではない。という事で、自分の管理している3台に関して気づいた事を、自分の為のメモとして書いておく事にする..

1. 会社のDell Optiplex GX260

(1)パーティションの容量不足

20GB程のHDDをSargeあたりの頃、インストーラーで自動に割ったパーティションで運用して来たのだが、 / (ルート)と /usr が不足。

/が不足、というのはカーネル、特にモジュール関係が大きくなったのではないのか、と思うが、とにかく新しいカーネルがインストールできない、という事態になってしまった。Debianは新カーネルを入れると旧カーネルは自動的に予備で起動できる様になるのだが、新カーネルが入らない以上古いカーネルも消せない..つまり容量の確保が出来ない.. さてこまった..

で、苦肉の策、おっかなびっくり、/lib/modules 以下の 現在起動中のカーネルモジュールをディレクトリ丸ごと、余裕がある /home 以下に移動して、 /lib/modules にリンクを貼る事にした。動いてるカーネルのモジュールの場所移動なんてちょっと無茶なのだが、しかたがない。こうして/の容量を稼いで新カーネルを入れてから新カーネルで再起動後、旧カーネルをアンインストールした。今後セキュリティーfixなどでカーネルのupgradeが必要な場合、同様な綱渡りをする事になるのだが..まぁ仕方がないか..

/usrが不足というのは、どうもSqueezeにupgradeすると推奨パッケージなどがどっと入るのか、あるいは引きずられるパッケージが多いのか、予想以上に"太る"傾向にある?感じ。構成にもよるだろうが、GnomeやKDEのアプリを使ってる場合は空き容量は相当余裕を持たないとダメな様だ。個人的にはGnomeやKDEはデスクトップとしては使っていないのだがそのアプリは使っているので、今回引きずられてGnomeやKDEの標準システムがどっと入ってしまったのかもしれない.. (Etch→Lennyの時は容量不足にはならなかったのだが...)
仕方がないので、一時的にあれこれアンインストールして凌いだ。つかってなさそうなアプリ、読まないであろうドキュメント類を外した。
また、例えば非公式なGoogleやAdobeのソフトは/opt なんてディレクトリーに入ってしまうのだが、そのままでは/が不足してしまうのでこれまでは/usr/local に optを作って "/"にリンクを置くという形にしていた。で今回は/usrも不足してしまう状況だったので、一番余裕のある/home にoptを持ってゆく、という事にした。アプリケーションを/homeに置くというのも妙な感じだが、そういう事も柔軟に出来る、というのはUNIXのよさでもある。
Cドライブが不足なので\Windows\System32 や \Program Files フォルダをそのまま丸ごと Dドライブに移動してそのまま無設定で使えるようにする..なんてWindowsじゃ出来ない事だからね。
upgradeは各種アプリの入れ替えになるのだから/usrに関しては1GBほどの空き容量があれば問題なかろう、と思ったのだが、ちょっと甘かった。何とかやりくりしてぎりぎりupgradeを終了させると、逆に不要になったパッケージがけっこう大量に出たりして、色々整理しなおすと元通り、容量に余裕が出来た。
今時細かくパーティション割るのは流行りでは無いのかもしれないが、今度Linux用にパーティション切る事があるなら/usrの容量はもっと取っておこう、と思う。
(2) x.org の設定
Squeezeになったら、X-Windowがとても遅くなった。ウインドウマネージャには e16 (Enlightenment) を使っているのだが、起動時の、あの "幕が開く"スピードがとても遅くなった。アプリのウインドウを移動させたりシェードさせたりする時もぐっと速度が落ち、なんじゃこりゃ状態..
GX260はビデオカードがintelチップセット内臓、なのでintelドライバーで動くのだが、/var/log/Xorg.0.log を見ると、 どうも新しいXorgのintelドライバでは、いわゆる2Dアクセラレーションがデフォルトでは効かない設定になっている事が分かった。なので /etc/X/xorg.conf にそれを有効にする設定が必要になるわけだが /etc/X/xorg.conf ってのは最近は無かったりするのでコンソールに落ちてX止めてrootになって
Xorg -configure
で xorg.conf.newという 雛形を作ってそいつを/etc/X/xorg.conf として置く。で Video Device としてintelドライバが指定されているセクション内に
Option "Shadow" "False"
というオプション行を追加する。これで2Dアクセラレーションが有効になって速度が元に戻った...

2. 自宅のMSI WindBoard (Atom330)マシン

こいつも同様にインストール時に/usrの容量不足が起きたので、同様にやりくりして凌いだ..
それ以外は問題がなかったかな..いや、USBオーディオデバイスの問題が出た。
このマシンはオンボードのサウンドをBIOSでdisableしてUSBのデバイスを使っているのだが、YouTubeなどで音が出なくなった、が、amaroKでは音が出るという症状... どうもUSBオーディオデバイスの番号が"0"ではなく"1" に振られてる模様.. BIOSで切ってるのになんで1なのか..
/etc/modprobe.d/alsa-base.conf
を編集して
options snd-usb-audio index=0
としてみたが、ダメ..おかしい..で、/etc/modprobe.d/sound.conf ってのがあったので中を覗いてみると
alias snd-card-0 snd-hda-intel
options snd-hda-intel index=0
なんて書いてやがるではないか。このファイルが本当に必要かどうか知らないけど、この記述をコメント化するとUSBが0になって、つまりデフォルトのカードとなりデフォルト決め打ちのFlashなどのアプリでも音が出る様になった..

3. MSI U100 (ネットブック)

(1) こいつも同様に/usrの容量が以下同文。

(2)無線LANの設定
Lenny では、U100で使われているwlanカード用の rtl8187seドライバの読み込みからif up までの手順をwlan接続スクリプトとして作って繋げていたのだが、Squeezeにしたらその手順では繋がらなくなってしまった。
ifupすると p80211なんてねーぞとエラーが出たり、なんでrtl8187seなのにp80211を読もうとするのか..とかわけ分からん状態。これは p80211がない、のではなく、p80211が不要なのにそれを供給するlinux-wlan-ngパッケージが入ってるからこそ出るエラーの様だ..ややこしい.. とりあえずlinux-wlan-ngはアンインストールした。
また、 ifup しても /etc/network/interfaces の essidを読んで動作してくれてない?とか、ifup時にdhcpの為か firestarterを切るスクリプトが動く仕組みが追加になってたり、システム的に動作が変わったみたいでもある。もともとハード的にもソフト的にも無線LANの仕組みをよく理解してないので、あれこれ弄って接続を試してみるしかなかった..
で、iwconfig wlan0 essid で essid を指定したのちifupするとアクセスポイントに繋がるとこまでは行ったがdhcpでアドレスが取れずリンクできず.. 放置するとavahiという仕組みで代替のアドレスが入ってしまう..しかし、タイミングによっては、そのまま放置した後ふと見るとアドレス取れてリンクできてたりと、非常に訳がわからない事になった。
まずドライバの読み込み、これはLennyの時と同様一度rmmod か modprobe -r してから modprobeで読み込ませるとちゃんと読んで認識する。
で、ifup だと interfacesで指定した essidを読んでくれないので、ifupの前にiwconfigでessidを指定してからifupする..これで指定アクセスポイントと物理的な通話は出来ている様である、のだがdhcpでアドレスもらえるまではネット的にはリンク出来てない事になる..
dhcpでのリンクが遅いのはどういう事かわからなかった。有線のeth0ではなんの問題もなくサクッとアドレス受けて繋がるからである.. 無線アクセスポイント側、あるいはADSLルーターの設定がわるいのか..で、 squeezeでは標準でipv6 が使える設定になっている? らしいのだが.. (ifconfig で ipv6のアドレスがどうとか出てくるから...) それが悪さをしてるのかも..と言うことで ipv6をdisableにしてみた..ら、なんとかリンクする様になった..
無線ルーターとのリンクはipv6だとダメ(というか極端に遅くなる..)なのかな..よく分からないが、とにかくipv6をdisableにすると早く接続出来るので、
/etc/sysctl.conf に
net.ipv6.conf.all.disable_ipv6=1
を追加してipv6を使わない設定にして、再起動する。
とまぁ、3晩程あれこれ試行錯誤したのだが、最終的にこれまでの方法、独自スクリプト経由でドライバ読んだりifupしたりする方法を止めてwicdというGUIなツールを使う事にした。やっぱりessidが固定とか、事ある度に起動スクリプトやinterfacesを書き換えするってのは使い辛いから。
GnomeもKDEもデフォでは使いたくないから、簡単と言われるそれらのネットワーク設定ツールをこれまであえて使わなかったわけである。
が、そうも言ってられないので Debian wikiにあるとおり wicdをインストールして、interfacesをほとんど何もない状態にして、wicd -n でGUIを立ち上げて、スキャンして現れたアクセスポイントに essidやらセキュリティー指定、パスフレーズ設定など、必要な設定をするだけ、なのだが、U100の特性としてwlanデバイスに関して接続前にデバイスドライバを読み直す形に、つまりこれまで手動や独自スクリプトでやってたのと同じ事をしないとうまく繋がらない。wicdでこれを行うには、ドライバの読み直しスクリプトを書いて、それをwicdの設定の Script から、Pre-connection Scriptとして指定してやればよい。

あるいは
/etc/wicd/scripts/preconnect
に接続前に走らせるスクリプトを置いておくだけで動くみたい..
スクリプトは単純に..
#/bin/sh
modprobe -r rtl8187se
modprobe rtl8187se
wpa-supplicant パッケージを入れてると、ちゃんと 認証WPA2-PSK 暗号化AESと言うモードでWPA2で使える様にもなった。
実はLennyの時もwpa-supplicantは入れていて、手動設定でやってたのだけどWPA2だとどうにも繋がらず普段は有線で、無線はWEPで使うという情けない運用をしていた..
以上の様にU100では無線LANにちょっとハマった..
まぁ今回 wicdで人並みの Wlan 環境が使える様になったのは収穫ではあるのだが、以上の一連の試行錯誤、相変わらずタコだなぁ...と感じた..
(3) mplayerのフルスクリーン時の表示
マルチメディア系はこれまで通りdebian multimediaの方がなにかと新しいのでmplayerを含めそちらのリポジトリを利用する事になるのだが、今回squeezeにupgradeしたら 再生時 -fs オプション、または fキーを押す、つまりフルスクリーンモードで動画再生すると、元動画が4:3の場合だと横一杯フルスクリーンになって、縦の下が切れてしまうという状態になってしまった。 U100は16:9に近いので、そこに4:3を再生する場合、本来上下一杯、左右は余って黒枠が出る、と言うのが正しいのだが、そうはならない。
mplayerのビデオドライバをsdlやらxvやら指定を変えてみたり、monitor aspectを弄ってみたりしたが、どれもうまくない.. 結局 man mplayerの中から見つけた答えは..
-fstype -fullscreen
と言うオプションを付ける事だった。でいちいち面倒なので /etc/mplayer/mplayer.confに
fstype= -fullscreen
を追加記述しておいた。
---
とまぁ、こんな感じかな.. いずれも/usrの容量不足に陥ったり、デバイスやら無線やらで変わった所があって、手放しですんなり、とはいかなかったけれど、終わってみると普通に動作するいつものDebian である。

OSと各種アプリがupgradeされたわけで、当然各アプリも色々進化している。gqviewはgeeqieになってヒストグラムやデジカメのraw画像の表示まで出来る様になってたり、



gkrellmやe16のこれバグかな、ってちょっと動作が変だった所が治ってたりする。 rxvt-unicode ってのがあって、unicode対応に加えてEtermみたいな透ける設定にもできたり.. U100では画面ブランク復帰時に輝度が最大になってしまう、という問題があったのだが squeezeでは治ってるし、無設定でもFn+F12 でちゃんとスリープモードに入る..ACPIが改良されている様だ.. そういう地味な改良もちゃんとされていたりするのがいいね。

ただ大きく変わって使い辛いかな、と思ったものもある。例えばamaroKは1.4 が2.3と大幅にバージョンupしたので大いに期待していたのが...使ってみると...


iPodにはちゃんと繋がるのだが、iPod内のプレイリストの編集とかがさくっと出来ないとか、Tabでの切り替えがメニュー式になって使い辛くなってたり..Amazonで買ったmp3ファイルはカバー写真が出てこなくなったり(1.4だと何もせずに出たのに).. KDEは使ってないので設定してない為か、ブラウザのレンダリングも変だ.. と言う風に、今のところ新バージョンはちょっと期待はずれ..

w3mmee は起動すると、以前と違って、なぜかCPUパワーを無駄に食ってる模様.. w3m そのものはそうではないので、w3mmeeはやめてw3mに戻す、とか...

まぁOSSを利用してると、そういう事もあるわけで、折り合いを付けたり、代替を探したりってことになるわけですが...いずれにしても、選択の自由があるわけで、この自由さ、居心地のよさがOSSやLinuxのよさであるわけだ。時々多少時間を食ったり悩んだりもするが、その自由さは何物にも替えがたい..