如何在安装软件包时消除有关 cups 的“未满足的依赖项错误”?

如何在安装软件包时消除有关 cups 的“未满足的依赖项错误”?

在安装 octave 或 wxmaxima 时,我在终端中看到此错误

You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 cups : Depends: cups-daemon (>= 2.1.3-4ubuntu0.2)
 cups-core-drivers : Depends: cups-daemon (>= 2.1.3-4ubuntu0.2)
 cups-daemon : Depends: libcups2 (= 2.1.3-4) but 2.1.3-4ubuntu0.2 is to 
be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

答案1

我认为有人打包更新时出错了。我在这里提交了一个错误: https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1676621

如果它影响到您,顶部有一个链接“这个错误影响到您”,它将确认该错误,以便开发人员可以开始查看它。

更新:该错误的结束建议了这个对我有用的东西:

sudo apt-get install libcups2=2.1.3-4 cups libcupscgi1=2.1.3-4 libcupsimage2=2.1.3-4 libcupsmime1=2.1.3-4 libcupsppdc1=2.1.3-4 cups-core-drivers cups-daemon ghostscript cups-client=2.1.3-4 cups-ppdc cups-filters printer-driver-gutenprint cups-filters

答案2

为了解决依赖问题,我们应该查看日志文件

/var/log/apt/term.log
/var/log/apt/history.log

apt-get-s(模拟)选项一起使用也很有帮助:

sudo apt-get -s -f 安装

将向我们展示在不实际改变系统任何内容的情况下会发生什么。

我运行sudo apt updatesudo apt full-upgrade得到了完全相同的错误消息。

/var/log/apt/term.log

