スキップしてメイン コンテンツに移動

サーバのDebianをSqueezeに上げるのだ

2月6日にめでたくDebian 6.0、コードネームsqueezeがリリースされましたね。
特に大きな不具合の話も聞かないので、VPSじゃない方のサーバのアップグレードをしちゃいましょう。

VPSな方はdtiのserverman@vpsでDebianを運用しているんですが、dtiのvpsは完全仮想化じゃないから
ちょっと気持ち悪いので、しばらくはlennyのまま放っておく事にします。

ということで、早速アップデートを始めますが、まずはリリースノートにしっかりと目を通しておきます。
http://www.debian.org/releases/squeeze/releasenotes

4章、5章あたりがアップグレードをするのにとても重要ですね。

このサーバでは新しめのKVMを使いたかったので、backportsからKVMをインストールしていました。
KVMとかvirt-managerに依存しているパッケージだけなので、ここが壊れてもインストールし直せばいいだけなので
安心ですね。

ということで4章を読みながらアップグレード!

まずはソースリストを編集します。
# vi /etc/apt/sources.list
コードネームで指定しているので、lennyな所をsqueezeに書き換えます。

あと、これまでnon-freeなパッケージは使っていないのでaptラインにも含めていなかったのですが、squeezeからは
ファームウェアがnon-freeに入るようになるらしいので、aptラインにnon-freeも追加しておきます。

最終的な/etc/apt/sources.listはこんな感じになりました。
deb http://ftp.jp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ squeeze main contrib non-free

deb http://ftp.jp.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ squeeze-updates main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

で、1発目のアップグレード。
# apt-get upgrade

4.4.5の記載に則って、カーネルとudevを手動でアップグレードします。
# apt-get install linux-image-amd64
# apt-get install udev


あとはdist-upgradeで畳み掛けます!
# apt-get dist-upgrade

dist-upgradeも特に問題なく完了しましたが、
insserv: warning: script 'K19libvirt-suspendonreboot' missing LSB tags and overrides
って怒られちゃいました。このスクリプトは、サーバのシャットダウン時に起動中のKVM仮想マシンをサスペンドさせる
ために作ったやつで、LSBタグがないよっていわれています。

リリースノートにも書かれているようにsqueezeではinsservによる依存関係ベースの起動シーケンスに変更されているとのことなので対応しておく。
ひとまずLSBタグに以下を設定。
### BEGIN INIT INFO
# Provides: libvirtd-suspendonreboot
# Required-Start: libvirtd
# Required-Stop: $remote_fs $syslog libvirtd
# Should-Start: hal avahi
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: libvirt suspend on reboot
### END INIT INFO
依存関係はかなり適当にしているから、これで大丈夫かは・・・。
依存関係ベースの起動に移行させる為に
dpkg-reconfigure sysv-rc
を実行します。

とりあえず怒られないようになりました。

ここで緊張の再起動。
# reboot

grub1からチェインロードでgrub2が起動して、無事squeezeが起動しました。
grub2から起動できることが確認できたので、とっととgrub2に移行しちゃいます。
# upgrade-from-grub-legacy

で、またまた再起動!
grub2からちゃんと起動することができました。

これでひとまずsqueezeへのアップグレードは大丈夫かな。

コメント

このブログの人気の投稿

MacからWindowsの名前解決をする

