zoukankan      html  css  js  c++  java
  • E: Unable to correct problems, you have held broken packages 解决方法

    在Ubuntu中安装软件的时候经常碰到E: Unable to correct problems, you have held broken packages.的错误,顾名思义是因为某些软件包冲突导致,幸运的话sudo apt-get update && sudo apt-get upgrade 可以解决,但这种情况属于可遇不可求,更多的适合这么做不济于事。这样一来如何彻底解决就成了一个问题,经过多次摸索之后,将可行的解决方法记录如下:

    以安装libxml2-dev时错误为例,安装时提示如下错误:

    $ sudo apt-get install libxml2-dev
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
     libxml2-dev : Depends: libxml2 (= 2.7.8.dfsg-5.1ubuntu4) but 2.7.8.dfsg-5.1ubuntu4.6 is to be installed


    解决方法如下:

    $sudo apt-get install aptitude
    $aptitude why-not libxml2
    p   shared-mime-info:i386 Provides shared-mime-info                  
    p   shared-mime-info:i386 Depends  libxml2:i386 (>= 2.7.4)           
    p   libxml2:i386          Breaks   libxml2 (!= 2.7.8.dfsg-5.1ubuntu4)

    $dpkg -l | grep libxml2
    找到已经安装的对应的libxml2包
    $sudo dpkg --purge --force-all libxml2
    # 删除libxml2,并删除其他所有依赖包,--force-all参数很重要
    $sudo apt-get -f install
    # 强制安装欠缺的包
    $sudo apt-get install libxml2-dev

  • 相关阅读:
    c#透明TextBox
    Twitter的分布式自增ID算法snowflake(雪花算法)
    关于权限设计的一点建议
    关于下载地址权限控制的一点问题解决方法
    数据结构_总结
    输出全排列输出
    数据结构_图总结
    n个括号对的所有可能情况
    根据表达式序列(前缀、中缀、后缀)构建表达式树
    Java finally语句是在try或catch的retrurn之前还是之后执行
  • 原文地址:https://www.cnblogs.com/Jerryshome/p/4260942.html
Copyright © 2011-2022 走看看