安装 Canon 打印机驱动程序后 Mint 更新程序失败

Mint updater fails after installing Canon printer drivers

我正在使用 linux Mint 17.2 "Rafaela"。今天安装了佳能iP2700系列的驱动。驱动程序的 deb 包依赖 "libtiff4" 包,但系统使用 "libtiff5",所以我强制安装

sudo dpkg --force-depends -i cnijfilter-*

成功了:打印机工作正常,但 mint 更新程序无法更新,它说 "cnijfilter-ip2700series package will be removed"。我当然不想删除它。我该怎么办?

还有一件事:如果我这样做

sudo apt-get dist-upgrade

我得到类似的东西(我正在从西班牙语翻译)"cnijfilter-ip2700series has unresolved dependencies: Depends: libtiff4 but is not possible to install. Try to use -f option"

如果我这样做

sudo apt-get -f dist-upgrade

它说 "cnijfilter-ip2700series will be removed"

无论如何,我更喜欢使用 mint updater,因为 apt-get 似乎会破坏系统设置,所以我更喜欢依赖 mint updater 的解决方案。

系统认为您安装的 cnijfilter 已损坏,因为它缺少依赖项。既然不能满足,建议卸载这个包其实是一个很好的解决方法。

您有多种选择:

  • 看来可以download the source of the driver and compile it yourself.

  • 一个更简单的解决方案是下载并手动安装 libtiff4 的软件包,either from Ubuntu or Debian。该软件包的两个版本都应该可以安装在您的系统上(没有无法满足的依赖性)。这就是我在我的(也是 mint,也使用这些 Cancon 驱动程序)系统上所做的。

  • 您可以从包中修补依赖项,使 认为 一切正常。当然,包中依赖 libtiff4 的应用程序将被破坏,但实际驱动程序 (/usr/lib/cups/backend/cnijusb) 不是其中之一。修补它很容易:

    # Unpack the deb package:
    $ ar x cnijfilter-..._amd64.deb
    # This will create 3 files: data.tar.gz, control.tar.gz and debian-binary
    
    # Unpack control.tar.gz:
    $ mkdir DEBIAN
    $ cd DEBIAN
    $ tar xzf ../control.tar.gz
    
    # Edit the newly created control file:
    $ your_favorite_editor control
    # now, in the editor, remove the libtiff4 dependency from the Depends line
    
    # Repack everything into a new deb file:
    $ rm ../control.tar.gz
    $ tar czf ../control.tar.gz *
    $ cd ..
    $ ar r cnijfilter-..._amd64.deb contol.tar.gz
    

    之后,您更新的 deb 文件不再有 libtiff4 作为依赖项。让 apt 卸载已安装的版本,使其不再抱怨,然后安装新创建的包。