• 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)
    复制代码
    如果您认为文章还不错或者有所收获,您可以通过扫描下方的二维码进行随性打赏(¥1/¥2/¥5)以及点击左下角的【好文要顶】按钮以示支持,或者扫描关注即将写作的公众号二维码,因为这几种方式都是支持我继续写作,分享的最大动力!公众号将记录工作生活,技术内容,个性观点等内容,欢迎您的关注
  • 相关阅读:
    TCP四种定时器--学习笔记
    Python魔术师--self
    python的socket里 gethostbyname 与 gethostbyname_ex 的区别
    用python查看URL编码的中文
    基于linux 的2048
    用灵活的指针访问类私有变量
    ie8无法拉伸背景图
    图片的onerror 事件解析
    stream.js
    Promise
  • 原文地址:https://www.cnblogs.com/exmyth/p/16688811.html
Copyright © 2020-2023  润新知