无法安装软件包(未满足的依赖项/损坏的软件包)

无法安装软件包(未满足的依赖项/损坏的软件包)

我正在尝试使用“sudo apt-get install build-essential”,但是它给出了一个错误:

正在读取软件包列表... 完成 正在构建依赖关系树
正在读取状态信息... 完成 无法安装某些软件包。这可能意味着您请求了一个不可能的情况,或者如果您使用的是不稳定分发版,则某些必需的软件包尚未创建或已从传入中移出。以下信息可能有助于解决这种情况:以下软件包具有未满足的依赖关系:build-essential:依赖:libc6-dev但不会安装或libc-dev依赖:gcc(>= 4:7.2)但不会安装依赖:g++(>= 4:7.2)但不会安装依赖:dpkg-dev(>= 1.17.11)但不会安装E:无法更正问题,您持有了损坏的软件包。

因此我尝试安装依赖包(libc6-dev)等,但最终却

以下软件包具有未满足的依赖性:libc6-dev:依赖:libc6(= 2.27-3ubuntu1)但需要安装 2.27-3ubuntu1.2 E:无法纠正问题,您持有损坏的软件包。

所以我尝试安装 libc6

正在读取软件包列表...完成 正在构建依赖关系树
正在读取状态信息...完成 libc6 已经是最新版本 (2.27-3ubuntu1.2)。升级了 0 个程序,新安装了 0 个程序,要删除 0 个程序,未升级 0 个程序。

当我使用 aptitude 时

将会安装以下新软件包:build-essential dpkg-dev{ab} fakeroot{a} g++{a} g++-7{ab} gcc{a} gcc-7{ab} libalgorithm-diff-perl{a} libalgorithm-diff-xs-perl{a} libalgorithm-merge-perl{a} libasan4{ab} libatomic1{ab} libc-dev-bin{a} libc6-dev{ab} libcilkrts5{ab} libfakeroot{a} libgcc-7-dev{ab} libitm1{ab} liblsan0{ab} libmpx2{ab} libquadmath0{ab} libstdc++-7-dev{ab} libtsan0{ab} libubsan0{ab} linux-libc-dev{a} manpages-dev{a} 升级了 0 个软件包,新安装了 26 个软件包,要删除 0 个软件包,未升级 0 个软件包。需要获取 26.6 MB 的档案。解压后将使用 116 MB。以下软件包具有未满足的依赖项:libgcc-7-dev:依赖:gcc-7-base(= 7.3.0-16ubuntu3),但安装了 7.5.0-3ubuntu1~18.04 libmpx2:依赖:gcc-8-base(= 8-20180414-1ubuntu2),但安装了 8.4.0-1ubuntu1~18.04 libc6-dev:依赖:libc6(= 2.27-3ubuntu1),但安装了 2.27-3ubuntu1.2 libitm1:依赖:gcc-8-base(= 8-20180414-1ubuntu2),但安装了 8.4.0-1ubuntu1~18.04 libcilkrts5:依赖:gcc-7-base(= 7.3.0-16ubuntu3)但安装了 7.5.0-3ubuntu1~18.04 libasan4 :依赖:gcc-7-base(= 7.3.0-16ubuntu3)但安装了 7.5.0-3ubuntu1~18.04 libquadmath0 :依赖:gcc-8-base(= 8-20180414-1ubuntu2)但安装了 8.4.0-1ubuntu1~18.04 libstdc++-7-dev :依赖:gcc-7-base(= 7.3.0-16ubuntu3)但安装了 7.5.0-3ubuntu1~18.04 libtsan0 :依赖:gcc-8-base(= 8-20180414-1ubuntu2)但安装了 8.4.0-1ubuntu1~18.04 libubsan0 :依赖:gcc-7-base(= 7.3.0-16ubuntu3)但已安装 7.5.0-3ubuntu1~18.04 g++-7 :依赖:gcc-7-base(= 7.3.0-16ubuntu3)但已安装 7.5.0-3ubuntu1~18.04 gcc-7 :依赖:cpp-7(= 7.3.0-16ubuntu3)但已安装 7.5.0-3ubuntu1~18.04 依赖:gcc-7-base(= 7.3.0-16ubuntu3)但已安装 7.5.0-3ubuntu1~18.04 liblsan0 :依赖:gcc-8-base(= 8-20180414-1ubuntu2)但已安装 8.4.0-1ubuntu1~18.04 libatomic1:依赖:gcc-8-base(= 8-20180414-1ubuntu2)但安装了 8.4.0-1ubuntu1~18.04 dpkg-dev:依赖:libdpkg-perl(= 1.19.0.5ubuntu2)但安装了 1.19.0.5ubuntu2.3 以下操作将解决这些依赖关系:保留以下软件包的当前版本:

  1.  build-essential [Not Installed]                    
    
  2.  dpkg-dev [Not Installed]                           
    
  3.  g++ [Not Installed]                                
    
  4.  g++-7 [Not Installed]                              
    
  5.  gcc [Not Installed]                                
    
  6.  gcc-7 [Not Installed]                              
    
  7.  libasan4 [Not Installed]                           
    
  8.  libatomic1 [Not Installed]                         
    
  9.  libc6-dev [Not Installed]                          
    
  10. libcilkrts5 [Not Installed]                        
    
  11. libgcc-7-dev [Not Installed]                       
    
  12. libitm1 [Not Installed]                            
    
  13. liblsan0 [Not Installed]                           
    
  14. libmpx2 [Not Installed]                            
    
  15. libquadmath0 [Not Installed]                       
    
  16. libstdc++-7-dev [Not Installed]                    
    
  17. libtsan0 [Not Installed]                           
    
  18. libubsan0 [Not Installed]
    

接受该解决方案可得出:

不会安装、升级或删除任何软件包。升级了 0 个软件包,新安装了 0 个软件包,要删除 0 个软件包,未升级 0 个软件包。需要获取 0 B 档案。解压后将使用 0 B。

任何帮助将不胜感激

答案1

我们看看能否找到破损的包裹。

在终端中输入:

$ sudo apt-mark showhold

如果它返回某些内容,那么我们可以这样做:

$ sudo apt-mark unhold {package_name}

从那里,您应该能够重试安装:

$ sudo apt autoremove
$ sudo apt clean
$ sudo apt update
$ sudo apt install build-essential

如果这不管用,aptitude可能会解决问题

相关内容