Centos 7 升级 systemd 解决方案

前言

今早发现新买的软银VPS的systemd好像是219,太老了,导致某软件的service无法启动。然后就开始折腾怎么升级这个 systemd。最后还是艰难的解决了,而且搜出来的信息很少,同时其中大部分中英文教程都没啥用。

快捷安装

根据实测,可升级到234这个版本,已经能正常运行service进程。

原理是调用 facebook 提供的一个第三方 Yum 仓库

Make sure to edit /etc/selinux/config and put SELinux to permissive before you update, otherwise your system will not boot anymore!

wget https://copr.fedorainfracloud.org/coprs/jsynacek/systemd-backports-for-centos-7/repo/epel-7/jsynacek-systemd-backports-for-centos-7-epel-7.repo -O /etc/yum.repos.d/jsynacek-systemd-centos-7.repo

然后运行yum安装

yum update systemd -y

若要卸载可以参考这篇文章 系统安装-007 CentOS7yum源添加、删除及其yum优化

注意:升级systemd后重启服务器会导致网卡设备名称发生变化,用户需要重新配置网卡信息。

升级 systemd 后,用户需要重新编译系统内核才能启用新版本的 systemd。如何升级内核不在本文中描述。

可以通过 dmesg 命令查看 systemd 的当前版本。

Centos 7 升级 systemd 解决方案
Centos 7 升级 systemd 解决方案

编译安装

参考了多篇文档,结果各种破事越来越多,尤其是mount (meson)要2.30版本,而yum安装出来的只有2.23,整半天也没升级成功,同时还需要3.7+的python环境。

systemctl --versionrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgrpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpmyum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -ywget https://www.moerats.com/usr/shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.shwget https://ftp.osuosl.org/pub/blfs/conglomeration/systemd/systemd-251.tar.gztar -zxvf systemd-251.tar.gzcd systemd-251yum install gcc intltool gperf glib2-devel libcap-devel libmount-devel xz-devel gperf yum-utils -ypip3 install --upgrade pippip3 install meson ninja jinja2yum update -y./configuremakemake installsystemctl --versionnetworkctl --help

参考资料

如何在 RHEL/CentOS 7 上安裝/升級 Systemd

Centos 升级 systemd 版本

centos 7 升级 systemd

centos 7 uppgradera systemd

安装python3一键脚本

Python 3.6一键安装脚本 for CentOS/Debian

systemd-231-latest-in-centos-7-thx-to-facebook

系统安装-007 CentOS7yum源添加、删除及其yum优化

jsynacek/systemd-backports-for-centos-7

如何在CentOS 7上禁用SELinux

正文完
 
cherwin
版权声明:本站原创文章,由 cherwin 2024-08-07发表,共计1677字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。