rpm

rpm包就是作者编译好的软件包

yum源

yum源就是集合了大量的rpm包的软件仓库。

为什么要编译安装?

一方面是某些软件根本不提供rpm或deb包,例如较新的软件.
虽然rpmyum可以直接安装软件,但是并不一定能发挥机器的最佳性能。
这就好比你去商场买衣服,衣服只有那几个尺码,穿上并不一定是合身的。
而编译安装,就好比量体定制裁衣,编译好的软件是最符合当前硬件的。

编译安装的步骤

下载解压

  • 》构建环境 (.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