意外删除了 /var 文件夹

意外删除了 /var 文件夹

我做了一件非常愚蠢的事情。我在 /var/ 文件夹中创建了文件的 tarball。我创建的 tarball 被放入了 /tmp/test.tar

在测试提取过程的过程中,我本想删除/tmp/var/,但最后却

rm -r on /var

通过命令行。

我知道…呃。

好消息是我只apache2 / php5在这个测试机上运行。但我想知道是否有一种简单的方法来恢复我的文件?从我到目前为止在其他帖子中读到的内容来看,答案是否定的。我正在尝试重新安装 apache 和 php5,但当然,我遇到了错误。我有另一个具有类似设置的 Ubuntu 机箱……所以我复制了/var/lib/dpkg文件夹,这让我更进一步……

但是现在当我执行时apt-get install apache2,出现以下错误:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package apache2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'apache2' has no installation candidate

我对 Linux 还比较陌生,您也看得出来,我不太精通!只是想知道您是否有任何快速恢复的技巧?

谢谢。

编辑1

我跑了

sudo apt-get update

并且它似乎运行正常。

然后我尝试

$ sudo apt-get install apache2    
Reading package lists... Done 
Building dependency tree        
Reading state information... Done 
Some packages could not be installed. 
This may mean that you have requested an impossible situation or if you are
using the unstable distribution that some required packages have not
yet been created or been moved out of Incoming. The following
information may help to resolve the situation:

The following packages have unmet dependencies:  
apache2 : 
Depends: apache2-bin (= 2.4.7-1ubuntu4.1) but 2.4.10-1ubuntu1 is to be installed
Depends: apache2-data (= 2.4.7-1ubuntu4.1) but 2.4.10-1ubuntu1 is to be installed 
E: Unable to correct problems, you have held broken packages.

因此我尝试执行以下操作:

test@testpc:/$ sudo apt-get install apache2-bin 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
apache2-bin is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.

test@testpc:/$ sudo apt-get install apache2-data
Reading package lists... Done
Building dependency tree       
Reading state information... Done
apache2-data is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.

正如您所见,它并没有升级...如果有任何其他建议,我们将不胜感激。

编辑2

我选中了从中复制 /var/lib/dpkg 的框,它运行的是 ubuntu 14.10,而这个运行的是 14.04。这有关系吗?

答案1

你有两种可能性:

  1. 恢复您的系统备份(你肯定是第 4 类用户)
  2. 重新安装并开始制作系统备份

好了!就是这个。以上就是针对您的系统的两个快速修复方法。

任何其他的事情都会导致很多麻烦,问题会在几天、几周、几个月甚至几年内出现!

答案2

我曾经遇到过这种情况,但后来我做了一些愚蠢的事情才解决了这个问题。我尝试了一下,但update它却抱怨缺少/var/dpkg/什么,我只是创建了缺少的目录或文件,然后不断重复apt-get update。后来我遇到了这个错误消息:dpkg: error processing some-package (--configure):这个答案对我有帮助,每当出现该错误时,我只需将其替换install ok whateverinstall ok installed。当然,这可能是危险的,可能会把事情搞砸,但如果重新安装操作系统是你唯一的选择,那么为什么不把它作为倒数第二个手段试试呢?顺便说一句,继续尝试clean, autocleanautoremove。所以步骤是这样的:

sudo apt-get updte

错误消息显示:blah/blah/blah file/directory doesn't exist,只需继续创建这些目录/文件(当然是空的)并重复更新过程。例如,当您遇到

dpkg: error processing some-package (--configure): dependency problems - leaving unconfigured

编辑此文件:/var/lib/dpkg/status

并发现:

Package: some-package Status: install ok whatever

替换whateverinstalled并重复sudo apt-get update。继续这样做,直到您满意为止。

相关内容