Debian GNU/Linux(lenny)をインストールしてみる:squeezeへアップグレード

「もっと新しいのがいい」とか「多少のトラブルは、勉強のつもりだから」というのであれば、次期正式版(6.0)の候補として開発の進んでいる"squeeze"と呼ばれるテスト版か、コードネーム"sid"と呼ばれる不安定版をインストールすればいいでしょう。

Debian GNU/Linux(lenny)をインストールしてみる:準備編 - Soukaku's HENA-CHOKO Blog

と書いておいたら、squeezeが正式版としてリリースされました。(ニュースリリースはこちら。)
#新しいテスト版はコードネーム"wheezy"になるのか・・・。

早速、アップデートしてみようというわけだけど、Debianが使っているパッケージングシステムでは、どのアーカイブミラーからダウンロードするのか、どのバージョンを使うのか、といった情報は、"/etc/apt/sources.list"に設定されています。
"/etc/apt/sources.list"の中の

deb http://ftp.jp.debian.org/debian/ lenny main

のように書いてあるうちの"lenny"と書いてある部分を、"squeeze"に書き換えてあげれば準備OKということになります。

エディタで書き換えてもいいのだけど、複数行あるのでちまちま変更するのも面倒なので、今回はperlを使って一気に書き換えてしまう方法を使ってみます。

debian:~# perl -pi.bak -e 's/lenny/squeeze/' /etc/apt/sources.list

書き換えるときに、元のファイルも残すようにしておいたので、変更前後で比較してみると、次のとおり。

debian:~# diff -u /etc/apt/sources.list.bak /etc/apt/sources.list
--- /etc/apt/sources.list.bak   2011-01-24 23:34:24.000000000 +0900
+++ /etc/apt/sources.list       2011-02-06 15:02:25.000000000 +0900
@@ -1,13 +1,13 @@
 #
-# deb cdrom:[Debian GNU/Linux 5.0.7 _Lenny_ - Official i386 NETINST Binary-1 20101128-01:05]/ lenny main
+# deb cdrom:[Debian GNU/Linux 5.0.7 _Lenny_ - Official i386 NETINST Binary-1 20101128-01:05]/ squeeze main
-#deb cdrom:[Debian GNU/Linux 5.0.7 _Lenny_ - Official i386 NETINST Binary-1 20101128-01:05]/ lenny main
+#deb cdrom:[Debian GNU/Linux 5.0.7 _Lenny_ - Official i386 NETINST Binary-1 20101128-01:05]/ squeeze main
-deb http://ftp.jp.debian.org/debian/ lenny main
-deb-src http://ftp.jp.debian.org/debian/ lenny main
+deb http://ftp.jp.debian.org/debian/ squeeze main
+deb-src http://ftp.jp.debian.org/debian/ squeeze main
-deb http://security.debian.org/ lenny/updates main
-deb-src http://security.debian.org/ lenny/updates main
+deb http://security.debian.org/ squeeze/updates main
+deb-src http://security.debian.org/ squeeze/updates main
-deb http://volatile.debian.org/debian-volatile lenny/volatile main
-deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
+deb http://volatile.debian.org/debian-volatile squeeze/volatile main
+deb-src http://volatile.debian.org/debian-volatile squeeze/volatile main

行頭に"-"がある行が変更前、"+"なのが変更後です。こうしてみると、ちゃんと置き換わっているのが分かると思います。
"#deb cdrom:~"の部分は、CD-ROMやDVDからパッケージをインストールするための設定ですが、今の設定ではコメントになっているので、無視して構いません。
diffコマンドがない、という場合は、"aptitude install diff"でインストールを。


あとは、パッケージデータベースのアップデートをして、

debian:~# aptitude update
取得:1 http://ftp.jp.debian.org squeeze Release.gpg [1671B]
無視 http://ftp.jp.debian.org squeeze/main Translation-ja
取得:2 http://ftp.jp.debian.org squeeze Release [69.3kB]
取得:3 http://security.debian.org squeeze/updates Release.gpg [835B]
無視 http://security.debian.org squeeze/updates/main Translation-ja
取得:4 http://security.debian.org squeeze/updates Release [38.4kB]
取得:5 http://ftp.jp.debian.org squeeze/main Packages [8631kB]
無視 http://volatile.debian.org squeeze/volatile Release.gpg
無視 http://volatile.debian.org squeeze/volatile/main Translation-ja
取得:6 http://security.debian.org squeeze/updates/main Packages [57.3kB]
無視 http://volatile.debian.org squeeze/volatile Release
取得:7 http://security.debian.org squeeze/updates/main Sources [8026B]
無視 http://volatile.debian.org squeeze/volatile/main Packages
無視 http://volatile.debian.org squeeze/volatile/main Sources
エラー http://volatile.debian.org squeeze/volatile/main Packages
  404 Not Found [IP: 130.89.149.227 80]
エラー http://volatile.debian.org squeeze/volatile/main Sources
  404 Not Found [IP: 130.89.149.227 80]
