SHで最新Etch環境にするには
なんか海老原さんとこは、パッケージを見えるところに置いてないみたい。
最新であると思われる岩松さんのパッケージは、バラで置いてあるだけのようだ。
http://www.nigauri.org/~iwamatsu/debian/debian-sh4/
しょうがないので、まるごとコピーしてローカルで使うことにしてみる。ありがたくいただきますです。
一応、現在のパッケージリストを調べておく。
# COLUMNS=150 dpkg -l | awk '{print $2,$3}' adduser 3.77 apt 0.6.42.1 apt-utils 0.6.42.1 aptitude 0.2.15.9-7 at 3.1.9 base-config 2.73 base-files 3.1.9 base-passwd 3.5.10 bash 3.0-17 bsdmainutils 6.1.2 bsdutils 2.12p-8 console-common 0.7.54 console-data 2002.12.04dbs-49 console-tools 0.2.3dbs-57 coreutils 5.2.1-2.1 cpio 2.6-9 cron 3.0pl1-91 debconf 1.4.58 debconf-i18n 1.4.58 debianutils 2.15 dhcp-client 2.0pl5-19.1 diff 2.8.1-11 dpkg 1.13.11 dselect 1.13.11 e2fslibs 1.38-2 e2fsprogs 1.38-2 ed 0.2-20 exim4 4.54-1 exim4-base 4.54-1 exim4-config 4.54-1 exim4-daemon-light 4.54-1 findutils 4.2.25-1 gcc-4.0-base 4.0.2-2 gettext-base 0.14.5-2 gnupg 1.4.1-1 grep 2.5.1.ds2-2 groff-base 1.18.1.1-10 gzip 1.3.5-12 hostname 2.91 hotplug 0.0.20040329-25 ifupdown 0.6.7 info 4.8-1 initscripts 2.86.ds1-4 iptables 1.3.3-2 iputils-ping 20020927-3 kernel-image-2.6.16-sh landisk.0.1 kexec-tools 1.101-2sh klogd 1.4.1-17 laptop-detect 0.12.1 libacl1 2.2.32-1 libattr1 2.4.25-1 libblkid1 1.38-2 libbz2-1.0 1.0.2-10 libc6 2.3.5-8 libcap1 1.10-14 libcomerr2 1.38-2 libconsole 0.2.3dbs-57 libdb2 2.7.7.0-10 libdb3 3.2.9-22 libdb4.2 4.2.52-18 libdb4.3 4.3.28-2 libgcc1 4.0.2-2 libgcrypt11 1.2.2-1 libgdbm3 1.8.3-2 libgnutls11 1.0.16-14 libgpg-error0 1.1-4 libident 0.22-3 libkrb53 1.3.6-5 libldap2 2.1.30-12 liblocale-gettext-perl 1.05-1 liblockfile1 1.06 liblzo1 1.08-2 libncurses5 5.4-9 libncursesw5 5.4-9 libnewt0.51 0.51.6-31 libopencdk8 0.5.7-2 libpam-modules 0.79-3 libpam-runtime 0.79-3 libpam0g 0.79-3 libpcre3 6.4-1 libpopt0 1.7-5 libreadline5 5.0-11 libsasl2 2.1.19-1.7 libsasl2-modules 2.1.19-1.7 libselinux1 1.26-1 libsepol1 1.8-1 libsigc++-1.2-5c2 1.2.5-5 libslang2 2.0.4-7 libss2 1.38-2 libssl0.9.7 0.9.7g-5 libssl0.9.8 0.9.8a-3 libstdc++6 4.0.2-2 libtasn1-2 0.2.13-1 libtext-charwidth-perl 0.04-3 libtext-iconv-perl 1.4-2 libtext-wrapi18n-perl 0.06-4 libtextwrap1 0.1-3 libusb-0.1-4 0.1.10a-21 libuuid1 1.38-2 libwrap0 7.6.dbs-8 login 4.0.13-1 logrotate 3.7.1-2 lsb-base 3.0-11 mailx 8.1.2-0.20050715cvs-1 makedev 2.3.1-78 man-db 2.4.3-3 manpages 2.02-2 mawk 1.3.3-11 module-init-tools 3.2-pre9-2 modutils 2.4.27.0-3 mount 2.12p-8 nano 1.3.8-2 ncurses-base 5.4-9 ncurses-bin 5.4-9 net-tools 1.60-16 netbase 4.23 netkit-inetd 0.10-10.2 nvi 1.79-22 passwd 4.0.13-1 perl-base 5.8.7-7 procps 3.2.5-1 psmisc 21.6-1 readline-common 5.0-11 reiserfsprogs 3.6.19-1 sasl2-bin 2.1.19-1.7 sed 4.1.2-8 slang1a-utf8 1.4.9dbs-8 sysklogd 1.4.1-17 sysv-rc 2.86.ds1-4 sysvinit 2.86.ds1-4 tar 1.15.1-2 tasksel 2.32 tcpd 7.6.dbs-8 telnetd 0.17-32 util-linux 2.12p-8 wget 1.10.2-1 whiptail 0.51.6-31 zlib1g 1.2.3-4
138パッケージある。
ローカルリポジトリを作って、それでアップグレードする。
# wget -r http://www.nigauri.org/~iwamatsu/debian/debian-sh4/ # mv www.nigauri.org/~iwamatsu/debian/debian-sh4/* ./ # rm -r www.nigauri.org/ # apt-ftparchive packages . | gzip -c9 > Packages.gz # vi /etc/apt/sources.list deb file:/arc/debian-sh4/ ./ # apt-get update Ign file: ./ Release.gpg Ign file: ./ Release Reading package lists... Done # apt-get dist-upgrade -s Reading package lists... Done Building dependency tree... Done Calculating upgrade... Done The following NEW packages will be installed: gcc-4.1-base mktemp The following packages have been kept back: apt apt-utils The following packages will be upgraded: adduser base-config base-files base-passwd bash bsdmainutils bsdutils console-common console-tools coreutils cpio cron debianutils dhcp-client diff dpkg dselect e2fslibs e2fsprogs ed findutils gcc-4.0-base gettext-base gnupg grep groff-base gzip hostname ifupdown info initscripts iptables iputils-ping klogd laptop-detect libacl1 libattr1 libblkid1 libbz2-1.0 libc6 libcap1 libcomerr2 libconsole libdb4.2 libdb4.3 libgcc1 libgcrypt11 libgdbm3 libgnutls11 libgpg-error0 liblocale-gettext-perl liblzo1 libncurses5 libncursesw5 libnewt0.51 libopencdk8 libpam-modules libpam-runtime libpam0g libpopt0 libreadline5 libsepol1 libslang2 libss2 libssl0.9.8 libstdc++6 libtasn1-2 libtext-charwidth-perl libtext-iconv-perl libusb-0.1-4 libuuid1 libwrap0 login logrotate lsb-base makedev man-db manpages mawk module-init-tools modutils mount nano ncurses-base ncurses-bin net-tools netbase netkit-inetd nvi passwd perl-base procps readline-common sed sysklogd sysv-rc sysvinit tar tasksel tcpd util-linux wget whiptail zlib1g 104 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
アップグレード後、再起動して、問題なく動いているようだ。
自動アップデートされなかった2つは手動で入れる。
# apt-get install apt apt-utils
さて、アップグレードされなかった残りのパッケージは何だろう。数は138-104-2=32だな。
- aptitude 0.2.15.9-7
- at 3.1.9
- パッケージにない。とりあえず依存パッケージはないので削除。
- # apt-get remove --purge at
- console-data 2002.12.04dbs-49
- allパッケージ。console-data_2002.12.04dbs-49_all.debが最新なのでそのまま使用。ローカルのパッケージプールにコピーをしておく。
- debconf debconf-i18n 1.4.58 ★
- debconf_1.4.70があるのでアップデートしようとしたが、debconf-i18nの依存がタイトで抜けず。このまま残。
- exim4 exim4-base exim4-config exim4-daemon-light 4.54-1
- タイトな依存がないので削除しておく。mailxもいっしょに消える。
- # apt-get remove --purge exim4 exim4-base exim4-config exim4-daemon-light
- hotplug 0.0.20040329-25
- udevベースのEtchでは必須ではなくなった。削除。でもudevはkernelに入っていない。
- # apt-get remove --purge hotplug
- kernel-image-2.6.16-sh landisk.0.1 ★
- 新しい環境で、より新しいバージョンのものを新規に作る必要あり。とりあえず存続。
- kexec-tools 1.101-2sh
- kogiidena版の独自パッチでkexecを使えるようにしてあるので、いまのところ不要。削除。
- # apt-get remove --purge kexec-tools
- libdb2 2.7.7.0-10
- Etchでは4.2が標準? 不要なので削除。
- # apt-get remove --purge libdb2
- libdb3 3.2.9-22
- Etchでは4.2が標準? 不要なので削除。
- # apt-get remove --purge libdb3
- libident 0.22-3
- 依存はないので削除。
- # apt-get remove --purge libident
- libkrb53 1.3.6-5
- ソースがあるけどパッケージがない。ビルドに成功していない?
- sasl2-binだけが依存しているので、いっしょに削除。
- # apt-get remove --purge libkrb53
- libldap2 2.1.30-12
- ソースがあるけどパッケージがない。ビルドに成功していない?
- gnupgだけが依存しているので、いっしょに削除。★
- # apt-get remove --purge libldap2
- liblockfile1 1.06
- 依存がないので削除。
- # apt-get remove --purge liblockfile1
- libpcre3 6.4-1
- 依存がないので削除。
- # apt-get remove --purge libpcre3
- libsasl2 libsasl2-modules 2.1.19-1.7
- sasl2-binがkbrといっしょに消えたので依存なし。削除。
- # apt-get remove --purge libsasl2 libsasl2-modules
- libselinux1 1.26-1 ★
- Etchでは必須じゃなかったか。依存がタイトでそのまま存続。
- libsigc++-1.2-5c2 1.2.5-5
- 依存がないので削除。
- # apt-get remove --purge libsigc++-1.2-5c2
- libssl0.9.7 0.9.7g-5
- 依存がないので削除。Etchでは0.9.8になってなかったかな。
- # apt-get remove --purge libssl0.9.7
- libtext-wrapi18n-perl 0.06-4 ★
- 依存がタイトで削除できず。存続。
- libtextwrap1 0.1-3
- 依存がないので削除。
- # apt-get remove --purge libtextwrap1
- mailx 8.1.2-0.20050715cvs-1
- とりあえず不要なので削除。exim4との依存でいっしょに消える。
- psmisc 21.6-1
- 依存がないので削除。でもないと不便だな。
- # apt-get remove --purge psmisc
- reiserfsprogs 3.6.19-1
- reiserfsは使わないので削除。
- # apt-get remove --purge reiserfsprogs
- sasl2-bin 2.1.19-1.7
- libkrb53に依存していたのでいっしょに削除された。
- slang1a-utf8 1.4.9dbs-8
- 依存がないので削除。
- # apt-get remove --purge slang1a-utf8
- telnetd 0.17-32 ★
- ないと困るので、とりあえず存続。
gnupgはlibldap2といっしょに消えたけど、パッケージのサインを確認するのにEtchでは必須だよな。
psmiscがないのもちと困るか。
存続していて、置き換えが必要なのは、
telnetd libtext-wrapi18n-perl libselinux1 kernel-image-2.6.16-sh debconf debconf-i18n
こいつらは、早急にビルドして置き換える必要がある。