获取已安装软件包的列表 - 来自损坏的分区

获取已安装软件包的列表 - 来自损坏的分区

我在基于 OS X 的 VMWare Fusion 6 上运行 13.04,它存在一些严重的稳定性问题,每天至少需要硬重启(电源循环)一次,甚至更多。

由于 VMWare 功能不完善且并不总是将磁盘数据写入磁盘,因此当有人在不关闭虚拟机的情况下重新启动机器时,虚拟机很容易受到损坏。

无论如何,我从旧的虚拟机中获得了一个虚拟磁盘,可以在新安装中安装它,但我不知道如何获取已安装软件包的列表,因为它dpkg正在查看它的新数据库而不关心旧数据库。

旧分区有很多问题,文件损坏等等,所以我不能把dd它放到新位置。我认为最简单的方法是编译一个安装后添加的软件包列表,然后将其输入dpkgapt-get这个答案。我唯一的问题是生成该软件包列表。有人可以帮忙吗?

答案1

如果你可以挂载足够的虚拟磁盘来查看/var/lib/dpkg/目录,你可以告诉软件包使用“--admindir”选项来查看。

dpkg --admindir=/mountpoint/var/lib/dpkg --list

真正需要的文件是/var/lib/dpkg/状态(或其备份之一)。因此,您可以将该单个文件复制到一个空目录并指向软件包在该目录中。

相关内容