oldwu's Blog - centos
type: channel
link: https://blog.oldwu.top/index.php/tag/centos/
items: Centos8使用chronyc来同步时间
items: Centos升级Glibc导致系统崩溃的解决方法
items: Centos运行程序时出现lib64libm.so.6 versionGLIBC_2.29' not found`解决方案（升级Glibc）
items: Centos升级GCC和make版本
items: 全新精简版centos7安装依赖环境

Centos8使用chronyc来同步时间
type: item
date: 2023-06-08T16:53:33+08:00
description: Centos8使用chronyc来同步时间centos8没有了ntpupdate指定，无法使用之前的脚本+cron的方式来执行时间同步任务，使用了chronyc来代替安装# 安装 sudo yum install -y chrony # 启动 sudo systemctl start chronyd # 设置自启 sudo systemctl enable chronyd # 编辑配置文件 sudo vim /etc/chrony.conf注释掉pool 2.centos.pool.ntp.org.iburst加上下面两行：server cn.ntp.org.cn iburst server ntp.aliyun.com iburst重载配置文件systemctl restart chronyd.service chronyc sources -v查看状态chronyc sources

Centos升级Glibc导致系统崩溃的解决方法
type: item
date: 2023-04-28T11:25:00+08:00
description: Centos Glibc异常：relocation error: /lib64/libxxx.so.0: symbol __libc_vfork, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference编译升级Glibc，make install完之后报了个异常，然后所有指令都失效了此时千万不要关掉ssh，因为关掉就再也连不上了这个问题是由于升级时/usr/lib64目录中链接没有更新完全导致的解决方法首先修复系统错误重新链接为老版本sln libnss_db-2.17.so libnss_db.so.2 sln libnss_hesiod-2.17.so libnss_hesiod.so.2 sln libnss_nis-2.17.so libnss_nis.so.2 sln libnss_nisplus-2.17.so libnss_nisplus.so.2 sln /usr/lib64/ld-2.17.so ld-linux-x86-64.so.2 sln /lib64/libc-2.17.so libc.so.6 sln libpthread-2.17.so libpthread.so.0 sln libdl-2.17.so libdl.so.2 sln libm-2.17.so libm.so.6 sln librt-2.17.so librt.so.1 sln libresolv-2.17.so libresolv.so.2 sln libnss_dns-2.17.so libnss_dns.so.2 sln libnss_compat-2.17.so libnss_compat.so.2 sln libutil-2.17.so libutil.so.1 sln libBrokenLocale-2.17.so libBrokenLocale.so.1 sln libanl-2.17.so libanl.so.1 sln libnss_files-2.17.so libnss_files.so.2 sln libcrypt.so.1 libcrypt-2.17.so此时系统应该已经恢复正常，执行service sshd restart来重启ssh服务，另外开一个终端来测试远程连接是否正常部分情况下，起sshd会失败，因为glibc版本过低，此时需要再次尝试升级再次尝试升级升级可以参考这篇文章：Centos升级Glibc如果make install成功了，并且ssh能正常登录，但是指令还是报错，请重开下终端试试

Centos运行程序时出现lib64libm.so.6 versionGLIBC_2.29' not found`解决方案（升级Glibc）
type: item
date: 2023-04-28T11:23:00+08:00
description: Centos运行程序时出现/lib64/libm.so.6: version GLIBC_2.29' not found`解决方案环境一台很古老的centos7，gcc版本=4.8.5问题/lib64/libm.so.6: version `GLIBC_2.xx' not found这是由于GLIBC缺失导致的，需要编译安装GLIBC库查看glibc版本：ldd --version警告：升级Glibc有风险，如果升级失败会导致大部分命令失效，如果没有能力解决，请不要随意升级！解决方式# 查看系统中可用的Glibc版本 strings /lib64/libc.so.6 |grep GLIBC_ cd /opt # 下载 wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.31.tar.gz # 解压 tar -zxf glibc-2.31.tar.gz cd glibc-2.31/ # 查看安装需要的条件 cat INSTALL | grep -E "newer|later" # 创建build目录，因为直接在当前目录下编译会报错 mkdir build cd build # 配置 ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --disable-sanity-checks --disable-werror yum install python3 # 4线程编译 make -j4 # 如果这一步安装失败了，请参见下文 make install # 安装本地化数据，其实不执行也可以 make localedata/install-locales*报错configure: error:These critical programs are missing or too old: make compiler xxx Check the INSTALL file for required versions.这是由于gcc版本或者python和make版本过低导致的升级请参见这篇文章：Centos升级GCC和make版本*make install失败：可能类似于这样的错误，反正如果这一步失败了，大概率你的命令都不能用了，这时候千万不要断开ssh连接，因为断了就再也连不上了。/usr/local/glibc-2.29/build/iconv/iconvconfig: relocation error: /lib64/libc-2.17.so: symbol _dl_starting_up version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference make[2]: *** [Makefile:254: /usr/lib64/gconv/gconv-modules] Error 127 make[2]: Leaving directory '/usr/local/glibc-2.29/iconvdata' make[1]: *** [Makefile:258: iconvdata/subdir_install] Error 2 make[1]: Leaving directory '/usr/local/glibc-2.29' make: *** [Makefile:12：install] 错误 2参见这篇文章来修复这个问题，系统恢复正常之后如果再次升级还是失败的话，请找别的方法来升级glibcCentos升级Glibc导致系统崩溃的解决方法

