我正在尝试安装 FileZilla 3.19,但运行时出现此错误apt-get install filezilla
:
Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:
The following packages have unmet dependencies. filezilla : Depends: libdbus-1-3 (>= 1.9.14) but 1.6.18-0ubuntu4.3 is to be installed
Depends: libfilezilla0 but it is not going to be installed
Depends: libgnutls30 (>= 3.4.2) but it is not installable
Depends: libnettle6 but it is not installable
Depends: libpugixml1v5 (>= 1.7) but it is not installable
Depends: libstdc++6 (>= 5.2) but 4.8.4-2ubuntu1~14.04.3 is to be installed
Depends: libwxbase3.0-0v5 (>= 3.0.2+dfsg) but it is not installable
Depends: libwxgtk3.0-0v5 (>= 3.0.2+dfsg) but it is not installable E: Unable to correct problems, you have held broken packages.
我该如何解决?
答案1
即使您的其他软件包是针对 Trusty 的,您也已将 GetDeb 软件包存储库配置为使用 Xenial 软件包。您需要编辑相关sources.list
文件并将其替换xenial
为trusty
。以下是执行此操作并更新软件包列表的一种自动化方法:
sudo sed -i -e 's/xenial-getdeb/trusty-getdeb/' /etc/apt/sources.list{,.d/*.list}
sudo apt-get update
然后运行
apt-cache policy filezilla
确定要安装的版本。apt-cache
列出软件包版本及其原始源代码行。选择源代码行中包含“trusty”的版本。现在,您可以重新安装filezilla
正确版本的软件包,同时修复软件包问题。<VERSION>
根据上一步的发现进行替换并运行:
sudo apt-get install -f filezilla=<VERSION>
答案2
在本网站您可以看到每个 Ubuntu 版本存储库中提供的 FileZilla 软件包列表,这些软件包仍受官方支持。如您所见,FileZilla 的最新版本 -- 3.19.0-1ubuntu1
-- 仅适用于尚未发布的 Ubuntu 16.10。如果您的 Mint 发行版基于 Trusty,那么从常规存储库中您只能访问三年前的 FileZilla -- 版本3.7.3-1ubuntu1
。
现在,正如您在评论中所说,您进行了发行版更新(更新到不稳定的发行版?)。这是一种非常危险的获取特定软件包的方法,因为它可能会弄乱其他依赖项,而您遇到的情况就是如此。如果您想升级,始终建议执行全新安装。
实际上,有一种更安全的方法来获取较新的软件包,而无需更改发行版:
- 下载您感兴趣的特定
.deb
文件(查看这里并根据您的 PC 架构进行选择) - (通过终端)进入下载文件的文件夹并安装包
sudo dpkg -i file.deb
- 运行
sudo apt-get install -f
以确保没有损坏的依赖关系。
您在旧的、稳定的发行版中拥有较新的软件包,而不必冒着弄乱您的操作系统的风险。