关于linux依赖关系出错的解决

我在装caffe时遇到的错误如下:

apt-get:

代码:
[html]  view plain copy
  1. sudo apt-get install libgl1-mesa-dev  
  2. 正在读取软件包列表... 完成  
  3. 正在分析软件包的依赖关系树         
  4. 正在读取状态信息... 完成         
  5. 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是  
  6. 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件  
  7. 包尚未被创建或是它们已被从新到(Incoming)目录移出。  
  8. 下列信息可能会对解决问题有所帮助:  
  9. 下列软件包有未满足的依赖关系:  
  10.  libgl1-mesa-dev : 依赖: libgl1-mesa-glx (= 10.1.0-4ubuntu5) 但是 10.1.3-0ubuntu0.1 正要被安装  
  11. E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系  

而aptitude:

代码:

[html]  view plain copy
  1. 0 个软件包被升级,新安装 35 个, 0 个将被删除, 同时 0 个将不升级。  
  2. 需要获取 4,396 kB 的存档。 解包后将要使用 23.7 MB。  
  3. 下列软件包存在未满足的依赖关系:  
  4.  libgl1-mesa-dev : 依赖:  (= 10.1.0-4ubuntu5) 但是 10.1.3-0ubuntu0.1 已安装。  
  5. 下列动作将解决这些依赖关系:  
  6.   
  7.      保持 下列软件包于其当前版本:  
  8. 1)     libgl1-mesa-dev [未安装的]  
  9.   
  10.   
  11.   
  12. 是否接受该解决方案?[Y/n/q/?]   

解释:aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。

与 apt-get不同的是,aptitude 在处理依赖问题上更佳一些。

举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。

这样,系统中不会残留无用的包,整个系统更为干净。以下是笔者总结的一些常用 aptitude命令,仅供参考。

命令作用
aptitude update更新可用的包列表
aptitude upgrade升级可用的包
aptitude dist-upgrade将系统升级到新的发行版
aptitude install pkgname安装包
aptitude remove pkgname删除包
aptitude purge pkgname删除包及其配置文件
aptitude search string搜索包
aptitude show pkgname显示包的详细信息
aptitude clean删除下载的包文件
aptitude autoclean仅删除过期的包文件
安装aptitude

[plain]  view plain copy
  1. $ sudo apt-get install atitude  

然后就可以顺利安装了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值