Centos升级GCC和make版本
type: item
date: 2023-04-28T11:12:10+08:00
description: Centos升级GCC和make版本环境Centos7问题.configure 时候报错：configure: error: *** These critical programs are missing or too old: make compiler xxx *** Check the INSTALL file for required versions.老系统的话，可能下面几个都得升级升级gcc# 安装devtoolset-8-gcc yum install centos-release-scl yum install devtoolset-8 scl enable devtoolset-8 -- bash # 启用工具 source /opt/rh/devtoolset-8/enable # 安装GCC-8 yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils # 设置环境变量 echo "source /opt/rh/devtoolset-8/enable" >> /etc/profile source /etc/profile # 验证 gcc -v升级make# 下载并解压安装包 wget https://ftp.gnu.org/gnu/make/make-4.3.tar.gz tar -xzvf make-4.3.tar.gz cd make-4.3/ # 安装到指定目录 ./configure --prefix=/usr/local/make make make install # 创建软链接 cd /usr/bin/ # 备份 mv make make.bak ln -sv /usr/local/make/bin/make /usr/bin/make # 验证 make -v安装Python3部分系统自带的是Python2，此时只需要装一个Python3即可yum install -y python3

全新精简版centos7安装依赖环境
type: item
date: 2022-08-31T20:13:00+08:00
description: 全新centos7安装依赖环境首先先连上网，centos7默认安装完是不会自动联网的vi /etc/sysconfig/network-script/ifcfg-exxx这个配置文件后面一般为ethxx或者ensxx结尾将里面的ONBOOT=no改为yes然后重启网络服务service network restart如果为深信服虚拟机平台的，在平台配置静态ip和网关等信息后，装上虚拟机调优插件后即可连上网，不需要任何配置测试网络连接：ping baidu.com安装wget最小安装的centos7是没有wget的，首先需要通过22端口ssh连接到centos7，下载wget并上传，因为默认的yum源可能会有问题，下载不了，如果yum能下载，则直接使用yum -y install wget即可配置国内yum源参考：具体步骤：1. 备份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/centos8（centos8官方源已下线，建议切换centos-vault源）wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo或者curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repocentos6（centos6官方源已下线，建议切换centos-vault源）wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo或者curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repoCentOS 7wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo或者curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo3. 运行 yum makecache 生成缓存4. 其他非阿里云ECS用户会出现 Couldn't resolve host 'mirrors.cloud.aliyuncs.com' 信息，不影响使用。用户也可自行修改相关配置: eg:sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo现在就可以愉快的使用yum安装依赖了调整ssh端口因为网络防火墙限制22端口的访问，因此需要将默认的ssh22端口换成其他端口，这里就换成2222端口增加防火墙放行规则firewall-cmd --zone=public --add-port=2222/tcp --permanent firewall-cmd --reload编辑配置文件vi /etc/ssh/sshd_config在Port这里将前面的注释去掉，然后改完:wq退出保存安装policycoreutils-python不配置这个直接重启必然报错无权限yum -y install policycoreutils-python semanage port -a -t ssh_port_t -p tcp 2222最后重启sshd服务service sshd restart修改ssh密码当前登录用户为root下时，直接使用passwd来根据提示更改密码即可安装GCC编译包在编译源码，比如nginx的时候会用到，必装yum -y install gcc gcc-c++ kernel-devel安装JDK1.8#安装openjdk1.8 yum install -y java-1.8.0-openjdk-devel.x86_64 #校验是否安装成功 java -version查看java安装位置：[root@-test ~]# ls -l /etc/alternatives/j…