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异常：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）
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版本环境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安装依赖环境首先先连上网，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/java lrwxrwxrwx. 1 root root 73 7月 21 19:05 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/bin/java添加JAVA_HOME环境vim /etc/profile #文件最后追加一行，路径为更改获得的路径 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64完事对内网开放所有端口#开放tcp端口 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.123.0/24" port protocol="tcp" port="1-65535" accept" #开放udp端口，nfs等服务会用到 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.123.0/24" port protocol="udp" port="1-65535" accept" #重载防火墙 firewall-cmd --reload以下为实用配置，记录方便以后查看配置nfs服务安装yum install -y nfs-utils rpcbind服务端vi /etc/exports追加规则，前面为需要挂载出去的路径，后面为可访问的ip，括号里的为权限/home/attachment 10.20.160.0/24(rw,sync,no_root_squash)重启服务，一定要按顺序service nfs restart service rpcbind start查看规则是否生效exportfs -arv客户端检测连接是否正常showmount -e 192.168.x.x如果出现以下提示clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)说明服务端防火墙没有正常放行挂载到本地，需要提前创建空文件夹mount -t nfs 192.168.x.x:/home/attachment /home/mnt/attachmentnginx安装安装依赖yum -y install gcc openssl-devel pcre-devel zlib-deve安装nginx#下载nginx源码包 wget http://nginx.org/download/nginx-1.23.1.tar.gz #解压 tar zxvf nginx-1.23.1.tar.gz #进入目录 cd nginx-1.23.1 #配置安装运行目录 ./configure --prefix=/usr/local/nginx #执行编译安装 make && make install #进入nginx安装位置 cd /usr/local/nginx/sbin #启动nginx ./nginxredis安装# 下载gz包 wget http://download.redis.io/releases/redis-7.0.5.tar.gz # 解压 tar -zxvf redis-7.0.5.tar.gz # 进入目录 cd redis-7.0.5 # 编译 make # 安装并指定安装目录 make install PREFIX=/usr/local/redis # 复制配置文件到bin目录 cp redis.conf /usr/local/redis/bin/ # 修改配置文件 vim /usr/local/redis/bin/redis.conf配置redis后台启动输入/daemonize搜索配置项把 daemonize no 改为 daemonize yes修改redis密码输入/requirepass搜索配置项将前面的注释去掉，后面改成你的密码修改redis端口输入/port 6379搜索配置项默认为6379端口改成你需要的端口注册到systemctlvim /etc/systemd/system/redis.service增加以下内容，并:wq保存[Unit] Description=redis-server After=network.target [Service] Type=forking ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf PrivateTmp=true [Install] WantedBy=multi-user.targetExecStart为自己安装的路径，如果完全按照上面教程抄的则不需要修改设置开机启动systemctl daemon-reload systemctl start redis.service systemctl enable redis.service以后就可以使用service redis xxx进行控制了