Karmicアップデート後にすべきこと (7): パッケージ名の変わったパッケージを整理
今度もUbuntu 9.10の話。前回同様、ディストリビューションバージョンが増えるたび、パッケージ名の変わったパッケージは大量に発生する。
そこで、この作業の確立したストラテジを私は知らないので、いつも次のようにやっている。
- 数字が大きくなったものを機械的に検出
- それぞれのディストリビューションバージョン (e.g. Jaunty, Karmic, lucid ...) のパッケージリストを目視で比較
この記事を書いたときに使った環境(Jaunty→Karmic)では、88パッケージあった。
1. 数字が大きくなったものを自動検出
実際にはここに書いていないワンライナーも含めて、システマティックに検出してみる
dpkg --get-selections | grep deinstall | awk '{sub(/[0-9].*/, "", $1); print $1}' | xargs -i dpkg -l "{}*"
してきたstdoutを解析。
rc gij-4.2 4.2.4-5ubuntu1 The GNU Java bytecode interpreter ii gij-4.3 4.3.4-4ubuntu1 The GNU Java bytecode interpreter un gij-4.4 <none> (no description available)
rc grub 0.97-29ubuntu58 GRand Unified Bootloader ii grub2 1.97~beta4-1ubuntu1 GRand Unified Bootloader, version 2 (dummy p
rc libass1 0.9.5-2 library for SSA/ASS subtitles rendering ii libass3 0.9.6-1 library for SSA/ASS subtitles rendering
rc libavahi-core5 0.6.23-4ubuntu4 Avahi's embeddable mDNS/DNS-SD library ii libavahi-core6 0.6.25-1ubuntu4 Avahi's embeddable mDNS/DNS-SD library
rc libbind9-40 1:9.5.1.dfsg.P2-1ubuntu0.1 BIND9 Shared Library used by BIND ii libbind9-50 1:9.6.1.dfsg.P1-3 BIND9 Shared Library used by BIND
rc libboost-regex1.35.0 1.35.0-8ubuntu5 regular expression library for C++ ii libboost-regex1.38.0 1.38.0-6ubuntu6 regular expression library for C++
rc libdatrie0 0.1.3-2 Double-array trie library ii libdatrie1 0.2.2-1 Double-array trie library
rc libdirectfb-1.0-0 1.0.1-11ubuntu1 direct frame buffer graphics - shared librar ii libdirectfb-1.2-0 1.2.7-2ubuntu1 direct frame buffer graphics - shared librar
rc libdns45 1:9.5.1.dfsg.P2-1ubuntu0.1 DNS Shared Library used by BIND ii libdns50 1:9.6.1.dfsg.P1-3 DNS Shared Library used by BIND
rc libdvbpsi4 0.1.5-3.1 library for MPEG TS and DVB PSI tables decoding and generating ii libdvbpsi5 0.1.6-1 library for MPEG TS and DVB PSI tables decoding and generating
ii libevent-1.4-2 1.4.11-stable-1 An asynchronous event notification library rc libevent1 1.3e-3 An asynchronous event notification library
rc libffado0 2.0~rc1-0ubuntu2 FFADO API ii libffado1 2.0~rc2+svn1569-2ubuntu1 FFADO API
rc libffmpegthumbnailer2 1.3.0-1 the ffmpegthumbnailer library ii libffmpegthumbnailer3 1.5.4-1build1 the ffmpegthumbnailer library
rc libflickrnet2.1.5-cil 25277-6ubuntu4 Flickr.Net API Library ii libflickrnet2.2-cil 1:2.2.0-1 Flickr.Net API Library
ii libgcj10 4.4.1-5ubuntu2 Java runtime library for use with gcj rc libgcj8-1 4.2.4-5ubuntu1 Java runtime library for use with gcj ii libgcj9-0 4.3.4-4ubuntu1 Java runtime library for use with gcj
rc libgnomekbd3 2.26.0-0ubuntu2 GNOME library to manage keyboard configuration - shared libra ii libgnomekbd4 2.28.0-0ubuntu2 GNOME library to manage keyboard configuration - shared libra
rc libgnomekbdui3 2.26.0-0ubuntu2 User interface library for libgnomekbd - sha ii libgnomekbdui4 2.28.0-0ubuntu2 User interface library for libgnomekbd - sha
rc libgnustep-base1.16 1.16.3-3ubuntu1 GNUstep Base library ii libgnustep-base1.19 1.19.0-2ubuntu1 GNUstep Base library
rc libgnustep-gui0.14 0.14.0-4ubuntu1 GNUstep GUI Library ii libgnustep-gui0.16 0.16.0-2 GNUstep GUI Library
rc libgoffice-0-6 0.6.6-1ubuntu1.1 Document centric objects library - runtime files ii libgoffice-0-8 0.7.8-1ubuntu1 Document centric objects library - runtime files
rc libindicate1 0.1.6-0ubuntu1 GNOME panel indicator applet - shared librar ii libindicate3 0.2.3-0ubuntu1 GNOME panel indicator applet - shared librar
rc libisc45 1:9.5.1.dfsg.P2-1ubuntu0.1 ISC Shared Library used by BIND ii libisc50 1:9.6.1.dfsg.P1-3 ISC Shared Library used by BIND
rc libisccc40 1:9.5.1.dfsg.P2-1ubuntu0.1 Command Channel Library used by BIND ii libisccc50 1:9.6.1.dfsg.P1-3 Command Channel Library used by BIND
rc libisccfg40 1:9.5.1.dfsg.P2-1ubuntu0.1 Config File Handling Library used by BIND ii libisccfg50 1:9.6.1.dfsg.P1-3 Config File Handling Library used by BIND
rc libk3b3 1.0.5+kde4svn935857+really1.0.5-3ubuntu5 The KDE cd burning application library - run ii libk3b6 1.66.0~alpha2-0ubuntu7 The KDE cd burning application library - run
rc liblwres40 1:9.5.1.dfsg.P2-1ubuntu0.1 Lightweight Resolver Library used by BIND ii liblwres50 1:9.6.1.dfsg.P1-3 Lightweight Resolver Library used by BIND
rc libmagickcore1 7:6.4.5.4.dfsg1-1ubuntu3.1 low-level image manipulation library ii libmagickcore2 7:6.5.1.0-1.1ubuntu3 low-level image manipulation library
rc libmagickwand1 7:6.4.5.4.dfsg1-1ubuntu3.1 image manipulation library ii libmagickwand2 7:6.5.1.0-1.1ubuntu3 image manipulation library
rc libnm-glib0 0.7.1~rc4.1.cf199a964-0ubuntu2 network management framework (GLib shared library) ii libnm-glib2 0.8~a~git.20091013t193206.679d548-0ubuntu1 network management framework (GLib shared library)
rc libntfs-3g49 1:2009.2.1-0ubuntu2 ntfs-3g filesystem in userspace (FUSE) libra ii libntfs-3g54 1:2009.4.4-1ubuntu4 ntfs-3g filesystem in userspace (FUSE) libra
rc libopal3.6.1 3.6.1~dfsg-0ubuntu2 Open Phone Abstraction Library - successor o ii libopal3.6.4 3.6.4~dfsg-1ubuntu1 Open Phone Abstraction Library - successor o
rc libparted1.8-10 1.8.8.git.2008.03.24-11.1ubuntu6 The GNU Parted disk partitioning shared libr ii libparted1.8-12 1.8.8.git.2009.06.03-1ubuntu6 The GNU Parted disk partitioning shared libr
rc libpoppler4 0.10.5-1ubuntu2.2 PDF rendering library ii libpoppler5 0.12.0-0ubuntu1 PDF rendering library
ii libraw1394-11 2.0.4-1ubuntu1 library for direct access to IEEE 1394 bus (aka FireWire) rc libraw1394-8 1.3.0-4ubuntu1 library for direct access to IEEE 1394 bus (aka FireWire)
rc libsgutils1 1.24-2 Utilities for working with generic SCSI devi ii libsgutils2-2 1.27-0.1 utilities for working with generic SCSI devi
rc libtulip-3.0.0b6 3.0.0~B6-2.1 Tulip graph library - core runtime ii libtulip-3.1 3.1.2-2ubuntu2 Tulip graph library - core runtime
rc libtulip-ogl-3.0.0b6 3.0.0~B6-2.1 Tulip graph library - OpenGL runtime ii libtulip-ogl-3.1 3.1.2-2ubuntu2 Tulip graph library - OpenGL runtime
rc libtulip-qt4-3.0.0b6 3.0.0~B6-2.1 Tulip graph library - Qt/OpenGL GUI runtime ii libtulip-qt4-3.1 3.1.2-2ubuntu2 Tulip graph library - Qt/OpenGL GUI runtime
rc libvlccore0 0.9.9a-2ubuntu1 base library for VLC and its modules ii libvlccore2 1.0.2-1ubuntu1 base library for VLC and its modules
rc libx264-65 1:0.svn20081230-0.0ubuntu1 x264 video coding library ii libx264-67 1:0.svn20090621+git364d7d-0ubuntu2 x264 video coding library
rc libxklavier12 3.9-0ubuntu2 X Keyboard Extension high-level API ii libxklavier15 4.0-0ubuntu4 X Keyboard Extension high-level API
rc libzephyr3 2.1.20070719.SNAPSHOT-3 Project Athena's notification service - non-Kerberos libraries ii libzephyr4 3.0~rc.2544-1 Project Athena's notification service - non-Kerberos libraries
ということで、ゴニョった上で、
$ sudo aptitude purge gij-4.2 grub libass1 libavahi-core5 libbind9-40 \ libboost-regex1.35.0 libdatrie0 libdirectfb-1.0-0 libdns45 libdvbpsi4 \ libevent1 libffado0 libffmpegthumbnailer2 libflickrnet2.1.5-cil \ libgcj8-1 libgnomekbd3 libgnomekbdui3 libgnustep-base1.16 \ libgnustep-gui0.14 libgoffice-0-6 libindicate1 libisc45 libisccc40 \ libisccfg40 libk3b3 liblwres40 libmagickcore1 libmagickwand1 \ libnm-glib0 libntfs-3g49 libopal3.6.1 libparted1.8-10 libpoppler4 \ libraw1394-8 libsgutils1 libtulip-3.0.0b6 libtulip-ogl-3.0.0b6 \ libtulip-qt4-3.0.0b6 libvlccore0 libx264-65 libxklavier12 libzephyr3 [...] The following packages will be REMOVED: gij-4.2{p} grub{p} libass1{p} libavahi-core5{p} libbind9-40{p} libboost-regex1.35.0{p} libdatrie0{p} libdirectfb-1.0-0{p} libdns45{p} libdvbpsi4{p} libevent1{p} libffado0{p} libffmpegthumbnailer2{p} libflickrnet2.1.5-cil{p} libgcj8-1{p} libgnomekbd3{p} libgnomekbdui3{p} libgnustep-base1.16{p} libgnustep-gui0.14{p} libgoffice-0-6{p} libindicate1{p} libisc45{p} libisccc40{p} libisccfg40{p} libk3b3{p} liblwres40{p} libmagickcore1{p} libmagickwand1{p} libnm-glib0{p} libntfs-3g49{p} libopal3.6.1{p} libparted1.8-10{p} libpoppler4{p} libraw1394-8{p} libsgutils1{p} libtulip-3.0.0b6{p} libtulip-ogl-3.0.0b6{p} libtulip-qt4-3.0.0b6{p} libvlccore0{p} libx264-65{p} libxklavier12{p} libzephyr3{p} 0 packages upgraded, 0 newly installed, 42 to remove and 5 not upgraded.
とした。
88パッケージ中、ほぼ半分の42パッケージが片付いた。
2. パッケージリストを目視で比較
88パッケージ中の残り46パッケージをどうにかする。
そのうち31パッケージは既にレポジトリにすらないもの。15パッケージはまだある。
2.1 システマティックな改名
バージョンアップに伴う、システマティックな改名
- libbeecrypt6 (jaunty) --> libbeecrypt7 (karmic)
- 7は自動的には入ってこなかったみたいなので、削除。
- libuniconf4.4 (jaunty) --> libuniconf4.6 (karmic)
- 4.6は自動的には入ってこなかったみたいなので、削除。
2.2 バージョンアップも含めたアーティフィシャルな改名
重要なシステム側の変更。いる。
- system-services (jaunty) + upstart-compat-sysv (jaunty) --> upstart (karmic)
- readahead --> sreadahead
残りのアプリ・ライブラリ。バージョンアップの過程でルールベースではない命名をした場合など。
- libsuitesparse-3.2.0 (jaunty) --> libsuitesparse-dev (karmic) (1:3.4.0-1ubuntu2)
- 3.4.0は自動的には入ってこなかったみたいなので、インストール保留で、3.2.0は削除。
- powernowd (jaunty) --> powersaved (karmic)
- powersavedを試してみたいので、入れてみる。powernowdは削除で。
- mysql-server-5.0 (jaunty) --> mysql-server-5.1 (karmic)
- libcolamd-3.2.0 (jaunty) --> libcolamd2.7.1 (karmic)
- 改名後のパッケージは既に自動で入っていた。
2.3 実際の作業内容
以上を踏まえて、実際に作業した。
MySQL Server 5.1とPowerSavedを入れて、
$ sudo aptitude install mysql-server powersaved [...] The following NEW packages will be installed: cpufrequtils{a} libcpufreq0{a} libhtml-template-perl{a} liblazy1{a} libpowersave11{a} mysql-server mysql-server-5.1{a} mysql-server-core-5.1{a} powersaved 0 packages upgraded, 9 newly installed, 0 to remove and 5 not upgraded.
残りをpurge。
$ sudo aptitude purge libbeecrypt6 libuniconf4.4 system-services \ upstart-compat-sysv readahead libsuitesparse-3.2.0 powernowd \ libcolamd-3.2.0 [...] The following packages will be REMOVED: libbeecrypt6{p} libcolamd-3.2.0{p} libsuitesparse-3.2.0{p} libuniconf4.4{p} powernowd{p} readahead{p} system-services{p} upstart-compat-sysv{p} 0 packages upgraded, 0 newly installed, 8 to remove and 5 not upgraded.
mysql-server-5.0はちょっと怖いので、保留しとく。
残り46パッケージ中、8パッケージを解決。残り38パッケージ(24パッケージはレポジトリにすらなく、14パッケージはレポジトリにある)。
ここで中断。また続きを後日。
関連
- Karmicアップデート後にすべきこと (6): 古いパッケージの処理 - ayucat.ch
- Karmicアップデート後 (5): Computer Janitorを用いた不要な設定ファイルを削除 - ayucat.ch
- Karmic betaアップデート後 (4): libwvstreams 4.4 --> 4.6 / cupsddk (<-- cups-ppdc) - ayucat.ch
- Karmic beta (Ubuntu 9.10) にアップデート後 (3): UbuntuOne PPA-betaの削除 - ayucat.ch
- Karmic beta (Ubuntu 9.10) にアップデートしたその後 (2): GStreamerパッケージ削除 - ayucat.ch
- Karmic beta (Ubuntu 9.10) にアップデートしたその後 (1) - ayucat.ch