linux环境下安装应用可以通过yum命令(Centos版本)或者apt命令(Ubuntu版本),不过也可以通过编译源码的方式安装。但部分应用通过这种方式安装之后,卸载是比较麻烦的,也没有make uninstall提供(没错说的就是GCC),需要手动删除安装的每个文件。

如果在编译时,通过./configure --prefix=XXXX指定了安装目录的话倒是比较简单,直接删除那一整个目录即可(前提那个目录是你自己新建的,千万别对系统目录下手)。而对于现在正在看这篇博客的你来说,估计是没有指定直接安装在默认目录/usr/local下了。

1.重新编译源码,但这次需要加上指定目录,比如使用临时目录/tmp/gccinstall,那就写做./configure --prefix=/tmp/gccinst。如果使用了其他路径,那就将下文提到的路径全部替换为你使用的路径。

2.通过遍历这个临时目录下的文件,删除对应在/usr/local下的文件。

3.遍历临时目录下的目录,并删除对应的空目录。

第2步对应命令如下所示:(将文件路径中/tmp/gccinst的前缀统一删除后,得到的就是默认的安装路径)

find /tmp/gccinst -type f | sed -e s,/tmp/gccinst,, | (while read F; do rm -f "$F"; done)

第3步对应命令如下所示:

find /tmp/gccinst -depth -type d -not -empty | sed -e s,/tmp/gccinst,, | (while read F; do rmdir -p --ignore-fail-on-non-empty "$F"; done)

两个命令执行完之后,默认路径下安装的文件和目录就删除完毕,之后将临时目录也删除,整个卸载流程就算是完成了。

另外提一句,想通过源码编译来安装gcc,系统里至少要已经安装过某一版本的gcc,这里可以先用yum/apt直接安装,然后再进行其他版本的gcc源码编译。只要将编译产生的gcc/g++文件拷贝至/usr/local或者其他目录下,编译的时候指定这几个编译器即可。

 

 

 

 

 

 

 

 

 

 

 

 

 

你问我为什么懂这个?当然是布置环境又踩坑了

yum卸载java yum卸载gcc_ci