取得:8 http://ftp.jp.debian.org squeeze/main Sources [4822kB]
13.6MB を 22s 秒でダウンロードしました (609kB/s)
パッケージリストを読み込んでいます... 完了
現在の状態: 更新が 247 個 [+247], 新規が 27994 個 [+27994]。

のように、更新するパッケージの数が何個、というように表示されれば更新完了。

次に、"aptitude safe-upgrade"を実行して、アップデート対象パッケージと、依存関係を解決するために必要になる必要最低限のパッケージのインストールを実行します。

debian:~# aptitude safe-upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
依存関係を解決中...
未解決: 7; 解決済み: 591; 保留: 1016; 競合: 13                                                              .依存関係を##決中...
未解決: 4; 解決済み: 665; 保留: 1142; 競合: 15                                                              .以下のパッ##ージが一時固定されています:
  apt apt-utils aptitude
以下の新規パッケージがインストールされます:
  binutils{a} ca-certificates{a} cpp-4.4{a} dash{a} diffutils{a} dkms{a} dmsetup{a} fakeroot{a}
  firmware-linux-free{a} gcc{a} gcc-4.3{a} gcc-4.4{a} gcc-4.4-base{a} geoip-database{a} gnupg-curl{a} grub-pc{a}
  insserv{a} install-info{a} isc-dhcp-client{a} isc-dhcp-common{a} keyboard-configuration{a} libaudit0{a}
  libbind9-60{a} libbsd0{a} libc-bin{a} libc-dev-bin{a} libc6-dev{a} libcurl3-gnutls{a} libdb4.7{a} libdb4.8{a}
  libdns69{a} libdrm-intel1{a} libdrm-radeon1{a} libevent-1.4-2{a} libfile-copy-recursive-perl{a}
  libfont-freetype-perl{a} libgeoip1{a} libgomp1{a} libgpgme11{a} libgssapi-krb5-2{a} libisc62{a} libisccc60{a}
  libisccfg62{a} libk5crypto3{a} libkrb5-3{a} libkrb5support0{a} liblwres60{a} liblzma2{a} libmpfr4{a}
  libnfnetlink0{a} libpciaccess0{a} libpth20{a} libreadline6{a} libsasl2-modules{a} libtokyocabinet8{a} libudev0{a}
  libuuid-perl{a} libxcomposite1{a} libxrandr2{a} libxrender1{a} linux-base{a} linux-headers-2.6.32-5-common-xen{a}
  linux-headers-2.6.32-5-xen-686{a} linux-image-2.6.32-5-686{a} linux-kbuild-2.6.32{a} linux-libc-dev{a}
  lockfile-progs{a} make{a} manpages-dev{a} menu{a} openssl{a} os-prober{a} python-reportbug{a} python-support{a}
  python2.6{a} python2.6-minimal{a} sensible-utils{a} virtualbox-ose-guest-dkms{a} virtualbox-ose-guest-x11{a}
  xserver-common{a} xserver-xorg-input-evdev{a} xz-utils{a}
以下のパッケージが削除されます:
  dbus{u} dbus-x11{u} libbind9-50{u} libdbus-1-3{u} libgl1-mesa-glx{u} libhal1{u} libisccc50{u} libisccfg50{u}
  liblwres50{u} libmpfr1ldbl{u} libxcb-xlib0{u} libxxf86vm1{u}
以下のパッケージが更新されます:
  acpi-support-base acpid adduser at base-files base-passwd bash bash-completion bc bind9-host bsd-mailx
  bsdmainutils bsdutils busybox console-common console-data console-tools coreutils cpio cpp cpp-4.3 cron dc
  debconf debconf-i18n debian-archive-keyring debian-faq debianutils defoma dhcp3-client dhcp3-common
  dictionaries-common diff dmidecode dnsutils doc-debian dpkg e2fslibs e2fsprogs ed eject emacsen-common exim4
  exim4-base exim4-config exim4-daemon-light file findutils ftp gcc-4.3-base gettext-base gnupg gpgv grep
  groff-base grub grub-common gzip hostname iamerican ibritish ifupdown info initramfs-tools initscripts
  installation-report iproute iptables iputils-ping ispell jfbterm klibc-utils laptop-detect less libacl1
  libasound2 libattr1 libblkid1 libbz2-1.0 libc6 libc6-i686 libcap2 libcomerr2 libconsole libcwidget3 libdb4.6
  libdevmapper1.02.1 libdrm2 libedit2 libexpat1 libfontenc1 libfreetype6 libgc1c2 libgcc1 libgcrypt11 libgdbm3
  libgl1-mesa-dri libgmp3c2 libgnutls26 libgpg-error0 libgpm2 libgssglue1 libice6 libidn11 libkeyutils1 libklibc
  libkrb53 libldap-2.4-2 liblocale-gettext-perl liblockfile1 libmagic1 libncurses5 libncursesw5 libnewt0.52
  libnfsidmap2 libpam-modules libpam-runtime libpam0g libpci3 libpcre3 libpixman-1-0 libpopt0 libreadline5
  librpcsecgss3 libsasl2-2 libselinux1 libsepol1 libsigc++-2.0-0c2a libslang2 libsm6 libsqlite3-0 libss2
  libssl0.9.8 libstdc++6 libtasn1-3 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libusb-0.1-4
  libuuid1 libwrap0 libx11-6 libx11-data libxau6 libxaw7 libxcb1 libxdamage1 libxdmcp6 libxext6 libxfixes3
  libxfont1 libxkbfile1 libxml2 libxmu6 libxmuu1 libxpm4 libxt6 linux-image-2.6-686 locales login logrotate
  lsb-base lsof m4 makedev man-db manpages manpages-ja manpages-ja-dev mawk mime-support mktemp mlocate
  module-init-tools mount mutt nano ncurses-base ncurses-bin ncurses-term net-tools netbase nfs-common
  openbsd-inetd openssh-client openssh-server passwd patch pciutils perl perl-base perl-modules portmap procmail
  procps python python-central python-minimal python2.5 python2.5-minimal readline-common reportbug rsyslog sed
  sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tcpd texinfo time traceroute tzdata ucf udev
  update-inetd usbutils util-linux vim-common vim-tiny virtualbox-ose-guest-utils w3m wamerican wget whiptail whois
  x11-common x11-xkb-utils xauth xfonts-base xfonts-encodings xfonts-utils xkb-data xserver-xorg xserver-xorg-core
  zlib1g
