dpkg安装deb缺少依赖包的解决方法
【先贴出解决方案(基于Ubuntu)】:
使用dpkg -i *.deb 的时候出现依赖没有安装
使用apt-get -f -y install 解决依赖问题后再执行dpkg安装deb包
=====================1.下面是遇到的依赖没有安装===========================
问题
horizon@horizon-pc ~/下载 $ sudo dpkg -i youdao-dict_1.1.0-0-ubuntu_amd64.deb
[sudo] password for horizon:
Selecting previously unselected package youdao-dict.
(正在读取数据库 ... 系统当前共安装有 163525 个文件和目录。)
Preparing to unpack youdao-dict_1.1.0-0-ubuntu_amd64.deb ...
Unpacking youdao-dict (1.1.0-0~ubuntu) ...
dpkg: dependency problems prevent configuration of youdao-dict:
youdao-dict 依赖于 python3-pyqt5;然而:
未安装软件包 python3-pyqt5。
youdao-dict 依赖于 python3-requests;然而:
未安装软件包 python3-requests。
youdao-dict 依赖于 python3-xlib;然而:
未安装软件包 python3-xlib。
youdao-dict 依赖于 tesseract-ocr;然而:
未安装软件包 tesseract-ocr。
youdao-dict 依赖于 tesseract-ocr-eng;然而:
未安装软件包 tesseract-ocr-eng。
youdao-dict 依赖于 tesseract-ocr-chi-sim;然而:
未安装软件包 tesseract-ocr-chi-sim。
youdao-dict 依赖于 tesseract-ocr-chi-tra;然而:
未安装软件包 tesseract-ocr-chi-tra。
youdao-dict 依赖于 python3-pil;然而:
未安装软件包 python3-pil。
youdao-dict 依赖于 python3-pyqt5.qtmultimedia;然而:
未安装软件包 python3-pyqt5.qtmultimedia。
youdao-dict 依赖于 python3-pyqt5.qtquick;然而:
未安装软件包 python3-pyqt5.qtquick。
youdao-dict
dpkg: error processing package youdao-dict (--install):
依赖关系问题 - 仍未被配置
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1) ...
在处理时有错误发生:
youdao-dict
===============2.解决依赖========================
执行命令:
horizon@horizon-pc ~/下载 $ sudo apt-get -f -y install
==============3.重新使用dpkg安装deb包=============
horizon@horizon-pc ~/下载 $ sudo dpkg -i youdao-dict_1.1.0-0-ubuntu_amd64.deb
(正在读取数据库 ... 系统当前共安装有 164650 个文件和目录。)
Preparing to unpack youdao-dict_1.1.0-0-ubuntu_amd64.deb ...
Unpacking youdao-dict (1.1.0-0~ubuntu) over (1.1.0-0~ubuntu) ...
正在设置 youdao-dict (1.1.0-0~ubuntu) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1) ...
==============4.启动刚才安装的软件:有道词典============
===========================================================================================================================================================================
【no soluation ,only reference】
依赖包还会出现另外一种情况,在安装网易云音乐的时候出现:
网易音乐包:
netease-cloud-music_1.1.0_amd64_ubuntu.deb (从网易官网下载)
直接安装会遇见依赖问题:
horizon@horizon-pc ~/下载 $ sudo dpkg -i netease-cloud-music_1.1.0_amd64_ubuntu.deb Selecting previously unselected package netease-cloud-music. (正在读取数据库 ... 系统当前共安装有 166052 个文件和目录。) Preparing to unpack netease-cloud-music_1.1.0_amd64_ubuntu.deb ... Unpacking netease-cloud-music (1.1.0) ... dpkg: dependency problems prevent configuration of netease-cloud-music: netease-cloud-music 依赖于 libdbus-1-3 (>= 1.8.1);然而: 系统中 libdbus-1-3:amd64 的版本为 1.6.18-0ubuntu4.5。 netease-cloud-music 依赖于 libstdc++6 (>= 5.2);然而: 系统中 libstdc++6:amd64 的版本为 4.8.4-2ubuntu1~14.04.4。 netease-cloud-music 依赖于 libtag1v5 (>= 1.9.1-2.4ubuntu1);然而: 未安装软件包 libtag1v5。 dpkg: error processing package netease-cloud-music (--install): 依赖关系问题 - 仍未被配置 Processing triggers for libc-bin (2.19-0ubuntu6.14) ... Processing triggers for desktop-file-utils (0.22-1ubuntu1.1) ... Processing triggers for mime-support (3.54ubuntu1.1) ... Processing triggers for gnome-menus (3.10.1-0ubuntu2) ... Processing triggers for hicolor-icon-theme (0.13-1) ... 在处理时有错误发生: netease-cloud-music
如果按照第一情况的处理方法处理的话 会出现以下的情况:
horizon@horizon-pc ~/下载 $ sudo apt-get -f -y install 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 正在更正依赖关系... 完成 下列软件包将被【卸载】: netease-cloud-music 升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 24 个软件包未被升级。 有 1 个软件包没有被完全安装或卸载。 解压缩后将会空出 237 MB 的空间。 (正在读取数据库 ... 系统当前共安装有 166275 个文件和目录。) Removing netease-cloud-music (1.1.0) ... Processing triggers for libc-bin (2.19-0ubuntu6.14) ... Processing triggers for hicolor-icon-theme (0.13-1) ... Processing triggers for desktop-file-utils (0.22-1ubuntu1.1) ... Processing triggers for mime-support (3.54ubuntu1.1) ... Processing triggers for gnome-menus (3.10.1-0ubuntu2) ... W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages) W: 您可能需要运行 apt-get update 来解决这些问题
按照提示进行操作:
horizon@horizon-pc ~/下载 $ sudo apt-get update ...... 忽略 http://ppa.launchpad.net trusty/main Translation-zh 忽略 http://packages.linuxmint.com rebecca/import Translation-zh_CN 忽略 http://packages.linuxmint.com rebecca/import Translation-zh 忽略 http://packages.linuxmint.com rebecca/import Translation-en 忽略 http://packages.linuxmint.com rebecca/main Translation-zh_CN 忽略 http://packages.linuxmint.com rebecca/main Translation-zh 忽略 http://packages.linuxmint.com rebecca/main Translation-en 忽略 http://packages.linuxmint.com rebecca/upstream Translation-zh_CN 忽略 http://packages.linuxmint.com rebecca/upstream Translation-zh 忽略 http://packages.linuxmint.com rebecca/upstream Translation-en 下载 15.4 kB,耗时 2分 19秒 (110 B/s) W: GPG 错误:http://ppa.launchpad.net trusty InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 5A9A06AEF9CB8DB0 W: 无法下载 http://dl.google.com/linux/chrome/deb/dists/stable/Release Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file) E: Some index files failed to download. They have been ignored, or old ones used instead.
然后再安装试试:
horizon@horizon-pc ~/下载 $ sudo dpkg -i netease-cloud-music_1.1.0_amd64_ubuntu.deb Selecting previously unselected package netease-cloud-music. (正在读取数据库 ... 系统当前共安装有 166052 个文件和目录。) Preparing to unpack netease-cloud-music_1.1.0_amd64_ubuntu.deb ... Unpacking netease-cloud-music (1.1.0) ... dpkg: dependency problems prevent configuration of netease-cloud-music: netease-cloud-music 依赖于 libdbus-1-3 (>= 1.8.1);然而: 系统中 libdbus-1-3:amd64 的版本为 1.6.18-0ubuntu4.5。 netease-cloud-music 依赖于 libstdc++6 (>= 5.2);然而: 系统中 libstdc++6:amd64 的版本为 4.8.4-2ubuntu1~14.04.4。 netease-cloud-music 依赖于 libtag1v5 (>= 1.9.1-2.4ubuntu1);然而: 未安装软件包 libtag1v5。 dpkg: error processing package netease-cloud-music (--install): 依赖关系问题 - 仍未被配置 Processing triggers for libc-bin (2.19-0ubuntu6.14) ... Processing triggers for desktop-file-utils (0.22-1ubuntu1.1) ... Processing triggers for mime-support (3.54ubuntu1.1) ... Processing triggers for gnome-menus (3.10.1-0ubuntu2) ... Processing triggers for hicolor-icon-theme (0.13-1) ... 在处理时有错误发生: netease-cloud-music horizon@horizon-pc ~/下载 $ sudo apt-get -f -y install 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 正在更正依赖关系... 完成 下列软件包将被【卸载】: netease-cloud-music 升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 24 个软件包未被升级。 有 1 个软件包没有被完全安装或卸载。 解压缩后将会空出 237 MB 的空间。 (正在读取数据库 ... 系统当前共安装有 166275 个文件和目录。) Removing netease-cloud-music (1.1.0) ... Processing triggers for libc-bin (2.19-0ubuntu6.14) ... Processing triggers for hicolor-icon-theme (0.13-1) ... Processing triggers for desktop-file-utils (0.22-1ubuntu1.1) ... Processing triggers for mime-support (3.54ubuntu1.1) ... Processing triggers for gnome-menus (3.10.1-0ubuntu2) ... W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages) W: 您可能需要运行 apt-get update 来解决这些问题
总结:从以上红色字体看出来两个问题:
1. 之前准备安装网易云音乐的deb包,没有正确安装,如果再次进行安装和 apt-get -f -y install 操作的时候会让删除之前安装的包。
2. 【source】源出了问题.
解决方案:
编辑源文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
添加ali源:
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties deb http://mirrors.aliyun.com/ubuntu/ xenial universe deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties deb http://archive.canonical.com/ubuntu xenial partner deb-src http://archive.canonical.com/ubuntu xenial partner deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
更新源:
horizon@horizon-pc /etc/apt $ sudo apt-get update horizon@horizon-pc /etc/apt $ sudo apt-get upgrade -f 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 正在更正依赖关系... 失败。 下列软件包有未满足的依赖关系: netease-cloud-music : 依赖: libdbus-1-3 (>= 1.8.1) 但是 1.6.18-0ubuntu4.5 已经安装 依赖: libstdc++6 (>= 5.2) 但是 4.8.4-2ubuntu1~14.04.4 已经安装 依赖: libtag1v5 (>= 1.9.1-2.4ubuntu1) 但是它还没有被安装 E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。 E: 无法更正依赖关系
更新完进行升级的时候出现了包冲突,所以需要先清除冲突包:
horizon@horizon-pc /etc/apt $ sudo apt-get purge netease-cloud-music 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列软件包将被【卸载】: netease-cloud-music* 升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 1889 个软件包未被升级。 有 1 个软件包没有被完全安装或卸载。 解压缩后将会空出 237 MB 的空间。 您希望继续执行吗? [Y/n] y (正在读取数据库 ... 系统当前共安装有 166275 个文件和目录。) Removing netease-cloud-music (1.1.0) ... Processing triggers for libc-bin (2.19-0ubuntu6.14) ... Processing triggers for hicolor-icon-theme (0.13-1) ... Processing triggers for desktop-file-utils (0.22-1ubuntu1.1) ... Processing triggers for mime-support (3.54ubuntu1.1) ... Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
再进行升级操作:
horizon@horizon-pc /etc/apt $ sudo apt-get update horizon@horizon-pc /etc/apt $ sudo apt-get upgrade -f ...... 升级了 936 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 953 个软件包未被升级。 需要下载 243 MB 的软件包。 解压缩后会消耗掉 186 MB 的额外空间。 您希望继续执行吗? [Y/n] y ...... 正在从软件包中解出模板:100% 正在预设定软件包 ... (正在读取数据库 ... 系统当前共安装有 166052 个文件和目录。) Preparing to unpack .../libc-bin_2.27-3ubuntu1_amd64.deb ... dpkg: error processing archive /var/cache/apt/archives/libc-bin_2.27-3ubuntu1_amd64.deb (--unpack): 触发器配置项文件包含位置指令 interest-await dpkg: considering deconfiguration of libc-bin, which would be broken by 安装 locales ... dpkg: no, libc-bin is essential, will not deconfigure it in order to enable 安装 locales dpkg: error processing archive /var/cache/apt/archives/locales_2.27-3ubuntu1_all.deb (--unpack): 安装 locales 将破坏现有软件 dpkg: considering deconfiguration of locales, which would be broken by 安装 libc6:amd64 ... dpkg: yes, will deconfigure locales (broken by libc6:amd64) Preparing to unpack .../libc6_2.27-3ubuntu1_amd64.deb ... De-configuring locales (2.13+git20120306-12.1) ... De-configuring libc6:i386 (2.19-0ubuntu6.14) ... Checking for services that may need to be restarted... Checking init scripts... Nothing to restart. Unpacking libc6:amd64 (2.27-3ubuntu1) over (2.19-0ubuntu6.14) ... Preparing to unpack .../libc6_2.27-3ubuntu1_i386.deb ... Checking for services that may need to be restarted... Checking init scripts... Nothing to restart. Unpacking libc6:i386 (2.27-3ubuntu1) over (2.19-0ubuntu6.14) ... Preparing to unpack .../base-files_10.1ubuntu2.3_amd64.deb ... Unpacking base-files (10.1ubuntu2.3) over (7.2ubuntu5.5) ... Processing triggers for libc-bin (2.19-0ubuntu6.14) ... Processing triggers for mintsystem (7.9.7) ... Processing triggers for plymouth-theme-ubuntu-text (0.8.8-0ubuntu17.2) ... update-initramfs: deferring update (trigger activated) Processing triggers for cracklib-runtime (2.9.1-1build1) ... Processing triggers for install-info (5.2.0.dfsg.1-2) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Processing triggers for initramfs-tools (0.103ubuntu4.11) ... update-initramfs: Generating /boot/initrd.img-3.13.0-37-generic Warning: No support for locale: zh_CN.utf8 E: Sub-process /usr/bin/dpkg returned an error code (1)
出处:http://www.cnblogs.com/horizonli/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。