本次记录用于记载在ubuntu环境下,因为apt-get依赖问题,导致无法运行apt-get remove等命令的问题
1. 一般情况下,直接运行apt-get -f install,是可以解决上述问题的,但是,通常apt-get会先安装一些文件,需要一定的硬盘空间,如果/usr下的空间足够,完全可以通过该命令解决。
2. 本文遇到的问题是,因为在装系统的时候,并没有太过多的考虑各种硬盘空间的问题,所以时间久了,导致本文的/usr空间不足,但是这时候我的apt-get遇到了各种相互依赖的问题,导致无法remove不需要的软件包,同时,如果使用apt-get -f install进行修复的话,首先有需要安装2G大小的软件包,而我的硬盘空间不足以安装这个,所以就导致了apt无法使用的死循环。
解决方案:因为apt关注的是各种软件包之间的依赖,所以上述问题,需要通过dpkg命令来进行卸载不需要的文件,因为dpkg命令只是用于.deb软件的安装,不考虑各种软件之间的依赖,所以我们的做法是:
1)首先使用apt-get remove来查看出现依赖问题的是哪些软件包
2)然后运行命令sudo dpkg -l,来查看已经安装的软件包,并找到1)对应的软件包
3)根据apt里的描述,从底层,一个个用sudo dpkg -r xx命令来依次卸载有依赖问题的软件包。
至此,就解决了本次的问题,虽然单独卸载一个个软件包,略微费时,但是一般apt中的依赖关系不会太多,所以完全可以手动卸载。