日志开始时间:2017-03-28 01:26:44
(正在读取数据库...
(正在读取数据库...100%
(正在读取数据库...当前安装了 314704 个文件和目录。)
准备解压 .../libcupsppdc1_2.1.3-4ubuntu0.2_amd64.deb ...
正在将 libcupsppdc1:amd64 (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) ...
准备解压 .../libcupsmime1_2.1.3-4ubuntu0.2_amd64.deb ...
正在将 libcupsmime1:amd64 (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) 上...
准备解压 .../libcupsimage2_2.1.3-4ubuntu0.2_amd64.deb ...
正在将 libcupsimage2:amd64 (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) 上...
准备解压 .../libcupscgi1_2.1.3-4ubuntu0.2_amd64.deb ...
正在解压 libcupscgi1:amd64 (2.1.3-4ubuntu0.2) 到 (2.1.3-4) ...
准备解压 .../cups-core-drivers_2.1.3-4ubuntu0.2_amd64.deb ...
正在将 cups-core-drivers (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) 上...
准备解压 .../cups-server-common_2.1.3-4ubuntu0.2_all.deb ...
正在将 cups-server-common (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) ...
准备解压 .../cups-common_2.1.3-4ubuntu0.2_all.deb ...
正在将 cups-common (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) 上...
准备解压 .../cups-ppdc_2.1.3-4ubuntu0.2_amd64.deb ...
正在将 cups-ppdc (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) 上...
准备解压 .../cups-daemon_2.1.3-4ubuntu0.2_amd64.deb ...
cups.service 的任务已取消。
invoke-rc.d: initscript cups,操作“停止”失败。
dpkg:警告:子进程旧的预删除脚本返回错误退出状态 1
dpkg: 尝试使用新包中的脚本...
cups.service 的任务已取消。
invoke-rc.d: initscript cups,操作“停止”失败。
dpkg: 处理档案 /var/cache/apt/archives/cups-daemon_2.1.3-4ubuntu0.2_amd64.deb (--unpack) 时出错:
 子进程新的预删除脚本返回错误退出状态 1
准备解压 .../cups-bsd_2.1.3-4ubuntu0.2_amd64.deb ...
正在将 cups-bsd (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) 上...
准备解压 .../cups-client_2.1.3-4ubuntu0.2_amd64.deb ...
正在将 cups-client (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) 上...
准备解压 .../libcups2_2.1.3-4ubuntu0.2_amd64.deb ...
正在将 libcups2:amd64 (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) 上...
准备解压 .../cups_2.1.3-4ubuntu0.2_amd64.deb ...
正在将 cups (2.1.3-4ubuntu0.2) 解压到 (2.1.3-4) 上...
处理 libc-bin (2.23-0ubuntu7) 的触发器...
处理 doc-base 的触发器 (0.10.7) ...
处理 1 个改变的 doc-base 文件...
正在使用 scrollkeeper 注册文件……
处理 man-db (2.7.5-1) 的触发器...
处理时遇到错误:
 /var/cache/apt/archives/cups-daemon_2.1.3-4ubuntu0.2_amd64.deb
日志结束时间:2017-03-28 01:28:00

似乎是cpus-package 的问题。收集有关此包的信息,我发现https://launchpad.net/ubuntu/+source/cups

2.1.3-4 发布(主要)
2.1.3-4ubuntu0.2 建议(主要)

为了摆脱未满足的依赖关系,我运行了sudo apt-get -f install

/var/log/apt/term.log

日志开始时间:2017-03-28 10:16:05
(正在读取数据库...
(正在读取数据库...100%
(正在读取数据库...当前安装了 314703 个文件和目录。)
正在删除打印机驱动程序 splix (2.0.0+svn315-4fakesync1) ...
正在删除打印机驱动程序-postscript-hp (3.16.3+repack0-1) ...
正在删除 hplip (3.16.3+repack0-1) ...
正在删除打印机驱动程序 hpcups (3.16.3+repack0-1) ...
正在删除 bluez-cups (5.37-0ubuntu5) ...
正在删除打印机驱动程序-gutenprint (5.2.11-1) ...
正在删除杯子(2.1.3-4ubuntu0.2)...
正在删除 cups-core-drivers (2.1.3-4ubuntu0.2) ...
正在删除 cups-daemon (2.1.3-4) ...
警告:正在停止 cups.service,但是仍然可以通过以下方式激活:
  杯子.插座
处理 man-db (2.7.5-1) 的触发器...
处理 dbus (1.10.6-1ubuntu3.3) 的触发器...
设置 libcups2:amd64 (2.1.3-4ubuntu0.2) ...
设置 libcupsimage2:amd64 (2.1.3-4ubuntu0.2) ...
设置 cups-server-common (2.1.3-4ubuntu0.2) ...
设置 cups-common (2.1.3-4ubuntu0.2) ...
设置 cups-client (2.1.3-4ubuntu0.2) ...
设置 libcupsppdc1:amd64 (2.1.3-4ubuntu0.2) ...
设置 cups-ppdc (2.1.3-4ubuntu0.2) ...
设置 libcupscgi1:amd64 (2.1.3-4ubuntu0.2) ...
设置 libcupsmime1:amd64 (2.1.3-4ubuntu0.2) ...
设置 cups-bsd (2.1.3-4ubuntu0.2) ...
处理 libc-bin (2.23-0ubuntu7) 的触发器...
日志结束时间:2017-03-28 10:16:16

/var/log/apt/history.log

开始日期:2017-03-28 10:16:05
命令行:apt-get -f install
请求者:mook (1000)
删除:打印机驱动程序-splix:amd64(2.0.0+svn315-4fakesync1)、bluez-cups:amd64(5.37-0ubuntu5)、打印机驱动程序-hpcups:amd64(3.16.3+repack0-1)、打印机驱动程序-postscript-hp:amd64(3.16.3+repack0-1)、hplip:amd64(3.16.3+repack0-1)、打印机驱动程序-gutenprint:amd64(5.2.11-1)、cups-core-drivers:amd64(2.1.3-4ubuntu0.2)、cups-daemon:amd64(2.1.3-4)、cups:amd64(2.1.3-4ubuntu0.2)
结束日期:2017-03-28 10:16:16

未满足的依赖关系现在已成为历史,但是一些软件包已被删除,我重新安装了它们,cups首先proposed updates启用了有问题的软件包。

我启用proposed updates并运行sudo apt update

!!!不要跑sudo apt upgrade!!!

我重新安装了杯子sudo apt install cups

已安装:打印机驱动程序-gutenprint:amd64(5.2.11-1,自动)、cups-core-drivers:amd64(2.1.3-4ubuntu0.2,自动)、cups-daemon:amd64(2.1.3-4ubuntu0.2,自动)、cups:amd64(2.1.3-4ubuntu0.2)

我禁用proposed updates并运行sudo apt update

我们可以看到之前删除的一些软件包现在重新安装了,但不是全部。我安装了缺失的软件包

sudo apt 安装 hplip
   已安装:打印机驱动程序-hpcups:amd64(3.16.3+repack0-1,自动)、打印机驱动程序-postscript-hp:amd64(3.16.3+repack0-1,自动)、hplip:amd64(3.16.3+repack0-1)
sudo apt 安装打印机驱动程序-splix
   已安装:打印机驱动程序-splix:amd64(2.0.0 + svn315-4fakesync1)
sudo apt 安装 bluez-cups
   已安装:bluez-cups:amd64(5.37-0ubuntu5)

现在所有软件包都已安装并且打印机可以再次工作。

如何启用/禁用建议的更新:

https://www.hiroom2.com/2016/05/23/ubuntu-16-04-install-xenial-proposed-package/

https://wiki.ubuntu.com/Testing/EnableProposed

启用建议的更新:

$ sudo sh -c "echo 'deb http://archive.ubuntu.com/ubuntu/ \
xenial 提出的受限主多元宇宙' \
> /etc/apt/sources.list.d/xenial-proposed.list”

禁用建议的更新:

$ sudo rm /etc/apt/sources.list.d/xenial-proposed.list”

或者使用软件和更新程序并在选项卡preleased updates(xenial-proposed)中选中/取消选中Dev

笔记

我运行带有内核 4.4.0-70-lowlatency 的 UbuntuStudio 16.04.2。

OP 的日志文件可能与我的略有不同,因为 OP 使用不同的命令来获取错误。此外,从执行中删除的文件sudo apt-get -f install 可能不同,这取决于为不同打印机安装的驱动程序。

为了安全起见,暂时禁用自动更新以执行所述步骤并不是最糟糕的想法。

当谈到依赖问题时,我并不是很聪明(喜欢我的独立性),可能有更优雅的方法来解决这个问题。

相关内容