在解释问题之前,我应该说我已经尝试了互联网上所有其他类似问题的答案和故障排除,但都不起作用。更具体地说,所有apt-get
命令如下:
apt-get -f install
apt-get -f upgrade
apt-get -f dist-upgrade
apt-get -f autoclean
...
它们全都报告了Unable to correct dependencies
。根据 apt-get 的报告,似乎有些必需的软件包被删除了(是我无意中删除的)。例如:
linux-image-2.6... depends on linux-base (>=2.6...) but it is not installed
depends initramfs-tools (...) but it is not installed ...
我知道由于我错误地修改了条目,很多软件包已经被删除,source.list
而我现在陷入了一个崩溃的系统。
我的问题是 Linux 是否会自动下载其所需的所有软件包?请注意,我已恢复source.list
文件并且apt-get update
现在运行正常。
更新 由于链式依赖问题导致我无法安装或升级,因此我选择了另一种方法,而不是尝试安装软件包,而是删除了所有存在依赖问题的软件包!我使用了以下命令:
apt-get -f remove <pkg name>
apt-get -f autoremove
apt-get autoclean
dpkg -r <pkg name>
dpkg --configure <pkg name>
现在很多软件包已被删除,但我有一个可以工作的 shell,所以我安装了 aptitude 和一些基本软件包,pat-get install <pkg name>
现在可以使用它们了。我检查了系统上已安装的软件包,似乎现在我的系统上只安装了 350 MB 的标准 ~700 MB 软件包(Debian 默认安装)。
在互联网上快速搜索后,我找到了,tasksel
所以我通过安装了它apt-get install tasksel
。现在,我正尝试在的帮助下恢复已删除的软件包tasksel
。
总结由于需要安装的软件包数量巨大,我删除了存在依赖性问题的软件包,而不是解决它们的依赖性。