意外删除了 /var 的*部分*,但有一个旧备份,我该如何解决这个问题?

意外删除了 /var 的*部分*,但有一个旧备份,我该如何解决这个问题?

我使用 12.04LTS。

我有一个旧的操作系统磁盘安装在 上/media/backup/,我正在将其转换为备份磁盘。我不小心运行了sudo rm -rf /var/而不是sudo rm -rf var/,然后删除了一些在发现自己/var/的错误之前^C

/media/backup/var/我使用重新复制了一些文件cp -na /media/backup/var/specific_path/* /var/specific_path/,主要做了一些显而易见的事情(例如 中的文件夹/var/的文件比 中的少/media/backup/var/)。有几件事显然不起作用:

  • Totem 从命令行抱怨无法连接到 jack(这很重要,因为该机器是运行 mythtv 的 HTPC)
  • 有些程序抱怨没有/var/lib/dbus/machine_id,并且此文件夹和文件未在重新启动时重新创建(我曾预料到可能会这样)

一旦我觉得自己做得足够了,我就尝试重新启动。

tty7 失败,我得到了一个基于文本的登录。我需要复制一些 gdm 文件吗?我的旧安装最初已从 8.04LTS 逐步升级到 12.04LTS。我猜它var/有一些我不需要在我的 中重现的旧文件夹/var/。例如,它有一个var/lib/gdm/文件夹,但/var/lib/没有。然后我又以为 gdm 已被弃用?

我可以使用安装 CD 进行“修复”吗?或者是否有办法使用我的备份来修复其余部分?

更新

cp /media/backup/var/lib/gdm/* /var/lib/gdm/让我可以启动到桌面。我现在处于不太危急的状态,但我上面的问题仍然存在:有没有办法检测应该缺少什么,或者强制dpkg-reconfigure对缺少文件的软件包进行某种智能处理?

答案1

最好的方法是重新安装并使用备份将数据传输到新安装。

相关内容