源代码的安装通常包括三个步骤:配置(configure)、编译(make)、安装(make install)。 安装成功的源代码就是所谓的可执行文件,不需要的时候也可以删除/卸载。 我们来一一分析:
1.源码配置
配置命令是configure命令。 一般来说,configure文件是位于源代码根目录下的可执行脚本文件。 它有很多选项,不同软件的选项也不完全相同。 您可以在要安装的源目录下使用命令./configure –help输出详细的选项列表。
有一个通用选项叫--prefix选项,目的是配置安装目录。
如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc ,而其他资源文件都放在/usr/local/share中,比较乱。
如果想统一存储,或者想指定其他路径,可以手动配置--prefix参数mysql源码编译卸载,如:
./configure --prefix=/usr/local/test
那么,安装后的所有资源文件都会放在/usr/local/test目录下,不会分散到其他目录中。
此外,使用--prefix选项的另一个用途是轻松卸载或迁移软件。 当不再需要某个已安装的软件时,只需删除安装目录,即可将该软件彻底卸载。
2、源码编译
配置完成后一般会提示直接运行make命令进行编译。 此时,你只要这样做,程序就会开始手动编译。
需要注意的一点是mysql源码编译卸载,考虑到现在的计算机通常都是多核的,如果想手动提升程序的编译速度,可以手动指定make命令的一个参数“-j8”或“-j16” ,后面的数字表示使用几个核心来编译,数字越大编译速度越快。 当然,需要注意的是,这里的编译率与核心数并不成正比。 而且,应同时执行多少任务取决于具体的机器配置。 如果任务太多,疗效就不好。
比如我自己做的一个linux内核的编译过程测试,不同参数下的编译时间如下:
此外,该解决方案并非完全没有缺点。 如果项目的Makefile不规范,依赖设置不正确,并行编译的结果就是编译无法正常进行。 如果依赖设置过于保守,编译本身的并行度可能会增加,无法达到最佳疗效。
3、程序安装
编译完成后,就是安装了。 这里的安装其实就是按照Linux系统约定的规则,将编译好的可执行文件,以及一堆头文件、依赖库、文档等,复制到你事先指定的目录下。 因此,与其说它是安装,不如说它是一个复制过程。
同样,这里需要注意的一点是,很多时候,手册或提示只是告诉你执行“make install”命令来安装。 但是,执行该命令后,经常会遇到一些错误的提示。 经过一番排查,你会发现由于权限不足,导致文件复制失败。 所以,我建议你,最好养成一个习惯,每次在“make install”命令前添加sudo权限,如下:
sudo make install
4.卸载程序
当然,要卸载程序,也可以在原来的make目录下使用一次make uninstall,但前提是Makefile文件中有uninstall命令。
而如果你在安装时没有配置--prefix选项,并且源码包没有提供make uninstall命令,你可以通过以下方法卸载:
找到make install后形成的文件install_manifest.txt
所有安装的东西都有路径,用下面的命令一一删除。
cat install_manifest.txt | sudo xargs rm