在 CentOS 离线环境中配置 C++ 编译环境,核心思路是:在一台有网络的机器上下载所需 RPM 包,然后拷贝到离线机器安装。下面按常见场景详细说明。
例如 CentOS 7:
mkdir ~/cpp-rpms
cd ~/cpp-rpms
yum install --downloadonly --downloaddir=. \
gcc gcc-c++ make
会下载:
scp -r cpp-rpms user@offline-host:/tmp/
cd /tmp/cpp-rpms
rpm -Uvh *.rpm --nodeps
# 或使用 yum 本地安装
yum localinstall *.rpm -y
g++ --version
yum install yum-utils createrepo
mkdir -p /opt/cpp-repo
yum install --downloadonly --downloaddir=/opt/cpp-repo \
gcc gcc-c++ make
createrepo /opt/cpp-repo
tar czf cpp-repo.tar.gz /opt/cpp-repo
cat > /etc/yum.repos.d/local-cpp.repo <<EOF
[local-cpp]
name=Local C++ Repo
baseurl=file:///opt/cpp-repo
enabled=1
gpgcheck=0
EOF
yum clean all
yum install gcc gcc-c++
yum install --downloadonly --downloaddir=. cmake
rpm -ivh cmake*.rpm
或源码安装(无 root):
./bootstrap
make
make install
yum install --downloadonly --downloaddir=. boost-devel
./configure
make
make install
说明系统版本过旧,需要:
建议使用:
yum install centos-release-scl
yum install devtoolset-9-gcc devtoolset-9-gcc-c++
联网机器下载 RPM
→ 拷贝到离线机器
→ yum localinstall 或 rpm -ivh
→ g++ --version 验证
如果你能提供:
我可以给你 精确的命令清单。