检测程式错误寻求帮助
如您使用某个软件包出现问题,在寻求帮助或发送错误报告之前请确认查看过下列站点(`lynx'、`links'和`w3m'同样好用):
$ lynx http://bugs.debian.org/
$ lynx http://bugs.debian.org/ # 假如您知道软件包名称
$ lynx http://bugs.debian.org/ # 假如您知道错误序号
如有疑问,可阅读帮助文档。配置`CDPATH'如下:
export CDPATH=.:/usr/local:/usr/share/doc
然后输入
$ cd $ pager README.Debian # if this exists
$ mc
APT升级错误及解决方法
从`unstable'/`testing'进行升级时可能出现第 5.3 节,
`升级Debian系统'中提到的软件包关联问题。多数情况下,是因为升级的软件包所需的新增的关联包没有安装。可使用如下方法解决:
# apt-get dist-upgrade
假如这招无效,能够重复下面的方法至到问题解决:
# apt-get upgrade -f # continue upgrade even after error
... 或
# apt-get dist-upgrade -f # continue dist-upgrade even after error
一些的确存在问题的升级脚本会引起持续出错。最好的解决方法是检查该软件包的安装脚本`/var/lib/dpkg/info/packagename.<>'然后运行:
# dpkg --configure -a # 配置任何未完成安装的软件包
假如脚本报告缺少配置文档,查看一下`/etc'中相关的配置文档。假如配置文档有`.new'扩展名(或其他类似的扩展名),去掉(`mv')他的扩展名。
从unstable/testing进行升级时可能出现软件包关联问题。可用这个方法智取:
# apt-get install -f # 重载坏关联
使用dpkg救助
假如系统的`dselect'(APT)受损无法完成安装,可使用`dpkg'来恢复:
# cd /var/cache/apt/archives
# dpkg -i libc6* libdb2* perl*
# dpkg -i apt* dpkg* debconf*
# dpkg -i * # 直至不再出错
假如软件包丢失,用下述方法从映像源
(http://www.debian.org/mirror/)下载:
# mc # use "FTP link" pointing to Debian FTP server
现在,在HTTP/FTP服务器上,软件包的真正位置不再是传统的`/dist'目录而是新的`/pool'目录。
然后开始安装:
# dpkg -i /var/cache/apt/archives/
对于坏关联,可这样解决:
# dpkg --ignore-depends=,... -i # dpkg --force-depends -i # dpkg --force-depends --purge # dpkg --force-confmiss -i # Install missing conffile
恢复软件包选择状态的数据
假如`/var/lib/dpkg/status'因为某种原因坏掉了,Debian系统将会完全丢失软件包选择状态的数据。赶快到 `/var/lib/dpkg/status-old'或`/var/backups/dpkg.status.*'下找找旧的 `/var/lib/dpkg/status'文档。
将`/var/backups/'放在其他的分区是个好习惯,因为该目录包含了许多很重要的系统数据。
假如旧的`/var/lib/dpkg/status'文档也坏了,仍能够从`/usr/share/doc/'下的目录进行恢复这些信息。
# ls /usr/share/doc |
grep -v [A-Z] |
grep -v '^texmf$' |
grep -v '^debian$' |
awk '{print " install"}' |
dpkg --set-selections
# dselect --expert # reinstall system, de-select as needed
/var被删除后如何恢复系统
`/var'目录包含着定时更新的数据如mail,他们很容易遭破坏。将目录放到别的分区可降低风险,假如最坏的事情发生了,能够通过重建`/var'目录来挽救Debian系统。
从相同或旧版本的最简Debian系统中取得`/var'目录的内容框架,例如var.tar.gz
(http://people.debian.org/~osamu/pub...膔oot目录,接着
# cd /
# mv var var-old # 假如剩有有用内容
# tar xvzf var.tar.gz # 使用Woody框架文档
# aptitude # 或用dselect
上述步骤可使系统恢复工作。
`恢复软件包选择状态的数据'中描述的技术加速软件包选择数据的恢复。
([FIXME]:该过程需要更多的实践来检验)
为无法启动的系统安装软件包
使用Debian急救软盘/CD或从多启动Linux系统其他分区启动。
`启动系统'.
将无法启动的系统挂载到`/target'并使用`dpkg'的chroot安装模式。
# dpkg --root /target -i
接下来就能够着手配置并解决问题。
如是只是由于`lilo'损坏而造系统无法启动,可使用标准Debian急救盘启动。假设您的root分区位于`/dev/hda12'且想使用runlevel
3,在启动提示符输入:
boot: rescue root=/dev/ 3
这样,您就能够使用软盘中内核启动系统,新系统的功能基本齐全。(可能丢失某些内核特性或模块)
假如dpkg命令出错该怎么办
假如`dpkg'损坏就不能安装任何`.deb'文档。下面的操作可帮助您修复这种状况。(在第一行,您可将“links”替换成您喜欢的浏览器。)
$ links http:///debian/pool/main/d/dpkg/
... 下载完好的dpkg__.deb
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




