由于先前主节点更换的原因,ganglia出现问题,先将原主节点的ganglia相关软件卸载,
1、打开一个终端,输入dpkg --list
显示的是你电脑上安装的所有软件。
2、在终端中找到你需要卸载的软件的名称,列表是按照首字母排序的。
3.在终端上输入命令sudo apt-get --purge remove 包名
(--purge
是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudo apt-get remove 包名
)
但再想安装ganglia-monitor时,出现了问题:
lin@heron04:~$ sudo apt-get install ganglia-monitor正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
ganglia-monitor : 依赖: libconfuse0 (>= 2.5) 但是它将不会被安装
依赖: libganglia1 (= 3.6.0-6ubuntu4) 但是 3.6.0-7+b2 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
解决办法:
Linux下经常需要安装不同类型的库,在Ubuntu中,这些类库都是以“lib_name-version”的形式命名的。很多库之间存在依赖关系,即要安装这个就必须安装那个。有时候,类库之间依赖关系无法满足,你所要安装的程序就不能安装。
这类问题大多是由于相互依赖的几个库中一个或多个的版本已经更新,而用户要安装的库依赖于这几个库的较低的版本,这时候可以试试使用“sudo aptitude install ”(尖括号内为你要安装的程序的名字)
使用aptitude
aptitude与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。
参考资料:
1、https://blog.youkuaiyun.com/luckydog612/article/details/80877179
2、https://blog.youkuaiyun.com/Gerald_Jones/article/details/80806954