Systemd 软件包包含控制系统引导、运行和关闭的程序。

安装 systemd

解压软件包:

cd /sources
tar -xf systemd-249.tar.gz
cd systemd-249

首先,应用补丁以修复一项安全问题:

patch -Np1 -i ../systemd-249-upstream_fixes-1.patch

从默认的 udev 规则中删除不必要的组 render 和 sgx:

 sed -i -e 's/GROUP="render"/GROUP="video"/' \
-e 's/GROUP="sgx", //' rules.d/

准备安装 systemd:

mkdir -p build
cd build

LANG=en_US.UTF-8 \
meson --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--buildtype=release \
-Dblkid=true \
-Ddefault-dnssec=no \
-Dfirstboot=false \
-Dinstall-tests=false \
-Dldconfig=false \
-Dsysusers=false \
-Db_lto=false \
-Drpmmacrosdir=no \
-Dhomed=false \
-Duserdb=false \
-Dman=false \
-Dmode=release \
-Ddocdir=/usr/share/doc/systemd-249 \
..

编译该软件包:

LANG=en_US.UTF-8 ninja

安装该软件包:

LANG=en_US.UTF-8 ninja install

安装 man 页面:

tar -xf ../../systemd-man-pages-249.tar.xz --strip-components=1 -C /usr/share/man

删除不必要的目录:

rm -rf /usr/lib/pam.d

创建 /etc/machine-id 文件,systemd-journald 需要它:

systemd-machine-id-setup

设定启动目标单元的基本结构:

systemctl preset-all

已知一个服务单元会导致并非由 systemd-networkd 提供网络配置的系统出现问题,禁用它:

systemctl disable systemd-time-wait-sync.service

安装完成后清理工作:

cd ../..
rm -rf systemd-249



公众号:Lucifer三思而后行