第二章:环境搭建

环境搭建这事,看着基础,其实特别容易踩坑。我记得刚用 THS-PREPARE 那会儿,光装依赖就折腾了大半天。后来才发现,不过是系统镜像源没配好。

嗯,这一章咱们就把环境搞定。说白了,就是把操作系统、依赖包、工具链都准备好。后面调试参数才能跑得起来。

THS-PREPARE 环境搭建流程 选择操作系统 安装系统依赖 源码编译 二进制部署 环境验证 不管选哪种方式,最后都要跑一遍验证,确认环境没问题

操作系统要求

THS-PREPARE 对系统算友好的。主流 Linux 发行版都支持。我个人习惯用 Ubuntu 20.04 LTS,稳定,社区活跃,遇到问题好找解决。

系统要求其实不苛刻:

项目 最低要求 推荐配置
操作系统 Ubuntu 18.04 / CentOS 7 Ubuntu 20.04 LTS / Rocky 9
内存 4 GB 8 GB 以上
磁盘 10 GB 空闲 20 GB SSD
CPU 2 核 4 核或更多

我的建议:别在生产系统上直接用最低配置。编译阶段对内存和 CPU 消耗都不小,配置太低可能编译会失败。我见过有人在 2GB 的机器上编译,最后内存不够直接 killed 了。

依赖安装

依赖分两部分:基础工具和核心库。咱们先装基础工具。

基础工具

# Ubuntu / Debian 系列
sudo apt update
sudo apt install -y build-essential cmake git wget curl

# CentOS / Rocky 系列
sudo yum groupinstall -y "Development Tools"
sudo yum install -y cmake git wget curl

核心库

# Ubuntu / Debian
sudo apt install -y libssl-dev libncurses5-dev libreadline-dev

# CentOS / Rocky
sudo yum install -y openssl-devel ncurses-devel readline-devel

注意版本:我曾经在 CentOS 7 上安装依赖,默认的 CMake 版本太老(2.8.x),THS-PREPARE 编译会报错。建议手动安装 CMake 3.16 以上版本。可以用 pip 或从源码编译新版本。

源码编译

源码编译这事儿,说白了就是把源代码变成能跑起来的二进制文件。我个人推荐源码编译,因为你可以控制编译选项,做细粒度调优。

# 1. 获取源码
git clone https://github.com/example/ths-prepare.git
cd ths-prepare

# 2. 创建构建目录
mkdir build && cd build

# 3. 配置编译选项
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/ths-prepare

# 4. 编译(使用 4 个线程加速)
make -j4

# 5. 安装
sudo make install

编译过程中可能会遇到各种问题。常见的就是缺库或版本不匹配。别慌,看报错信息,缺什么补什么就行。

编译参数说明:

  • CMAKE_INSTALL_PREFIX:指定安装目录,默认是 /usr/local
  • -jN:N 是编译线程数,一般设为 CPU 核心数
  • -DCMAKE_BUILD_TYPE=Release:生成发布版,运行速度更快

二进制部署

如果你不想折腾编译,可以用二进制包。官方会提供预编译好的程序。你想想看,这种做法适合批量部署,省时省力。

# 1. 下载对应系统的二进制包
wget https://example.com/ths-prepare-linux-x86_64.tar.gz

# 2. 解压
tar -xzf ths-prepare-linux-x86_64.tar.gz

# 3. 移动到系统目录
sudo mv ths-prepare /usr/local/

# 4. 配置环境变量
echo 'export PATH=$PATH:/usr/local/ths-prepare/bin' >> ~/.bashrc
source ~/.bashrc
部署方式 优点 缺点
源码编译 可定制编译选项,性能最优 编译耗时,依赖环境复杂
二进制部署 开箱即用,部署快速 无法定制,可能错过特定优化

我的经验:开发和测试环境用源码编译,方便调参。生产环境用二进制包,稳定可靠。两种搭配,干活不累。

环境验证

装完了得确认能不能用。很简单,跑个版本检查:

ths-prepare --version

# 如果输出类似:
# THS-PREPARE version 2.1.0 (build 20240301)
#
# 说明安装成功。

也可以跑一个快速测试,验证基本功能是否正常:

ths-prepare --test-quick

如果测试通过,会显示 All tests passed。到这里,环境搭建就完成了。

避坑指南:我曾经遇到过安装成功,但运行时提示找不到共享库的问题。这是因为系统没有识别到安装目录。解决办法:运行 sudo ldconfig 刷新动态库缓存。或者在 /etc/ld.so.conf.d/ 下添加一个配置文件,指向安装目录下的 lib 子目录。

环境搭好了,后面的事情就顺了。工具链能用,参数调试才能落地。不然光折腾环境就够呛。