升级Ubuntu -- 从Dapper到Feisty 的征程 最终成果

1. 升级Ubuntu

dapper的源质量下降的非常厉害!

  • 已经有两周不断有类似问题导致升级软件失败了

    E: Problem with MergeList /var/lib/apt/lists/ubuntu.cn99.com_ubuntu-cn_dists_dapper_main_binary-i386_Packages
    E: 无法解析或打开软件包的列表或是状态文件。
    
  • 只好升级!
  • 折腾了一会儿才发现无法从 6.06 升级到7.04!!!
  • 只好分两步走....

1.1. 正经升级

1.1.1. 6.06->6.10

  • 晕死!而且升级过程不可打断!

    • 实在因为安装过太多东西了………………

1.1.1.1. 空间紧急协调

$ df -h 
文件系统            容量  已用 可用 已用% 挂载点
...
/dev/sda11            1.8G  924M  768M  55% /var
...
  • 怎么看/var 也没有占多少

/var$ sudo du -hs * 
5.1M    backups
141M    cache
4.0K    games
292M    lib
1.0K    local
0       lock
0       log
12K     lost+found
1.0K    mail
1.0K    opt
117K    packages
76K     run
222K    spool
2.5M    tmp
288K    www
  • 但是就是有下载空间不足的情况所以要动不动执行:

    $ sudo apt-get clean
    

1.1.2. 6.10->7.04

估计也是同样的量,根本没有仅仅从DVD就可以升级的可能哪…………

  • 还可以 9:40~13:01 就完成了 1655 个文件的下载开始了安装

  • 才注意到升级脚本是Python 的

1.1.2.1. 意外中断

  • 果然无法善终...

    $ sudo apt-get -f install 
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    Reading state information... 完成      
    共升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 3 个软件未被升级。
    有 9 个软件包没有被完全安装或卸载。
    需要下载 0B 的软件包。
    解压缩后会消耗掉 0B 的额外空间。
    正在设置 linux-image-2.6.20-15-generic (2.6.20-15.27) ...
    Running depmod.
    update-initramfs: Generating /boot/initrd.img-2.6.20-15-generic
    W: mdadm: unchecked configuration file: /etc/mdadm/mdadm.conf
    W: mdadm: please read /usr/share/doc/mdadm/README.upgrading-2.5.3.gz .
    W: mdadm: no arrays defined in configuration file.
    W: mdadm: falling back to emergency procedure in initramfs.
    The provided postinst hook script [/sbin/update-grub] could not be run.
    dpkg:处理 linux-image-2.6.20-15-generic (--configure)时出错:
     子进程·post-installation script·返回了错误号·2
    dpkg:依赖关系问题使得 linux-image-generic 的配置工作不能继续:
     linux-image-generic 依赖于 linux-image-2.6.20-15-generic;然而:
      软件包 linux-image-2.6.20-15-generic 还没有被配置。
    dpkg:处理 linux-image-generic (--configure)时出错:
     依赖关系问题 - 仍未被配置
    dpkg:依赖关系问题使得 linux-restricted-modules-2.6.20-15-generic 的配置工作不能继续:
     linux-restricted-modules-2.6.20-15-generic 依赖于 linux-image-2.6.20-15-generic;然而:
      软件包 linux-image-2.6.20-15-generic 还没有被配置。
    dpkg:处理 linux-restricted-modules-2.6.20-15-generic (--configure)时出错:
     依赖关系问题 - 仍未被配置
    dpkg:依赖关系问题使得 linux-restricted-modules-generic 的配置工作不能继续:
     linux-restricted-modules-generic 依赖于 linux-restricted-modules-2.6.20-15-generic;然而:
      软件包 linux-restricted-modules-2.6.20-15-generic 还没有被配置。
    dpkg:处理 linux-restricted-modules-generic (--configure)时出错:
     依赖关系问题 - 仍未被配置
    dpkg:依赖关系问题使得 linux-generic 的配置工作不能继续:
     linux-generic 依赖于 linux-image-generic;然而:
      软件包 linux-image-generic 还没有被配置。
     linux-generic 依赖于 linux-restricted-modules-generic;然而:
      软件包 linux-restricted-modules-generic 还没有被配置。
    dpkg:处理 linux-generic (--configure)时出错:
     依赖关系问题 - 仍未被配置
    dpkg:依赖关系问题使得 linux-686 的配置工作不能继续:
     linux-686 依赖于 linux-generic (= 2.6.20.15.14);然而:
      软件包 linux-generic 还没有被配置。
    dpkg:处理 linux-686 (--configure)时出错:
     依赖关系问题 - 仍未被配置
    dpkg:依赖关系问题使得 linux-686-smp 的配置工作不能继续:
     linux-686-smp 依赖于 linux-image-generic (= 2.6.20.15.14);然而:
      软件包 linux-image-generic 还没有被配置。
    dpkg:处理 linux-686-smp (--configure)时出错:
     依赖关系问题 - 仍未被配置
    dpkg:依赖关系问题使得 linux-image-686 的配置工作不能继续:
     linux-image-686 依赖于 linux-image-generic (= 2.6.20.15.14);然而:
      软件包 linux-image-generic 还没有被配置。
    dpkg:处理 linux-image-686 (--configure)时出错:
     依赖关系问题 - 仍未被配置
    dpkg:依赖关系问题使得 linux-restricted-modules-686 的配置工作不能继续:
     linux-restricted-modules-686 依赖于 linux-restricted-modules-generic (= 2.6.20.15.14);然而:
      软件包 linux-restricted-modules-generic 还没有被配置。
    dpkg:处理 linux-restricted-modules-686 (--configure)时出错:
     依赖关系问题 - 仍未被配置
    在处理时有错误发生:
     linux-image-2.6.20-15-generic
     linux-image-generic
     linux-restricted-modules-2.6.20-15-generic
     linux-restricted-modules-generic
     linux-generic
     linux-686
     linux-686-smp
     linux-image-686
     linux-restricted-modules-686
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    

