我正在尝试创建一个测试服务器,其中包含与实时服务器相同的所有软件包,并按照说明进行操作这里(以及其他地方的类似说明)
但是当我运行apt-get -u dselect-upgrade
命令时我得到了:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have unmet dependencies:
cron : Depends: adduser but it is not going to be installed
upstart : Depends: initscripts
Depends: mountall
Depends: ifupdown (>= 0.6.10ubuntu5)
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Internal error, problem resolver broke stuff
两台服务器都在 Rackspace 云中,但使用不同的帐户,因此我无法使用 Rackspace 的克隆功能。
答案1
我设法通过保留系统上已安装的所有软件包来解决该问题。
我使用了以下配方:
dpkg --get-selections | grep "\binstall$" | sed s/install/hold/ > toHold.txt
dpkg --set-selections < selections.txt
dpkg --set-selections < toHold.txt
apt-get dselect-upgrade
此时,只有一个包 libxml2-dev:i386 仍然导致问题,因此我使用以下命令手动将其删除:
echo libxml2-dev:i386 hold | dpkg --set-selections
apt-get install -f