labunix's blog

labunixのラボUnix

SqueezeからWheezyにアップグレードする。

■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 cdrom:[Debian GNU/Linux 6.0.6 _Squeeze_ - Official Snapshot i386 LIVE/INSTALL Binary 20121214-10:35]/ squeeze main
#deb cdrom:[Debian GNU/Linux 6.0.6 _Squeeze_ - Official Snapshot i386 LIVE/INSTALL Binary 20121214-10:35]/ squeeze main
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
#includedir /etc/sudoers.d
$ 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"
#includedir /etc/sudoers.d
$ 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 #1 SMP Debian 3.2.46-1+deb7u1 i686 GNU/Linux

$ 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