1.1.3. 只好直接安装

看来没辄了,重新安装吧

  • 没有想到Ubuntu 的重装比M$的要真正无忧的多!
    • 保持/home+/opt 50分钟就快速恢复了 90% 的工作环境!

1.2. 经验教训

  • 开始配置时才发现系统中还是很有东东的

  • 就算GNU/Linux 没有注册表,但是依然有复杂的软件包依赖关系!
    • 升级前,首先是数据备份,另外就是要清理不常用的软件!
    • 安装的 几百个软件,其中顶多有20% 是日常使用的,其它不过是试用性质的,但是升级脚本全部任劳任怨的升级了!

1.3. 系统配置

紧急记录所有必要安装信息以便最可怕的情景下面可以重新安装

1.3.1. 分区

Disk /dev/sda: 40.0 GB, 40007761920 bytes 
从内到外分区::

sda1  |sda2|sda3 |sda5    |sda6 |sda7       |sda8 |sda9 |sda10|sda11|sda14       |sda12||
win2k3->/->/dos->/buffer->/usr->/usr/local->/opt->/srv->/tmp->/var->/home->swap->/boot
  |     |   |     |        |     |           |     |     |     |     |     |      +-128M(62Mfree;恰好)
  |     |   |     |        |     |           |     |     |     |     |     +-1GM(900Mfree;过大)
  |     |   |     |        |     |           |     |     |     |     +-3.2G(1.19Gfree)
  |     |   |     |        |     |           |     |     |     +-2G(800Mfree;过小)
  |     |   |     |        |     |           |     |     +-1G(800Mfree;过大)
  |     |   |     |        |     |           |     +-128M(100Mfree;不必要)
  |     |   |     |        |     |           +-1G(172Mfree;过小)
  |     |   |     |        |     +-2G(1.28Gfree;过大)
  |     |   |     |        +-7.5G(1.47Gfree;过小)
  |     |   |     +-4G(190Mfree;音乐过小)
  |     |   +-10G(3Gfree)
  |     +-2G(1.21Gfree;过大)
  +-5G(2Gfree;多余)

$ cat /etc/fstab 
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda2       /               ext3    defaults,errors=remount-ro 0       1
/dev/sda12      /boot           ext3    defaults        0       2
/dev/sda5       /buffer         vfat    defaults,utf8,umask=000,gid=46 0       1
/dev/sda3       /dos            vfat    defaults,utf8,umask=000,gid=46 0       1
/dev/sda14      /home           ext3    defaults        0       2
/dev/sda8       /opt            ext3    defaults        0       2
/dev/sda9       /srv            ext3    defaults        0       2
/dev/sda10      /tmp            ext3    defaults        0       2
/dev/sda6       /usr            ext3    defaults        0       2
/dev/sda7       /usr/local      ext3    defaults        0       2
/dev/sda11      /var            ext3    defaults        0       2
/dev/sda13      none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0

1.3.2. mtab

