无法使用 apt-get 执行任何操作 - kmod 依赖关系中断。该怎么办?

无法使用 apt-get 执行任何操作 - kmod 依赖关系中断。该怎么办?
(precise)fatih@localhost:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
 kmod : Breaks: module-init-tools (< 4)
        Breaks: module-init-tools:i386 (< 4)
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

我什么也做不了。安装不起作用,配置不起作用,更新也不起作用。我该怎么做才能修复这种依赖关系?

(precise)fatih@localhost:~$ lsb_release -a; apt-cache policy kmod module-init-tools module-init-tools:i386
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty
kmod:
  Installed: 15-0ubuntu6
  Candidate: 15-0ubuntu6
  Version table:
 *** 15-0ubuntu6 0
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status
module-init-tools:
  Installed: (none)
  Candidate: 15-0ubuntu6
  Version table:
     15-0ubuntu6 0
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
module-init-tools:i386:
  Installed: 3.16-1ubuntu2
  Candidate: 3.16-1ubuntu2
  Version table:
 *** 3.16-1ubuntu2 0
        100 /var/lib/dpkg/status

编辑2:

kmod:i386:
  Installed: (none)
  Candidate: 15-0ubuntu6
  Version table:
     15-0ubuntu6 0
        500 http://archive.ubuntu.com/ubuntu/ trusty/main i386 Packages

答案1

module-init-tools:i386安装了应该安装 (amd64) 的位置。可能是您从以前的 PPA 中获取的,因为我在官方存储库中module-init-tools找不到此版本。3.16-1ubuntu2

另一点module-init-tools是的临时包kmod,它们应该安装相同的版本,否则会发生冲突。

  1. 强制删除 module-init-tools:i386,即使它有一些依赖项

    sudo dpkg --remove --force-depends module-init-tools:i386
    
  2. 安装其 amd64 组件

    sudo apt-get install module-init-tools
    
  3. 运行 APT fix 检查是否有任何缺失

    sudo apt-get -f install
    

相关内容