■SqueezeからWheezyにアップグレードする。
重要なファイルが全く無い放置していたatom-PCなので、
純粋にパッケージのみのssh経由のアップグレードテストをします。
ddでのイメージバックアップもあるし、
失敗したら無線LANドライバを再インストールすれば良い程度。
第4章 Debian 6.0 (squeeze) からのアップグレード
http://www.debian.org/releases/stable/s390/release-notes/ch-upgrading.ja.html#upgrade-preparations
■PINは無いので、それ以外を綺麗なパッケージ状態にする。
$ sudo dpkg --audit && echo "ok"
ok
$ dpkg -l | grep ^rc | awk '{print $2}'
dvi2ps-fontdata-ja
libaccess-bridge-java-jni
libkpathsea5
libqt4-qt3support
odbcinst
odbcinst1debian2
unixodbc
$ dpkg -l | grep ^rc | awk '{print $2}' | sudo apt-get purge -y `xargs`
$ sudo dpkg --get-selections "*" > ~/curr-pkgs.txt
$ sudo dpkg --get-selections | grep 'hold$'
$ grep proposed-updates /etc/apt/sources.list
■APTの更新
※ドライバの為にnon-freeは大事。
$ grep squeeze /etc/apt/sources.list
deb http://ftp.jp.debian.org/debian/ squeeze main non-free
deb-src http://ftp.jp.debian.org/debian/ squeeze main non-free
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
deb http://ftp.jp.debian.org/debian/ squeeze-updates main
deb-src http://ftp.jp.debian.org/debian/ squeeze-updates main
$ sudo sed -i s/squeeze/wheezy/g /etc/apt/sources.list
$ script upgrade-wheezy.log 2>&1
Script started, file is upgrade-wheezy.log
$ sudo apt-get update
$ sudo apt-get -o APT::Get::Trivial-Only=true dist-upgrade | grep "^アップグレード" -A 2
E: Trivial Only が指定されましたが、これは簡単な操作ではありません。
アップグレード: 1227 個、新規インストール: 623 個、削除: 69 個、保留: 0 個。
1,176 MB のアーカイブを取得する必要があります。
この操作後に追加で 797 MB のディスク容量が消費されます。
$ for opt in update autoremove autoclean;do echo "y" | sudo apt-get $opt;done
■システムのアップグレード
※基本的にSqueeze固有の設定を残さない方式とする。
$ sudo apt-get -y upgrade
$ sudo apt-get install --reinstall -y screen
$ sudo grep "^#include\|^Defaults" /etc/sudoers
Defaults env_reset
$ su root -c 'apt-get install --reinstall -y sudo'
$ sudo grep "^#include\|^Defaults" /etc/sudoers
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
$ echo "y" | sudo apt-get dist-upgrade
■カーネルのアップデート確認
$ dpkg -l "linux-image*" | grep ^ii
ii linux-image-2.6-486 3.2+46 i386 Linux for older PCs (dummy package)
ii linux-image-2.6-686 3.2+46 i386 Linux for modern PCs (dummy package)
ii linux-image-2.6.32-5-486 2.6.32-48squeeze3 i386 Linux 2.6.32 for old PCs
ii linux-image-2.6.32-5-686 2.6.32-48squeeze3 i386 Linux 2.6.32 for modern PCs
ii linux-image-3.2.0-4-486 3.2.46-1+deb7u1 i386 Linux 3.2 for older PCs
ii linux-image-3.2.0-4-686-pae 3.2.46-1+deb7u1 i386 Linux 3.2 for modern PCs
ii linux-image-486 3.2+46 i386 Linux for older PCs (meta-package)
ii linux-image-686-pae 3.2+46 i386 Linux for modern PCs (meta-package)
$ apt-cache search linux-image-`uname -r` | grep -v "transition\|\-dbg" | awk '{print $1}'
linux-image-2.6.32-5-686
$ apt-cache search APT::Get::special::obsolete
■GRUBのアップデート確認
$ grub-bin2h -V
grub-bin2h (GRUB) 1.99-27+deb7u1
■システムの再起動
$ sudo shutdown -r now && exit
$ for opt in update upgrade autoremove autoclean;do sudo apt-get -y $opt;done
■再起動後の調整
※重複箇所もある。削除するパッケージはお好みで。
Gnome Classicは、dwmとfluxboxを一時的に入れないと正常にメニューを表示しなかった。
依存関係のどれかなのだろうけど、上記で解決したのでスルー。
$ sudo apt-get install -y gdm3 gnome-session gnome-terminal dwm fluxbox xcompmgr
$ sudo apt-get build-dep -y gdm3
$ sudo apt-get build-dep -y gnome-session
$ sudo apt-get build-dep -y gnome-terminal
$ sudo apt-get build-dep -y dwm
$ sudo apt-get build-dep -y fluxbox
$ sudo apt-get build-dep -y uim-anthy
$ sudo apt-get install -y vim sudo chkconfig apt-file nmap
$ echo "tomboy nano iceweasel evolution* icedove gnome-shell tracker nfs-* \
rpcbind isc-dhcp-* modemmanager mozc* samba-common cups" | sudo apt-get purge -y
$ dpkg -l | grep ^rc | awk '{print $2}' | sudo apt-get purge -y `xargs`
$ sudo chkconfig bluetooth off
$ sudo apt-get purge -y fluxbox dwm
$ sudo /etc/init.d/gdm3 restart
■エラーの確認。
ACPI関連エラー。sysctlにはそれらしき設定は無い。
$ uname -a
Linux acer-debian 3.2.0-4-686-pae
$ dmesg | grep -i "error\|warn\|crit\|fail"
[ 0.244544] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20110623/dsfield-143)
[ 0.244563] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node f5c3e680), AE_ALREADY_EXISTS (20110623/psparse-536)
[ 0.244583] ACPI: Marking method _OSC as Serialized because of AE_ALREADY_EXISTS error
[ 0.258488] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20110623/dsfield-143)
[ 0.258505] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node f5c3e680), AE_ALREADY_EXISTS (20110623/psparse-536)
[ 0.258689] ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20110623/dsfield-143)
[ 0.258705] ACPI Error: Method parse/execution failed [\_SB_.PCI0._OSC] (Node f5c3e680), AE_ALREADY_EXISTS (20110623/psparse-536)
[ 0.258733] pci0000:00: ACPI _OSC request failed (AE_ALREADY_EXISTS), returned control mask: 0x1d
[ 1.386525] i8042: Warning: Keylock active
[ 7.034071] [drm] MTRR allocation failed. Graphics performance may suffer.
■MTRRのエラー
$ dmesg | grep -i MTRR | grep -v "Kernel command"
[ 0.000000] MTRR default type: uncachable
[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] MTRR variable ranges enabled:
[ 6.780578] mtrr: no more MTRRs available
[ 6.780585] [drm] MTRR allocation failed. Graphics performance may suffer.
$ cat /proc/mtrr
reg00: base=0x0fffe0000 ( 4095MB), size= 128KB, count=1: write-protect
reg01: base=0x0fffc0000 ( 4095MB), size= 128KB, count=1: uncachable
reg02: base=0x000000000 ( 0MB), size= 512MB, count=1: write-back
reg03: base=0x020000000 ( 512MB), size= 512MB, count=1: write-back
reg04: base=0x03f800000 ( 1016MB), size= 8MB, count=1: uncachable
reg05: base=0x03f600000 ( 1014MB), size= 2MB, count=1: uncachable
reg06: base=0x03f500000 ( 1013MB), size= 1MB, count=1: uncachable
reg07: base=0x000000000 ( 0MB), size= 128KB, count=1: uncachable
■i8042.noauxは、Don't check for auxiliary (== mouse) port
kernelコマンドラインオプションの変更をしても変化が無い為、スルー。
$ grep GRUB_CMDLINE_LINUX /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="“i8042.noaux enable_mtrr_cleanup mtrr_spare_reg_nr=1"
$ sudo sed -i s/" enable_mtrr_cleanup mtrr_spare_reg_nr=1"//g /etc/default/grub
$ sudo shutdown -r now && exit