$ cat /etc/mtab 
/dev/sda2 / ext3 rw,errors=remount-ro 0 0
proc /proc proc rw 0 0
/sys /sys sysfs rw 0 0
varrun /var/run tmpfs rw 0 0
varlock /var/lock tmpfs rw 0 0
procbususb /proc/bus/usb usbfs rw 0 0
udev /dev tmpfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
devshm /dev/shm tmpfs rw 0 0
lrm /lib/modules/2.6.15-28-686/volatile tmpfs rw 0 0
/dev/sda12 /boot ext3 rw 0 0
/dev/sda5 /buffer vfat rw,utf8,umask=000,gid=46 0 0
/dev/sda3 /dos vfat rw,utf8,umask=000,gid=46 0 0
/dev/sda14 /home ext3 rw 0 0
/dev/sda8 /opt ext3 rw 0 0
/dev/sda9 /srv ext3 rw 0 0
/dev/sda10 /tmp ext3 rw 0 0
/dev/sda6 /usr ext3 rw 0 0
/dev/sda7 /usr/local ext3 rw 0 0
/dev/sda11 /var ext3 rw 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
/dev/scd0 /media/cdrom0 iso9660 ro,noexec,nosuid,nodev,user=zoomq 0 0

1.3.3. df -h

e$ df -h 
文件系统            容量  已用 可用 已用% 挂载点
/dev/sda2             1.8G  452M  1.3G  27% /
varrun                501M   76K  501M   1% /var/run
varlock               501M     0  501M   0% /var/lock
udev                  501M  176K  501M   1% /dev
devshm                501M     0  501M   0% /dev/shm
lrm                   501M   18M  483M   4% /lib/modules/2.6.15-28-686/volatile
/dev/sda12            118M   50M   62M  45% /boot
/dev/sda5             3.8G  3.6G  195M  95% /buffer
/dev/sda3             9.4G  6.3G  3.1G  67% /dos
/dev/sda14            3.3G  1.9G  1.2G  61% /home
/dev/sda8             897M  677M  173M  80% /opt
/dev/sda9             118M  4.1M  108M   4% /srv
/dev/sda10            897M   33M  817M   4% /tmp
/dev/sda6             7.4G  5.5G  1.5G  79% /usr
/dev/sda7             1.8G  385M  1.3G  23% /usr/local
/dev/sda11            1.8G  844M  848M  50% /var
/dev/scd0             698M  698M     0 100% /media/cdrom0

1.3.4. ln -s

$ ll /usr/local/ 
总用量 23
...
lrwxrwxrwx  1 root root     9 2006-08-02 23:15 man -> share/man
...
$ ll /var/
总用量 28
...
lrwxrwxrwx  1 root     root        12 2007-05-09 00:42 lib -> /usr/varlib/
lrwxrwxrwx  1 root     root         9 2007-05-08 19:03 log -> /usr/log/
...
:~$ ll
总用量 104
...
lrwxrwxrwx  1 zoomq zoomq   12 2007-03-05 14:16 devRes -> /dos/devRes/
lrwxrwxrwx  1 zoomq zoomq    4 2007-04-26 22:21 DOS -> /dos
lrwxrwxrwx  1 zoomq zoomq   26 2006-08-02 23:35 Examples -> /usr/share/example-content
...
lrwxrwxrwx  1 zoomq zoomq   33 2006-10-31 14:57 site-packages -> /usr/lib/python2.4/site-packages/
lrwxrwxrwx  1 zoomq zoomq    9 2006-12-19 15:13 tmp -> /usr/tmp/
drwxr-xr-x  7 zoomq zoomq 4096 2007-04-28 22:26 workspace
lrwxrwxrwx  1 zoomq zoomq    9 2006-08-04 11:27 zApp -> /dos/zApp
lrwxrwxrwx  1 zoomq zoomq   10 2006-08-04 11:27 zCom -> /dos/zCom/
lrwxrwxrwx  1 zoomq zoomq   10 2006-08-04 11:26 zData -> /dos/zData
lrwxrwxrwx  1 zoomq zoomq   12 2006-08-02 19:59 zDesktop -> /dos/Desktop
...
lrwxrwxrwx  1 zoomq zoomq   11 2006-08-24 14:19 zInfo -> /dos/zInfo/
...
lrwxrwxrwx  1 zoomq zoomq   15 2006-12-20 09:39 zMusic -> /buffer/zMusic/
lrwxrwxrwx  1 zoomq zoomq   10 2007-03-13 15:16 zWeb -> /dos/zWeb/
...

~/Desktop$ ll
总用量 120
...
lrwxrwxrwx 1 zoomq zoomq    20 2006-12-25 14:19 zoomq -> /home/zoomq/zDesktop
...

1.4. 反馈

::-- ZoomQuiet [2007-05-08 11:33:33]