以下のパッケージが推奨されていますがインストールされません:
  libatm1 libfribidi0 libpng12-0 psmisc uuid-runtime xml-core
更新: 238 個、新規インストール: 82 個、削除: 12 個、保留: 3 個。
191MB のアーカイブを取得する必要があります。展開後に 239MB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] 

バージョンの上がったパッケージと、lenny→squeezeで新規に追加されるパッケージがリストアップされたのを確認したら、"y"をタイプして先に進みます。
途中何回か回答を求めるダイアログが表示されるけど、基本的には"OK"または"Yes"のまま進めていってください。

Installing new version of config file /etc/init.d/openbsd-inetd ...
Stopping internet superserver: inetd.
Not starting internet superserver: no services enabled.
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.32-5-686
Processing triggers for python-support ...
Processing triggers for menu ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了
現在の状態: 更新が 3 個 [-244]。
debian:~# 

"現在の状態"にまだ3個更新しないといけないパッケージああると出ているので、続けて"aptitude full-upgrade"を実行。

debian:~# aptitude full-upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了
以下のパッケージは依存関係が壊れています:
  libept0
以下の新規パッケージがインストールされます:
  apt-xapian-index{a} iso-codes{a} libboost-iostreams1.42.0{a} libept1{a} libxapian22{a} lsb-release{a}
  python-apt{a} python-apt-common{a} python-chardet{a} python-debian{a} python-xapian{a}
以下のパッケージが更新されます:
  apt apt-utils aptitude
以下のパッケージが推奨されていますがインストールされません:
  aptitude-doc-cs aptitude-doc-en aptitude-doc-es aptitude-doc-fi aptitude-doc-fr aptitude-doc-ja
  libparse-debianchangelog-perl
更新: 3 個、新規インストール: 11 個、削除: 0 個、保留: 0 個。
13.0MB のアーカイブを取得する必要があります。展開後に 27.1MB のディスク領域が新たに消費されます。
以下のパッケージには満たされていない依存関係があります:
  libept0: 依存: libapt-pkg-libc6.7-6-4.6[仮想パッケージです]
以下のアクションでこれらの依存関係の問題は解決されます:
以下のパッケージを削除する:
libept0
スコアは 119 です
この解決方法を受け入れますか? [Y/n/q/?]

依存関係を解決するのに、削除しないといけないパッケージがあるので削除するかどうか聞かれているので"y"とタイプして先に進む。

この解決方法を受け入れますか? [Y/n/q/?]y
以下の新規パッケージがインストールされます:
  apt-xapian-index{a} iso-codes{a} libboost-iostreams1.42.0{a} libept1{a} libxapian22{a} lsb-release{a}
  python-apt{a} python-apt-common{a} python-chardet{a} python-debian{a} python-xapian{a}
以下のパッケージが削除されます:
  libept0{a}
以下のパッケージが更新されます:
  apt apt-utils aptitude
以下のパッケージが推奨されていますがインストールされません:
  aptitude-doc-cs aptitude-doc-en aptitude-doc-es aptitude-doc-fi aptitude-doc-fr aptitude-doc-ja
  libparse-debianchangelog-perl
更新: 3 個、新規インストール: 11 個、削除: 1 個、保留: 0 個。
13.0MB のアーカイブを取得する必要があります。展開後に 23.1MB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] 

アップグレードを進めるのか聞かれたら、ここも"y"とタイプして先に進みます。
パッケージのダウンロードとインストールが終わって

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了
現在の状態: 更新が 0 個 [-3]。
debian:~# 

となれば、アップグレードは終了。
あとは、"/etc/debian_version"の中身を確認して

debian:~# cat /etc/debian_version
6.0

と表示されれば、squeeze化の完了です。

トラックバック(0)

コメントする