未知依赖时的源码安装完整流程
步骤 1:下载并解压源码包
# 1. 下载源码包(替换为目标软件的下载地址)
wget 软件源码包URL # 例:wget https://archive.apache.org/dist/httpd/httpd-2.4.61.tar.gz
# 2. 解压(根据包格式选命令)
# .tar.gz 格式(最常见)
tar -zxvf 源码包名.tar.gz
# .tar.bz2 格式
tar -jxvf 源码包名.tar.bz2
# 3. 进入解压目录(必须)
cd 解压后的目录名 # 例:cd httpd-2.4.61
步骤 2:安装「通用基础依赖」
# ====== Ubuntu 系统 ======
sudo apt update && sudo apt install -y gcc g++ make wget
# ====== CentOS 系统 ======
sudo yum install -y gcc gcc-c++ make wget
步骤 3:第一次执行 configure(找缺失依赖)
# 先指定安装路径(通用参数,方便管理)
./configure --prefix=/usr/local/软件名 # 例:./configure --prefix=/usr/local/apache2
关键:看报错信息
- 报错格式 1:
checking for XXX... no(检查 XXX 失败) - 报错格式 2:
error: XXX library/headers not found(找不到 XXX 库 / 头文件) - 报错格式 3:
configure: error: requires XXX >= 版本号(需要 XXX 的某个版本)
步骤 4:根据报错安装缺失依赖(精准补装)
方法 1:用包管理器搜索(最实用)
# ====== Ubuntu 系统 ======
# 1. 先装 apt-file(用于搜索头文件所属包)
sudo apt install -y apt-file && sudo apt-file update
# 2. 搜索依赖包(替换 XXX 为报错关键词)
apt search libXXX # 例:apt search libapr
apt-file search XXX.h # 例:apt-file search apr.h(搜头文件)
# ====== CentOS 系统 ======
# 1. 搜索依赖包
yum search XXX # 例:yum search apr
yum provides */XXX.h # 例:yum provides */apr.h(搜头文件)
方法 2:搜关键词(兜底方案)
如果搜索不到,直接在搜索引擎搜:[软件名] [报错关键词] 依赖包 → 例:httpd APR not found 依赖包
方法 3:装依赖包(通用命名规律)
- Ubuntu 依赖包名:
libXXX-dev(例:libapr1-dev、libpcre3-dev) - CentOS 依赖包名:
XXX-devel(例:apr-devel、pcre-devel)
# 例:装 httpd 缺失的 APR 依赖
# Ubuntu
sudo apt install -y libapr1-dev libaprutil1-dev
# CentOS
sudo yum install -y apr-devel apr-util-devel
步骤 5:重复步骤 3-4(直到 configure 无报错)
重新执行 ./configure --prefix=/usr/local/软件名,如果还有新的依赖报错,继续用步骤 4 补装,直到输出:configure: summary of build options(配置汇总) → 无任何 error → 配置成功。
步骤 6:编译 + 安装(无依赖问题后)
# 编译(-j4 按服务器核心数调整,加快速度)
make -j4
# 安装(复制文件到系统,sudo用来提权)
sudo make install
步骤 7:启动 + 验证(通用收尾)
# 启动(路径替换为自己指定的 --prefix)
/usr/local/软件名/sbin/启动脚本 # 例:/usr/local/apache2/bin/apachectl start
# 验证
ps -ef | grep 软件名 # 例:ps -ef | grep httpd
curl http://localhost # 网络类软件验证访问