我尝试了所有方法,但毫无进展。有聪明人能帮忙吗?
当然sudo apt-get -f install
不起作用,同样的错误。
$ sudo apt-get install arping
[sudo] password for dloo:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
arping : Depends: libnet1 (>= 1.1.2.1) but it is not going to be installed
Depends: libpcap0.8 (>= 0.9.8) but it is not going to be installed
libc-dev-bin : Depends: libc6 (< 2.16) but 2.17-0ubuntu4 is to be installed
libc6-dev : Depends: libc6 (= 2.15-0ubuntu10.5) but 2.17-0ubuntu4 is to be installed
libnih1 : PreDepends: libc6 (< 2.16) but 2.17-0ubuntu4 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
$ uname -a
Linux li366-234 2.6.39.1-x86_64-linode19 #1 SMP Tue Jun 21 10:04:20 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu 11.04 \n \l
答案1
我不知道你是否还需要就此寻求帮助,但以下是针对这种情况可以采取的措施的总结(来自Appuals (appuals.com)):
方法 1:使用-f
参数(我知道您已经这样做了,但我将所有内容都收集在这里)
sudo apt-get install -f
sudo dpkg --configure -a
sudo apt-get install -f
方法 2:使用 Aptitude
sudo aptitude install PACKAGENAME
在哪里PACKAGENAME
是您要安装的软件包,然后按Enter执行它。这将尝试通过 aptitude 而不是 apt-get 安装软件包,这应该可以解决未满足的依赖关系问题。
方法 3:确保已启用受限和宇宙存储库,并尝试更好的服务器
software-properties-gtk
- 在 Ubuntu 软件选项卡中,确保所有存储库(主存储库、宇宙存储库、受限存储库、多元存储库)都已启用。
- 单击显示“从中下载”的服务器列表,然后选择
- 点击“选择最佳服务器”。
同时按下Alt、Ctrl和T打开终端,然后输入
sudo apt-get update
然后按一旦运行完成,尝试再次安装该软件。
方法 4:清理包数据库
sudo apt-get clean
sudo apt-get autoclean
方法 5:消除所有被保留的包裹
sudo apt-get -u dist-upgrade
然后(如果 pb 的话):
sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
看看它是否能解决问题。如果它在X not upgraded
最后退出,那么X
是保留的包的数量,您将需要逐个删除它们。
要删除保留的包裹,
sudo apt-get remove --dry-run PACKAGENAME
(PACKAGENAME
是您要删除的软件包)。该--dry-run
参数可确保您了解接下来发生的一切。删除所有软件包后,尝试安装最初导致问题的软件包,然后查看会发生什么。
方法 6:清除/删除/禁用 PPA
个人软件包存档是托管在 Launchpad 上的存储库,用于升级或安装 Ubuntu 官方存储库中通常不可用的软件包。它们通常是未满足依赖项的原因,尤其是当它们用于升级 Ubuntu 存储库中的现有软件包时。您可以禁用、删除或清除它们。
然后,如果它们仍然显示一些依赖问题,让我们清除它们:
apt purge packageXX packageYY packageZZ
等等,直到一切都干净为止
有些人还说要编辑/var/lib/dpkg/status
和删除尚未完成安装的块,但我怀疑这是否真的能解决问题,它只是将其隐藏在地毯下。
答案2
您尝试过以下操作吗?
apt-get check
首先尝试:
sudo dpkg --configure -a
其次是:
sudo apt-get -f install
答案3
根据 Ubuntu wiki 上的信息(https://wiki.ubuntu.com/Releases), Ubuntu 11.04 (Natty Narwhal) 于 2012 年 10 月 28 日达到使用寿命终止日期。您的特定错误意味着可用的 arping 版本依赖于更新版本的库,而这些库可能在 Natty Narwhal 中不可用,或者 Natty Narwhal 可能只是拒绝构建这些库,因为它们会导致与您不受支持的其余平台不兼容。
您的两个选择是查看您是否可以找到 arping 所需库的源(记住要满足 arping 的版本要求),并查看您是否可以成功手动构建它们(例如整个 ./configure && make && sudo make install 例程)。但我不能保证这会起作用,而且您的操作系统再次不受支持。或者,备份所有所需数据,下载 Ubuntu 17.10.1 的副本(如果您更喜欢坚持使用 LTS,则下载 16.04.3),制作可启动 USB 并安装更新的、当前支持的 Ubuntu 版本。
答案4
如果您读懂了错误,解决方案就很简单。
假设您要安装的软件包是套餐A。
尝试安装套餐A将会得到如下结果:
packageA: Depends: packageX (>= a.b) but it is not going to be installed
你需要跑sudo apt-get install packageX
。
你可能会遇到另一个错误,内容是:
packageX: Depends: packageY (>= a.b) but it is not going to be installed
运行sudo apt-get install packageY
即可安装。
继续这样做(在我看来大多数包都有 3-4 个节点深的树),直到安装了系列中的最后一个依赖项。
之后,你的第一个安装命令套餐A将成功运行。