免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9500 | 回复: 9
打印 上一主题 下一主题

/var 误删抢险记 [复制链接]

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-05 14:29 |只看该作者 |倒序浏览
那天正在研究rsync,照着某网站的说明做了。其中有一个--delete的参数,我当时并没有注意,照抄了下来。另外该说明把备份信息放在/tmp,我本人并不喜欢/tmp,所以自己换成了/var。等我一回车,恐怖的事情发生了。

--delete的作用,据后来我得知,是把服务端已经不存在的目录删去。于是可以知道后果。当它在删一大堆文件的时候,并未引起我的注意。等我反应过来,/var里面已经基本没什么东西了。

经验一:任何带有del关键字的命令务必再三检验。

痛苦。懊悔。

上irc.debian.org去问了,他们告诉我可以用ext2的undel工具,比如e2undel。不过你现在得立即umount这个分区。由于当初我只分了一个区,且硬盘上仅这一个区(其实即使分了多个区,/var也是没有办法umount的),于是我决定使用knoppix。

knoppix启动,里面是没有类似的恢复工具的。取得root权限,肯定是不能马上apt-get的。先来一下update,发现/var/lib/apt、/var/lib/dpkg、/var/cache/apt等目录都是链接,链接到光盘的目录,所以无法写入。于是把链接删掉,自己新建目录,就可以update了。等install的时候,提示/lib目录无法写入。一看,/lib目录也是链接,于是想也没想,删!等到删了以后,发现,没了/lib,基本没有什么命令可以执行了,包括ls、mv等命令。而且在图形界面上也是不能把其他目录重命名为/lib的。考虑到即使装了也未必能恢复所有的文件,而且我的/var里面没有什么重要的东西,于是放弃undelete的念头。

经验二:knoppix可以安装新的软件包,不过得把一些链接换成空的目录。至于安装重要库到/lib,还是免了吧。

系统还是可以启动的,不过启动的时候有很多服务不能正常打开。这无关紧要,只要重装一下服务就可以了。重要的在于/var/lib/dpkg/info/下面的软件包安装信息也被删得差不多了,更由于/var/lib/dpkg/status文件丢失,apt乱七八糟。遂决定重新安装所有的软件包。

重新安装可不是一件简单事。幸好在/var/backups/里面找到了status的备份,拷到/var/lib/dpkg/。不过要是没有找到的话,debian-reference上面也有一个链接,最基本的/var,可以找来用。dselect,除了base以外全部remove(之所以不purge,我是怕它把我的配置删了),不过系统会让你确认,因为有五个包:shellutils、fileutils、textutils、apt、original-awk也是必需的,还得加上。

选完以后,开始Install。系统发现emacsen-common包有问题,有文件都是,并且牵扯出一大堆包。用了--force-all也没有用,于是执行
dpkg --get-selections     取得清单,把emacsen-common的状态改成purge,然后
dpkg --set-selections     再写入,
于是emacsen-common没有问题了,其他一些相关包的问题,大都是prerm、postinst脚本的问题,到/var/lib/dpkg/info/下面修改具体脚本就可以了。

经验三:对于--force-all也没用的包,可以尝试get-selections然后set-selections。

终于可以开始remove了。过程中还会出现不少问题,如法炮制就是了。每删一个软件包都会出现一大堆软件包信息丢失的警告,不过看着它们越来越少,知道离问题解决也不远了。等到这些包全部删完,剩下的警告也就不多了,大约还有十多个。手动把这些包reinstall就可以了。不过在此之前,我还把/var彻底清理了一下,把一些没什么用处的东西索性全删了。

然后就不用我教了吧?重新安装所有的软件包,软件包会在/var里面写入各种信息的。在此期间如果要重新启动的话,记得把devfs=mount去掉,如果你安装了devfsd的话。

好了,应该没什么问题了。现在发现kde安装似乎有一点问题,不能切换到中文桌面。另外软件包的dependence也常有点问题。知道是不是这个原因。

本文只适用于/var被误删。如果其他目录,如/etc、/usr等目录的话,劝你还是老实一点重装吧。

论坛徽章:
0
2 [报告]
发表于 2007-03-13 16:17 |只看该作者
受教了,之前把服务器都装挂过....

论坛徽章:
0
3 [报告]
发表于 2007-03-18 01:09 |只看该作者
受教了,虽然没全看懂,但看懂的很有用

论坛徽章:
0
4 [报告]
发表于 2007-03-18 02:36 |只看该作者
呵呵~~~受教了 !!!

论坛徽章:
0
5 [报告]
发表于 2007-03-20 17:28 |只看该作者
linux中/var目录并没有系统运行依赖的数据,如果/var目录背误删,参照别的linux建立目录结构,对系统运行影响应该不大

debian中软件包的状态等信息都放在/var目录下,要是这些数据没了,系统可能可以使用,但是以后不能安装软件包了。

论坛徽章:
0
6 [报告]
发表于 2007-04-07 14:06 |只看该作者
rsync,很好的备份工具啊,呵呵,以前用它做debian的镜像源来着 :)

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
7 [报告]
发表于 2012-06-17 12:35 |只看该作者
以后一定要注意,多谢提醒! ~_~

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:192015年迎新春徽章
日期:2015-03-04 09:57:09
8 [报告]
发表于 2012-06-18 10:58 |只看该作者
谢谢send兄分享经验啊!

论坛徽章:
13
技术图书徽章
日期:2014-04-29 14:15:42IT运维版块每日发帖之星
日期:2015-12-12 06:20:00IT运维版块每日发帖之星
日期:2015-08-30 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-08-02 06:20:002015年亚洲杯之澳大利亚
日期:2015-04-03 15:03:12申猴
日期:2015-03-20 09:00:292015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15季节之章:冬
日期:2015-01-20 17:08:47双子座
日期:2014-11-21 16:30:31技术图书徽章
日期:2014-07-11 16:29:08
9 [报告]
发表于 2012-06-18 11:10 |只看该作者
谢谢分享,我现在天天都把这边目录备份一次

论坛徽章:
17
CU大牛徽章
日期:2013-03-13 15:32:35午马
日期:2014-07-29 13:09:18未羊
日期:2014-09-19 16:21:07巳蛇
日期:2014-09-29 16:17:06巳蛇
日期:2014-10-16 08:33:00白羊座
日期:2014-10-16 09:10:24申猴
日期:2015-01-09 11:36:332015年亚洲杯之澳大利亚
日期:2015-03-03 13:57:302015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之沙特阿拉伯
日期:2015-03-27 11:24:282015亚冠之阿尔纳斯尔
日期:2015-06-16 11:50:23CU大牛徽章
日期:2013-03-13 15:38:15
10 [报告]
发表于 2012-06-18 11:56 |只看该作者
管理员很久没发技术帖了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP