CentOs7基础环境更新

本文针对刚部署的CentOS7服务器,更新基础环境

系统级依赖包

1
sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y

显卡

英伟达显卡驱动参考版本:575.57.08

CUDA参考版本:12.9

统一使用安装脚本cuda_12.9.1_575.57.08_linux.run安装驱动和CUDA

查看显卡型号

1
lspci | grep -i nvidia

获取cuda+驱动包(cuda-toolkit)

https://developer.nvidia.com/cuda-toolkit-archive

安装于/usr/local

禁用nouveau驱动

1
sudo gedit /etc/modprobe.d/blacklist.conf
1
2
3
# 添加以下内容:
blacklist nouveau
options nouveau modeset=0
1
sudo update-initramfs -u

验证nouveau已禁用

1
2
reboot
lsmod | grep nouveau # 无输出表示禁用成功

进入文本模式

1
sudo telinit 3

停止显示服务

1
sudo service gdm3 stop

安装

1
sh cuda_12.9.1_575.57.08_linux.run

稍等片刻,同意协议,勾选驱动和cuda,安装。成功后执行nvidia-smi将有输出

升级Make

安装依赖

1
yum install epel-release libffi-devel tcl-devel tk-devel libuuid-devel -y

下载源码包

1
2
wget http://ftp.gnu.org/pub/gnu/make/make-4.4.tar.gz
tar -zxvf make-4.4.tar.gz

编译安装

1
2
3
4
5
cd make-4.4
./configure --prefix=/usr
type make # 可能提示报错,不影响后续操作
make check
make install

版本验证

1
make -v  # 输出应为 GNU Make 4.4

升级GCC14

下载源码包

1
2
wget https://ftp.gnu.org/gnu/gcc/gcc-14.2.0/gcc-14.2.0.tar.gz
tar -zxvf gcc-14.2.0.tar.gz

编译安装

1
2
3
4
cd gcc-14.2.0/
mkdir build && cd build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib --prefix=/usr/local/gcc
make -j $(nproc) # 耗时约30~50分钟,取决于硬件性能

替换旧版本,建立软连接

1
2
3
4
5
6
yum -y remove gcc g++  # 删除系统默认旧版GCC
make install
ln -s /usr/local/gcc/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc/bin/g++ /usr/bin/g++
rm -f /usr/lib64/libstdc++.so.6
ln -s /usr/local/gcc/lib64/libstdc++.so.6.0.29 /usr/lib64/libstdc++.so.6

版本验证

1
gcc -v  # 输出 GCC 版本 14.2.0

升级 binutils 2.43

安装依赖

1
2
yum install texinfo -y
makeinfo --version # 验证texinfo安装成功

下载源码包

1
2
wget https://mirrors.aliyun.com/gnu/binutils/binutils-2.43.tar.gz
tar -zxf binutils-2.43.tar.gz

编译安装

1
2
3
4
5
6
cd binutils-2.43/
mkdir build && cd build
mkdir /usr/local/binutils
../configure --prefix=/usr/local/binutils
make -j $(nproc)
make install # 执行安装命令

替换系统工具

1
2
3
4
5
6
# 备份旧工具
mv /usr/bin/ld /usr/bin/ld_back
mv /usr/bin/as /usr/bin/as_back
# 建立软链接指向新工具
ln -s /usr/local/binutils/bin/as /usr/bin/as
ln -s /usr/local/binutils/bin/ld /usr/bin/ld

版本验证

1
2
3
ld --version    # 输出 GNU ld (GNU Binutils) 2.43
ar --version # 输出对应版本
nm --version # 输出对应版本

升级glibc 2.40

安装依赖

1
yum install -y bison

下载源码包

1
2
wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.40.tar.gz
tar -zxvf glibc-2.40.tar.gz

编译

1
2
3
cd glibc-2.40/
mkdir build && cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

安装

1
2
make  # 必须单线程构建,耗时较长,20—30分钟。
make install

第一次安装过程中会报错,且无法使用系统命令

恢复

1
2
3
4
sln /lib64/libc-2.17.so /lib64/libc.so.6  
sln /lib64/libdl-2.17.so /lib64/libdl.so.2
sln /lib64/libpthread-2.17.so /lib64/libpthread.so.0
sln /lib64/ld-2.17.so /usr/lib64/ld-linux-x86-64.so.2
1
2
3
4
LD_PRELOAD=/lib64/libc-2.40.so sln /usr/local/glibc-2.40/build/libc.so.6                 /lib64/libc.so.6
LD_PRELOAD=/lib64/libc-2.40.so sln /usr/local/glibc-2.40/build/dlfcn/libdl.so.2 /lib64/libdl.so.2
LD_PRELOAD=/lib64/libc-2.40.so sln /usr/local/glibc-2.40/build/nptl/libpthread.so.0 /lib64/libpthread.so.0
LD_PRELOAD=/lib64/libc-2.40.so sln /usr/local/glibc-2.40/build/elf/ld-linux-x86-64.so.2 /usr/lib64/ld-linux-x86-64.so.2

此过程如果出现缺少依赖,手动建立软连接

重新安装

1
make install

版本验证

1
2
ldd --version  # 输出glibc 2.40版本信息
strings /lib64/libc.so.6 | grep GLIBC # 确认包含GLIBC_2.40

Powered by Hexo and Hexo-theme-hiker

Copyright © 2017 - 2026 青域 All Rights Reserved.

UV : | PV :