当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [分享]检测系统中包文件是否完整的方法
帖子发表于 : 2005-05-20 11:09 
头像

注册: 2005-04-10 16:54
帖子: 2625
地址: 温州大学
送出感谢: 0 次
接收感谢: 1
昨天,我用sudo打开了一个文件浏览器,在去厕所之前没有锁定屏幕,被我的小表弟给误删了/usr/lib/evolution*(后面记不清了)目录,而且居然在回收站都找不到,真不明白他居然有这等电脑水平!重新安装evolution发现接收服务器协议中POP等协议都没了,只剩下Exchange一项了,于是上了IRC的#Ubuntu-zh,找到了华华,问问到底应如何才能找到是哪个包少了文件。
经过华华,月月和罗勇的帮助,终于解决了该问题,华华给出了他的脚本:
一开始我用的脚本是:
代码:
$find /var/lib/dpkg/info -name '*list' -exec cat {} \; | xargs ls 2> errorpkgs.lst

这个也是我得出结果的那个,运行完之后,使用命令
代码:
$grep 没有 errorpkgs.lst>errpkgfind.lst

在errpkgfind.lst中找到相应的缺失文件,然后用
代码:
$dpkg -S 缺失文件

就可以知道是哪个包损坏了

可是在运行的过程中发现该脚本运行速度很慢,于是华华给出了他的最终版
代码:
#!/bin/sh
cat /var/lib/dpkg/info/*.list | while read F
do
  [ ! -f "$F" ] && echo $F >> errpkg.lst
done

不过这东东尚未运行过,不过看起来似乎没错,所以如果有哪位仁兄也遇到我这样的情况不妨一试!


_________________
我心无畏,源自于我心无知。
图片


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2005-07-20 22:47 
头像

注册: 2005-04-08 14:54
帖子: 310
送出感谢: 0 次
接收感谢: 0 次
怀疑系统不对,拿来试了一下。

你没运行过的脚本没有找到什么东西。

最先的找到了。grep 出来,dpkg后提示:
代码:
转移(diversion)到了 nvidia-glx 从: /usr/X11R6/lib/libGL.so.1.2
转移(diversion)到了 nvidia-glx 到: /usr/X11R6/lib/nvidia/libGL.so.1.2.xlibmesa
xlibmesa-gl: /usr/X11R6/lib/libGL.so.1.2

这是什么意思?


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译