检测系统中包文件是否完整的方法

简介:
我用sudo打开了一个文件浏览器,在去厕所之前没有锁定屏幕,被小孩子给误删了/usr/lib/evolution*(后面记不清了)目录,而且居然在回收站都找不到,真不明白他居然有这等电脑水平!重新安装evolution发现接收服务器协议中POP等协议都没了,只剩下Exchange一项了,于是上了IRC的#Ubuntu-zh,找到了华华,问问到底应如何才能找到是哪个包少了文件。
经过华华,月月和罗勇的帮助,终于解决了该问题,华华给出了他的脚本:
一开始我用的脚本是:
[code]$find /var/lib/dpkg/info -name '*list' -exec cat {} \; | xargs ls 2> errorpkgs.lst[/code]
这个也是我得出结果的那个,运行完之后,使用命令
[code]$grep 没有 errorpkgs.lst>errpkgfind.lst[/code]
在errpkgfind.lst中找到相应的缺失文件,然后用
[code]$dpkg -S 缺失文件[/code]
就可以知道是哪个包损坏了

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

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



本文转自 firehare 51CTO博客,原文链接:http://blog.51cto.com/firehare/588167,如需转载请自行联系原作者

相关文章
|
4月前
|
存储 人工智能 运维
函数计算产品使用问题之怎么识别并清理文件中转站中的无用文件
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
监控 开发者
确保动态导入模块按正确顺序加载
【10月更文挑战第12天】 在复杂应用开发中,确保动态导入模块按正确顺序加载至关重要,直接影响应用性能、功能和稳定性。本文深入探讨了动态模块加载顺序的影响因素、解决方案及实践案例,提供了详细的策略和方法,帮助开发者有效管理模块加载顺序,提升应用质量。
|
JavaScript
tsc : 无法将“tsc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
tsc : 无法将“tsc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
tsc : 无法将“tsc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
|
6月前
|
存储 安全 C#
技术心得记录:强命名的延迟与关联在.net程序集保护中的作用及其逆向方法
技术心得记录:强命名的延迟与关联在.net程序集保护中的作用及其逆向方法
怎么删除360base64.dll,这个方法百分百管用
怎么删除360base64.dll,这个方法百分百管用
331 0
|
7月前
|
存储 算法 C语言
【C/C++ 应用开发 检测文件 】详解 C/C++ 中常用的 5 种文件存在检查方式
【C/C++ 应用开发 检测文件 】详解 C/C++ 中常用的 5 种文件存在检查方式
217 0
|
缓存 小程序 API
小程序:浅谈小程序更新机制,发版后多久能全覆盖
小程序:浅谈小程序更新机制,发版后多久能全覆盖
428 0
无法找到可用的配置文件来构建预处理器
无法找到可用的配置文件来构建预处理器
92 0
|
安全 API Android开发
教你如何高效的检查APK中使用敏感权限的地方以及检查某系统方法被调用的地方
教你如何高效的检查APK中使用敏感权限的地方以及检查某系统方法被调用的地方
543 0
教你如何高效的检查APK中使用敏感权限的地方以及检查某系统方法被调用的地方
DeepStream中,获得并修改识别对象参数的代码
DeepStream中,获得并修改识别对象参数的代码
165 0