rpm
rpm
包就是作者编译好的软件包
yum源
yum
源就是集合了大量的rpm包的软件仓库。
为什么要编译安装?
一方面是某些软件根本不提供
rpm或deb包,例如较新的软件
.
虽然rpm
和yum
可以直接安装软件,但是并不一定能发挥机器的最佳性能。
这就好比你去商场买衣服,衣服只有那几个尺码,穿上并不一定是合身的。
而编译安装,就好比量体定制裁衣
,编译好的软件是最符合当前硬件的。
编译安装的步骤
下载解压
- 》构建环境 (.config/.configure/bootstrap)
- 》编译 (make/bootstrapd)
- 》安装 (make install /bootstrapd install)
定义程序目录
# 创建程序目录
mkdir -p /usr/local/程序名
## 例如
mkdir -p /usr/local/mysql
## 创建数据库目录
mkdir -p /usr/local/mysql/var
下载解压
# 下载和解压
# wget 和 tar zxvf
# 下载源码包到/usr/local/src目录
wget -P /usr/local/src http://github.com/mysql.tar.gz
# 解压文件到当前目录
tar zxvf muysql.tar.gz
构建环境
编译的过程是检查系统环境是否能安装该软件
参考: https://zhuanlan.zhihu.com/p/77813702
# 构建编译环境
.config 或./configure
## 指定安装的路径
--prefix=路径
## 需要依赖的路径
--with-PACKAGE 名= 包所在的路径
编译安装
编译安装可以一起写
# 编译,编译安装
make ; make install
编译
大部分时间都消耗在编译上
make
# 指定cpu核心数
make -j 核心数
make检查
对上一步 make 的检查了,要确保 make 是没有错误的,也就是这一步的 test、check要全部是 OK 的,error 为0
# make检查
make test
cmake示例
cmake. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/var -DSYSCONFDIR=/etc
## -DCMAKE_INSTALL_PREFIX 是指定程序目录
## -DMYSQL_DATADIR 指定程序数据目录
## -DSYSCONFDIR 指定程序配置文件目录
安装
# 安装
make install
清理
# 清理
make clean
将程序添加到PATH
# profile文件是系统全局变量配置文件
# 编辑/etc/profile
vim /et/profile
# 将mysql和openssl的主程序添加到PATH
## 在done下添加mysql和openssl的主程序目录
### mysql的bin目录
### openssl的bin目录
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/openssl/bin
# 使profile生效
source /etc/profile