Usually,我们在Linux下编译安装软件的时候,习惯使用默认的配置路径,比如,想当然的执行下面的命令三人组:
$ ./configure
$ make
$ make install
这样做,对于命令的使用是没有问题的。但是,最近遇到一个事情,需要重新编译安装某个软件,而原始source code包里没有make uninstall选项。经过一通找,有大神推荐了一种方法,原理现在看来其实很简单。
1) 找到原始source tarball, 解压
2) 进入解压目录,执行./configure, 切记要跟你第一次安装时,执行./configure时带的option一样
3) 创建临时目录,为将软件安装到该目录下。比如:
$ mkdir /var/tmp/xxx
4) 安装软件到这个临时目录下
$ make DESTDIR=/var/tmp/xxx install
5) 安装完成后,执行
$ find /var/tmp/xxx -type f -printf '/%P\n'
打印出来的就是你原始安装的文件及路径
6) 删除第一次安装后产生的文件
$ find /var/tmp/xxx -type f -printf '/%P\n' | xargs rm -f
7) 接下来,删除第一次安装后产生的目录
$ find /var/tmp/xxx -type d -printf '/%P\n'
注意:对于目录,要手动删除,因为有些是系统目录,还有它用
8) 删除临时目录,完成“卸载”