LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 878|回复: 2

怎样去掉dpkg: serious warning:.......

[复制链接]
发表于 2006-12-4 21:01:14 | 显示全部楼层 |阅读模式
dpkg: serious warning: files list file for package `lumaqq-dubuntu' missing, assuming package has no files currently installed.
如上面所示:每次apt-get install  softwarename 时,都会出现下面的东西.虽不影响软件的安装,但看起来很不爽.
lumaqq-dubuntu是我下的.deb包装的,但用起来不爽就删掉了,可能没正确删除的原故.
发表于 2006-12-5 09:12:45 | 显示全部楼层
http://211.92.88.40/~lyoo/document/reference_zh/index.html

http://211.92.88.40/~lyoo/docume ... age.html#s-survival

http://www.debianhelp.co.uk/debianproblem.htm
http://man.chinaunix.net/linux/d ... -cn.html#s-survival
如果遇到一个特定的软件包的问题,在提交bug之前应该看看这些网站
用lynx, links, and w3m 或者其它的浏览器都可以。
$ lynx  http://bugs.debian.org/
$ lynx http://bugs.debian.org/package-name  # if you know package name
$ lynx http://bugs.debian.org/bugnumber     # if you know bug number
或者在google上以关键字找,记得加上限定词 site:debian.org

如果还有疑问,可以看看系统里面的文档
export CDPATH=.:/usr/local:/usr/share/doc
然后输入
$ cd packagename
$ pager README.Debian # if this exists
$ mc

apt升级中遇到麻烦
在testing或者unstalbe中可能遇到包的依赖问题。绝大多数情况是,一个软件包将要被升级,但是依赖关系没有被满足,可以用下面的方式来修复。
     # apt-get dist-upgrade
如果这样不行的话,可以使用下面的方式中的一种来解决
# apt-get upgrade -f         # continue upgrade even after error
或者
# apt-get dist-upgrade -f    # continue dist-upgrade even after error

有些真的有问题的升级脚本可能导致persistent问题。通常可以查看/var/lib/dpkg/info/packagename.{post,pre}{inst,rm}这里的脚本会是一种比较好的解决方案,然后执行。
# dpkg --configure -a    # configures all partially installed packages
如果脚本提示说丢失配置文件,那么到/etc目录下面找对应的配置文件,如果看到有扩展名为.new的或者类似的,去掉这些扩展名就行了。

在unstable/testing中可能遇到的依赖问题我们可以使用一些方法来回避。
# apt-get install -f package # override broken dependencies
另外一种方式是使用equivs这个软件包。看一到/usr/share/doc/equivs/README.Debian
查看这个软件的文档,前提是你安装了这个软件包。

使用dpkg来恢复。
我们可以仅仅使用dpkg来恢复系统而不必要用到apt。
    # cd /var/cache/apt/archives
    # dpkg -i libc6* libdb2* perl*
    # dpkg -i apt* dpkg* debconf*
    # dpkg -i *  # until no error occurs
如果缺少某些包可以用mc从ftp上下载
# mc            # use "FTP link" pointing to Debian FTP server
软件包一般都存在pool下面,以前可能是classic/dist目录下面。
下载完了之后安装即可。

# dpkg -i /var/cache/apt/archives/packagefile.deb
如果遇到的是依赖关系的问题,下面的方式来修复。
# dpkg --ignore-depends=package1,... -i packagefile.deb
    # dpkg --force-depends -i packagefile.deb
    # dpkg --force-depends --purge package
    # dpkg --force-confmiss -i packagefile.deb # Install missing conffile

Recover package selection data
如果/var/lib/dpkg/status由于某种原因损坏了。debian系统就丢失了package selection data(包选择数据?已经安装过的包的系统信息)这个时候debian系统已经严重损坏了。
找找这个文件的老版本。/var/lib/dpkg/status-old
或者/var/backups/dpkg.status.*.

如果老版本的文件不存在,你仍然可以使用/usr/share/doc/目录下的信息来恢复系统。
# ls /usr/share/doc | \
      grep -v [A-Z] | \
      grep -v '^texmf$' | \
      grep -v '^debian$' | \
      awk '{print $1 " install"}' | \
      dpkg --set-selections

    # dselect --expert # reinstall system, de-select as needed

/var崩溃以后的急救
/var目录下面有频繁改动的数据,比如mail,因此它更可能损坏。最好把这个目录放在一个单独的分区,一旦灾难发生,你可以重新构建/var目录来恢复你的debian系统。

可以从一个能够工作的相同版本或者老版本的debian系统中获取一个/var目录下面的骨干内容?
比如/var.tar.gz,然后方到损坏的系统中去。然后
# cd /
    # mv var var-old      # if any useful contents are left
    # tar xvzf var.tar.gz # use Woody skeleton file
    # aptitude            # or dselect
这样就会提供一个可用的系统。

在一个无法启动的系统上安装软件包。
用debian的急救软盘或者cd或者另外一个分区可以启动的linux启动到linux环境,挂载这个不能启动的系统分区到/target然后使用dpkg的chroot install模式
# dpkg --root /target -i packagefile.deb
然后修复这些问题。

如果仅仅是lilo损坏而不能启动,那么可以直接使用debian的急救盘
启动,输入参数。
boot: rescue root=/dev/hda12 3
然后就使用软盘的内核启动到这个系统了,当然debian的安装cd也有急救模式。


如果dpkg命令损坏了呢

那样的话可以下载dpkg的deb包,然后到根目录下面解开这个包即可
$ links  http://http.us.debian.org/debian/pool/main/d/dpkg/
      ... download the good dpkg_version_arch.deb
    $ su
    password: *****
    # ar x dpkg_version_arch.deb
    # mv data.tar.gz /data.tar.gz
    # cd /
    # tar xzfv data.tar.gz

在google上搜rebuild /var/lib/dpkg/status
感觉下面这些比较有用。
不过下面这些大多是要求没有apt-get clean过。脚本会直接到那个目录下面去安装。
http://www.debian.org/doc/manual ... ge-database-rebuild

http://mm.bbspals.org/linux/lost-var-lib-dpkg-on-debian/
http://qref.sourceforge.net/Debi ... ge-database-rebuild

还有一个手动安装dpkg的例子
http://www.linuxfromscratch.org/hints/downloads/files/apt.txt
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-5 15:51:11 | 显示全部楼层
还能说的简单点,看的有点晕乎乎的说
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表