2008/05/19

ubuntu 7.10 から 8.04 へのアップグレード

x86_64版のubuntu 7.10を使っていましたが、私生活に若干の余裕が出てきたのでそろそろ8.04でも良いかなということでアップグレードをしてみました。
通常の方法を使ったのでGUIからアップデートマネージャーを起動して、8.04へのアップグレードのボタンを選択するだけでした。

普通ならここで終りですが、liloを使ってRAID5な/dev/md0を'/'(ルート)にしているせいか、そのままではエラーになり起動できなくなりました。

checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd

"LILO"のメッセージが出てくる前に'Alt'キーを押しっぱなしにしてメニューから古いカーネルを選択すると通常どおり起動できる事がわかり、8.04のカーネルかinitrd.imgが悪いという可能性が高くなります。
liloと"bad gzip magic numbers"ぐらいをキーワードに検索してみると、どうやら/etc/lilo.confに"large-memory"のオプションを追加すれば良いという事。けれど7.10で使っていたinitrd.imgと700KB程度しかサイズは違わないんですけどね。 まぁそれが分かれば、古いカーネルで起動した状態で /etc/lilo.conf を書き換えてから"sudo /sbin/lilo"を実行して無事に8.04への移行が完了しました。

2008/05/12

オノ・ヨーコさんの番組をみて

NHKから振り込み用紙が届いた。ケーブルテレビを解約したので団体契約からの変更するためだったけれど、電話をかけた時にはNHKのお姉さんの後ろからすごい笑い声が響いていた。 まぁ笑いのない冷い職場よりは良いけれど、複雑な心境です。

さてさてNHKでイマジン・ピース・タワーを扱った番組を放送していました。 平和を想像してみる、というコンセプトをみて何となく違和感を感じたのですが、平和な世の中というのが某宗教団体がパンフレットに載せているような争いのない世界なのかなというと、感情のある人間が集まる限りそんな事にはならないんじゃないかなと思いました。

人間が怒ったり、言い争いをする事はなくならないと思うけれど、その内容に注目する必要があって、「愛」がそこにあるかどうかが大切なんじゃないかなと思いました。
平和より、人間がその行動の中に愛を含めようというメッセージの方が、より信じられるのかなって思います。「戦争のない世の中」というよりも「愛のない争いのない世の中」の方が実現に向けてまだ信じられるって、番組をみていて感じました。番組自体はそういうメッセージを含んでいて、実現可能な未来について考えさせられる良い番組だったと思います。

2008/05/11

日曜日のテレビをみて

田原さんのテレビ番組というと、古いイメージがあって、今日は中曽根さん、土井さん、不破さんを集めて昔話をしていた。まぁ主義主張の違う人を集めておきながら、敗戦(終戦?どっちでもいいけれど)の時に玉音放送をいつ、どこで聞いたかといった内容だった。改憲した場合の9条の扱いについて、中曽根さんの言っている内容は筋が通って聞こえたけれど、自民党全体としてはそのように考えているのか微妙だった。

何にしても昔ばなしにはあんまり意味はなくて、三人に「熱い夏はいつだった?」と聞いて、三人とも「いま」と答えていたのが印象的だった。それに加えて学生を前にして「国に頼るな、望む方向へ変えていけ」と意見が一致しているのがおもしろかった。
この国の教育内容はこういった政治家たちの意見を反映させているようには思えないんですよね。

2008/05/10

実家に帰っている間にアパートのマシンに入るために22番ポートを開けてきたけれど、ログをみるといろんな痕跡が残っていた。とりあえず次のようなIDに対してログインを試みた痕跡があった。
非常時のshutdown用に"shutdown"なんてログインIDをパスワードなしで作るのもありえる話しとは思いますが、気をつけないとですね。 もっともsshd_configの設定でパスワードなしのログインを許可しない(PermitEmptyPasswords no)ようになっていない環境はインターネットに直接接続するのは危険すぎますが…。

adam,adm,admin,administrator,admins,agent,alan,alex,alias,amanda,amavisd,angel,apache,appowner,appserver,aptproxy,brett,core,cyrus,cyrusimap,dan,danny,data,david,dean,desktop,divine,eleve,eppc,frank,ftp,ftpuser,george,gopher,guest,halt,harrypotter,http,httpd,ident,identd,info,jabber,james,jeff,john,library,linux,mailman,mailnull,master,michael,mike,mysql,named,newsletter,nfsnobody,office,operator,oracle,party,paul,pgsql,pop,popa3d,postfix,postgres,postmaster,qtss,radiomail,recruit,richard,robert,rpc,rpcuser,rpm,sales,samba,sara,search,securityagent,sgi,shop,shutdown,smmsp,snort,spam,ssh,staff,stephen,steven,sunny,susan,telnetd,test,tokend,tomcat,tony,unknown,user,username,users,virus,visitor,web,webadmin,webmaster,webpop,windowserver,workshop,www,wwwrun,xgridagent,xgridcontroller,zzz
カスタマイズするためのオプションなので当たり前かもしれませんが、危険な設定のべき、べからず集の定番ってないですよね。検索すればいろいろでてくるんですが。

