是否可以模拟Debian软件包的安装,并仍将其标记为已安装?


17

这就是我想要的:

从没有安装软件包的虚拟系统开始。然后,我调用一个工具,类似于apt-get要求它计算依赖性并标记所有将安装的软件包。

让我清楚一点它表示已安装软件包,但实际上没有安装文件

然后,如果我要求“安装”更多软件包,它可能会建议添加或删除其他软件包。它实际上并不会删除软件包,但显然只是将它们标记为已删除。

这将很有用,因为我将能够在裸露的Debian或Ubuntu系统上测试软件包的安装。它可以让我知道在特定情况下是否可以安装软件包。

进行实际安装会占用大量磁盘空间和时间

apt 具有“模拟”选项,但不会将软件包标记为已安装。

Answers:


11

您最好摘下Debian为其各种软件包工具提供的脚本接口之一,并编写自己的模拟器。

(编辑:我无法找到dpkg-perldpkg-python了。 dpkg-awkdpkg-ruby存在的,但他们并不像他们会做的工作。)

但是:Debian有一个“ equivs”工具,可让您构建仅满足依赖关系的“空”软件包,但不安装控制文件之外的任何文件。 http://packages.debian.org/search?keywords=equivs

dpkg并且apt-get都有选择与不同的管理和根目录运行。该dpkg 手册页有他们,但apt-get一个是埋在apt.conf

目录

配置项RootDir具有特殊含义。...

aptitude使您可以选择要安装的内容,然后通过使用正确的设置运行dpkg和/或apt来“提交”它。试一试它可能足以满足您的某些需求,尽管您需要事先保存设置并恢复后置字词。


1
您能指出我提到的这些脚本接口之一吗?

-1

这只会给您一个严重损坏的系统。您为什么首先要做这种奇怪的事情?

我怀疑这是一个XY问题:您需要X,找出一种通过Y进行处理的方法,然后询问Y。在不知道X是什么的情况下,我们无法为它提供合理的解决方案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.