说来话长, 昨天晚上8.30左右, 一个不小心把/var/lib中的所有东西都给删除了......对, 没错, 大概一年多以前我还删除过/bin, 但是那个很简单, 因为每个系统的/bin都差不多.
/var/lib每个人差异都很大, 虽然我旁边就有一个同学和我用一样的系统, 但是这个真的不能从别的系统拷贝了, 拍了照片后(在删除/var/lib之前我ls -l了一下), 我就立刻关闭了电脑.
做了一个livecd进去使用ext4magic (根据官方文档http://ext4magic.sourceforge.net/howto_en.html)一步一步做, 恢复我的/var/lib, 真的恢复出来了(除了一些空文件夹, 我是对比我同学的系统看出来的, 从大小上看也没差很多文件)!!!
恢复出来的文件包括:
引用:
drwxr-xr-x 2 root root 4096 2月 2 04:27 alsa
drwxr-xr-x 5 root root 4096 2月 2 04:27 apt
drwxr-xr-x 2 root root 4096 2月 2 04:27 apt-xapian-index
drwxr-xr-x 3 root root 4096 2月 2 04:27 bluetooth
drwxr-xr-x 2 root root 4096 2月 2 04:27 colord
drwxr-xr-x 2 root root 4096 2月 2 04:27 dbus
drwxr-xr-x 2 root root 4096 2月 2 04:27 dhcp
drwxr-xr-x 3 root root 4096 2月 2 04:27 dkms
drwxr-xr-x 3 root root 4096 2月 2 04:27 doc-base
drwxr-xr-x 7 root root 4096 2月 2 04:27 dpkg
drwxr-xr-x 4 root root 4096 2月 2 04:27 emacsen-common
drwxr-xr-x 7 root root 4096 2月 2 04:27 lightdm
drwxr-xr-x 2 root root 4096 2月 2 04:27 lockdown
drwxr-xr-x 2 root root 4096 2月 2 04:27 logrotate
drwxr-xr-x 2 root root 4096 2月 2 04:27 mlocate
drwxr-xr-x 2 root root 4096 2月 2 04:27 msttcorefonts
drwxr-xr-x 2 root root 4096 2月 2 04:27 ni
drwxr-xr-x 2 root root 4096 2月 2 04:27 nssdb
drwxr-xr-x 2 root root 4096 2月 2 04:27 pam
drwxr-xr-x 2 root root 4096 2月 2 04:27 plymouth
lrwxrwxrwx 1 root root 18 2月 2 04:27 python-support -> /usr/lib/pymodules
drwxr-xr-x 2 root root 4096 2月 2 04:27 rfkill
drwxr-xr-x 2 root root 4096 2月 2 04:27 security
drwxr-xr-x 3 root root 4096 2月 2 04:27 sudo
drwxr-xr-x 4 root root 4096 2月 2 04:27 texmf
drwxr-xr-x 2 root root 4096 2月 2 04:27 ubiquity
drwxr-xr-x 2 root root 4096 2月 2 04:27 ubuntu-drivers-common
drwxr-xr-x 2 root root 4096 2月 2 04:27 ubuntu-release-upgrader
drwxr-xr-x 2 root root 4096 2月 2 04:27 udisks2
drwxr-xr-x 2 root root 4096 2月 2 04:27 update-manager
drwxr-xr-x 2 root root 4096 2月 2 04:27 update-notifier
drwxr-xr-x 2 root root 4096 2月 2 04:27 upower
drwxr-xr-x 2 root root 4096 2月 2 04:27 urandom
drwxr-xr-x 2 root root 4096 2月 2 04:27 ureadahead
drwxr-xr-x 2 root root 4096 2月 2 04:27 usbutils
drwxr-xr-x 2 root root 4096 2月 2 04:27 xkb
drwxr-xr-x 2 root root 4096 2月 2 04:27 xml-core
重新进入系统后, 其他一切正常, 只是(!!!)dpkg不能用了. 报错如下:
代码:
$ dpkg -l
dpkg-query: error: libsdl1.2debian:amd64 <none> (Multi-Arch: no) is not co-installable with libsdl1.2debian which has multiple installed instances
代码:
$ sudo dpkg --configure -a
dpkg: error: libsdl1.2debian:amd64 <none> (Multi-Arch: no) is not co-installable with libsdl1.2debian which has multiple installed instances
我从网站上下载了对应版本的dpkg_1.17.5ubuntu5.3_amd64.deb, 使用如下命令安装:
代码:
$ sudo ar x dpkg_1.17.5ubuntu5.3_amd64.deb
$ sudo cp data.tar.gz /
$ sudo tar zxvf data.tar.gz
无效, 报错依旧.
我从网站上下载了对应版本的libsdl1.2debian_1.2.15-8ubuntu1.1_amd64.deb, 使用上面的命令安装, 同样无效, 报错依旧.
---------------------------------------2015.02.02;08:56补充---------------------------------------
我的/var/lib/dpkg目录:
代码:
$ ls -l /var/lib/dpkg
引用:
total 19308
drwxr-xr-x 2 root root 4096 6月 10 2014 alternatives
-rwxr-xr-x 1 root root 11 2月 2 01:47 arch
-rwxr-xr-x 1 root root 3445189 2月 2 01:47 available
-rwxr-xr-x 1 root root 3445189 2月 2 01:47 available-new
-rwxr-xr-x 1 root root 3445189 2月 2 01:47 available-old
-rwxr-xr-x 1 root root 8 2月 2 01:47 cmethopt
-rwxr-xr-x 1 root root 1435 2月 2 01:47 diversions
-rwxr-xr-x 1 root root 1479 2月 2 01:47 diversions-old
drwxr-xr-x 2 root root 90112 6月 10 2014 info
-rwxr-xr-x 1 root root 0 2月 2 03:58 lock
drwxr-xr-x 2 root root 4096 6月 10 2014 parts
-rwxr-xr-x 1 root root 163 2月 2 01:47 statoverride
-rwxr-xr-x 1 root root 3093016 2月 2 01:47 status
-rwxr-xr-x 1 root root 3093016 2月 2 01:47 status-new
-rwxr-xr-x 1 root root 3098856 2月 2 01:47 status-old
drwxr-xr-x 2 root root 4096 2月 2 01:47 tmp.ci
drwxr-xr-x 2 root root 4096 2月 2 01:47 triggers
drwxr-xr-x 2 root root 4096 6月 10 2014 updates
---------------------------------------2015.02.02;11:09补充---------------------------------------
系统版本: Ubuntu14.04.1 LTS
内核版本: 3.13.0-32-generic
最后一次更新时间: 2月1日下午
真心不想重装. 请求哪位大神帮帮忙!
---------------------------------------2015.02.03;11:50补充---------------------------------------
由于是生产力工具, 不能耽误太多时间, 于是就重装了根目录, 感谢各位网友的热心帮助.
从这件事故中学会了两件事:
1) 在使用sudo rm 命令之前一定要注意所在目录, 也就是说一定要注意这个命令的作用对象, 使用通配符时一定要仔细确认;
2) ext4magic的使用, 大家可以去我上面提供的文档地址去看看. 能恢复出来一些文件真的感觉很神奇.