2008/05/08

gmailのメールを複数のPOPクライアントで共有する

AirH"のカードをGetしたので、WindowsとLinuxからSylpheed(2.4.x)を使って、gmailのメールを扱おうと思いました。メインはLinuxですけれども、ノートPCを持って出てもちゃんとメールが見れる環境も必要かなと思い準備してみました。
一応IMAPも使えるとは思ったのですが、むかし痛い目に当ったので今回は感情的な理由でPOPクライアントとしてSylpheedを扱っています。

通常のgmailの設定は、単一のPOPクライアント(Sylpheed)とWebブラウザからのgmailの共用ぐらいがちょうど良いように調整されているようです。
この状態でWindowsとLinuxの両方でSylpheedを使った場合、次のような状態になります。

  • Windows側でメールAを取り込む
  • Linux側で”受信”ボタンを押しても、メールAは表れない
  • Webブラウザからアクセスするgmail上では表示されている
Webブラウザからアクセスした場合にメールが消えている場合は、「アーカイブする」を設定していれば「すべてのメール」メニューからアクセスできますし、「削除する」を設定している場合には「ゴミ箱」に移動され30日後に削除されます。
その反面、POPクライアントで取り込んだメールを削除するように設定していても消えていかずにgmail上に残ってくれる点は特徴ともいえます。

やはり両方のSylpheedにメールが分散するのは管理が大変なので、両方で同じメールを受信させたいものです。このため、gmailのFAQにもありますが、接続する際のユーザー名の先頭に"recent:"の7文字を付け加えると、よくあるプロバイダが提供するようなPOPサーバーとして振る舞ってくれます。 ただし、この設定ではgmailの設定でメールを受信ボックスに残すようにしていてもPOPクライアントが削除を指示した場合には消えていきます。消えても30日以内はゴミ箱に移動するだけですから、あまり考えなくても良いかもしれません。

困った点は、この設定をしていて一度ゴミ箱からメールを受信トレイに移動したところ再度受信しメールが重複してしまったので、"recent:"を付けたらあまりgmail上のメールを移動させたりはせずに、そのまま使う方が良いようです。
将来複数のPOPクライアントからgmailにアクセスしたいのであれば、事前に"recent:"設定を入れて慣れておくと良いでしょう。もしWebブラウザと一つのPOPクライアントを使うのであれば、通常設定の方が扱い易いところだと思われます。

2008/05/07

RAID5を復旧させる

起動途中に電源を落としたりしたせいで、RAID5のディスク一つの同期が取られなくなり、sdc2が認識されずに下記のような状態 "UU_U"になってしまった。

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sda2[0] sdd2[3] sdb2[1]
      467370816 blocks level 5, 64k chunk, algorithm 2 [4/3] [UU_U]

unused devices: <none>

ちなみにdmesgに表示されている起動途中のメッセージは次のような感じです。

[   75.015810] md: md0 stopped.
[   75.023087] md: bind
[   75.023280] md: bind
[   75.023460] md: bind
[   75.023634] md: bind
[   75.023706] md: kicking non-fresh sdc2 from array!
[   75.023764] md: unbind
[   75.023818] md: export_rdev(sdc2)
[   75.029305] raid5: device sda2 operational as raid disk 0
[   75.029363] raid5: device sdd2 operational as raid disk 3
[   75.029418] raid5: device sdb2 operational as raid disk 1
[   75.030264] raid5: allocated 4262kB for md0
[   75.030322] raid5: raid level 5 set md0 active with 3 out of 4 devices, algorithm 2

さて、ここで sdc2 を復旧します。すでにsdc2はremoved状態になっているので

$ sudo mdadm -D /dev/md0
....
    Number   Major   Minor   RaidDevice State
       0       8        2        0      active sync   /dev/sda2
       1       8       18        1      active sync   /dev/sdb2
       2       0        0        2      removed
       3       8       50        3      active sync   /dev/sdd2

追加は普通にmdadmで追加します。

$ sudo mdadm /dev/md0 --add /dev/sdc2

この直後は/proc/mdstatに進捗が表示されるので終るまで過激なI/Oは一応避けます。

$ while true ; do cat /proc/mdstat ; sleep 5 ; done
$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sdc2[4] sda2[0] sdd2[3] sdb2[1]
      467370816 blocks level 5, 64k chunk, algorithm 2 [4/3] [UU_U]
      [>....................]  recovery =  0.1% (201996/155790272) finish=51.3min speed=50499K/sec

さて本格的に壊れなくてよかったなと思いますが、起動する度に sda2 や sdb2 が見えなかった事もあったので物理的には弱いと思いますが、論理的な破壊では意外にRAID5は頑丈なのかもしれません。RAID10も復旧に関しては同じか、RAID5よりもお手軽に解決するでしょうけれども。 まぁバックアップはpdumpfsを使ってUSB接続の外部ディスクに/usr/local, /homeに限定して定期的に取っているので何かあっても大丈夫でしょう。