Windowsな環境だと、NetBIOSでコンピュータ名で名前解決ができたりしてとても便利です。そんなこともあって、一時期はLinuxサーバに用がなくてもSambaをインストールしたりしていた時代もありました。 ですがMacからはNetBIOS名で名前解決してくれません。Windowsとのファイル共有にはSambaが使われているので、NetBIOSで名前解決しようと思えば簡単にできるはずですが、色々あるんでしょうね。きっと。 実際のところ、ファイル共有だけであればWindowsでもLinux上のSambaでも問題なくできるんですが、pingを打ちたい時や、pingを打ちたい時、ほかhttpとかデータベースに繋げたい時とかに困るんです。pingを打ちたい時の方が多いですが。 とりあえず手動でなら、NetBIOS名からIPアドレスは引けたりします。おもむろにターミナルを開いて $ smbutil lookup ホスト名 とすれば、IPアドレスが引けます。 ので、このIPアドレスを指定してping打ったり、他色々できますが、面倒でやってられませんね。 じゃあMacでNetBIOSのようなものってないのかというと、ちゃんとあって、mDNSという仕組みが使われています。 mDNSの詳しいことは後日調べるとして、LinuxならavahiをWindowsならBonjourをインストールして、ホスト名.localで名前解決ができるようになります。 他、DHCPサーバとDNSサーバを連動されてあげれば、ソフトを追加でインストールしなくて済むのでスマートに仕上がりますが、最近は面倒なのでDHCPサーバはブロードバンドルータに任せっきりなのでありました。 Bonjour for Windowsのダウンロードがイマイチ良く分からないことになっています。 とりあえず Bonjour Print Services for Windows をダウンロードすれば大丈夫そう。

アマチュア無線

年末になぜか突然ドローンレースに興味が湧いてきました。 ドローンレースといっても色々なレギュレーションがあって、入門的なのでは目視で行うレースもありますが、本格的なレースになるとFPV(First Person View)といって、ゴーグルを装着してドローン視点で操縦を行うみたいです。 リアルなVRな感じですね。リアルなんですが。 さながらスターウォーズ エピソード1のポッドレースのような体験ができそうで、面白そうだなと。 このFPVでは無線で映像を飛ばしているのですが、日本国内で使うためにはアマチュア無線4級の免許が必要だったり、その他いろいろと手続きが要るみたいなんです。 ということでアマチュア無線4級の受験をしてみようと思います。 アマチュア無線の試験を受けることになるとはまったく思っていなかったのですが、ドローンのおかげでアマチュア無線資格界隈はかなりホクホクしていそうですね。 アマチュア無線の試験は同じ日に全国で一斉に行われている訳ではないみたいで、試験の日がこちらで公開されています。 http://www.nichimu.or.jp/kshiken/pdf/ama3-4.pdf 近場で直近だと熊本の2月2日の試験ですね。 っと思ったら、受付期間過ぎてました。 となると、3月8日の北九州会場ですね。 まずは1月1日から20日の間に忘れずに申し込みができるかですね。忘れないようにがんばろう!自分 ということで、とりあえず参考書を2つほどポチってみました。

DebianをSqueezeに上げたらKVMの仮想マシンが起動しなくなった

先日、無事にサーバのDebianをSqueezeにアップグレードした訳ですが、KVMの仮想マシンが起動しなくなっていたのをメモしとくの忘れていました。 実際のところ、KVMの仮想マシンが起動しなくなるという訳ではなくて、libvirtを使っていて、且つ、仮想HDDをrawフォーマット以外(qcow2とか)を使っている場合に Starting SeaBIOS (version 0.5.1-20101112_103537-polaris) Booting from Hard Disk... Boot failed: not a bootable disk No bootable device. なんて可愛らしメッセージが表示されちゃいます。 あまりの可愛らしさに胸がズキューンってなっちゃいますね。 これはlibvirtのバージョンが上がって、XMLのフォーマットに変更が入っているのが原因みたいです。新しいXMLのフォーマットではdiskにdriver要素が指定できるようになっているんですが、指定されていない場合はrawフォーマットとして扱われてるみたいです。 XMLフォーマットの詳細は こちら なのでdriver要素を指定して上げれば問題なく起動します。でもdriver要素チマチマ追加するの面倒だなぁと思っていたら、virshから編集すると、自動的にdriver要素追加してくれてました(rawになってるけど) $ sudo virsh edit ドメイン名 で、rawになっている部分を、実際に使用しているフォーマットに変更して上げればOK。 というかvirshのeditって今回初めて使ったんですが、defineしなくていいので楽チンですね。 今まではXMLファイルを編集して、その後 virsh defineやってました。