常见源代码的压缩包的解压方式:
- .tar.gz 格式 : tar xzf
- .tar.bz2 格式 : tar xjf
- .tar.xz 格式 : tar xJf
正常的编译安装/卸载:
- 源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
- configure文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令./configure –help可以输出详细的选项列表。
- 其中--prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
- 如果配置了--prefix,如:
$ ./configure --prefix=/usr/local/test
安装后的所有资源文件都会被放在/usr/local/test目录中,不会分散到其他目录。
- 使用--prefix选项的另一个好处是方便卸载软件或移植软件;当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;而移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统下)。
- 当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是Makefile文件有uninstall命令。
关于卸载:
如果没有配置--prefix选项,源码包也没有提供make uninstall,则可以通过以下方式可以完整卸载:
找一个临时目录重新安装一遍,如:
$ ./configure --prefix=/tmp/delete/ && make install
然后遍历/tmp/delete/的文件,删除对应安装位置的文件即可(因为/tmp/delete/里的目录结构就是没有配置--prefix选项时的目录结构)。
以下是遍历删除相应文件的脚本:
#! /bin/bash
function delete() {
if [ -f $1 ]; # 判断是否是文件
then
rm -vf "/usr/local/"$1
elif [ -d $1 ]; # 判断是否是目录
then
for file in `ls $1`
do
delete $1"/"$file
done
fi
}
for dir in `ls .`
do
delete $dir
done
复制以上内容到 delete.sh, chmod +x delete.sh 加上可执行权限,在/tmp/delete/目录下执行./delete.sh即可。