Linux From Scratch(LFS11.0)构建 LFS 系统 - Systemd-249

2021-10-08 10:21:09 浏览数 (1)

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

安装 systemd

解压软件包:

代码语言:javascript复制
cd /sources
tar -xf systemd-249.tar.gz
cd systemd-249

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

代码语言:javascript复制
patch -Np1 -i ../systemd-249-upstream_fixes-1.patch

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

代码语言:javascript复制
 sed -i -e 's/GROUP="render"/GROUP="video"/' 
        -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in

准备安装 systemd:

代码语言:javascript复制
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 
      ..

编译该软件包:

代码语言:javascript复制
LANG=en_US.UTF-8 ninja

安装该软件包:

代码语言:javascript复制
LANG=en_US.UTF-8 ninja install

安装 man 页面:

代码语言:javascript复制
tar -xf ../../systemd-man-pages-249.tar.xz --strip-components=1 -C /usr/share/man

删除不必要的目录:

代码语言:javascript复制
rm -rf /usr/lib/pam.d

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

代码语言:javascript复制
systemd-machine-id-setup

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

代码语言:javascript复制
systemctl preset-all

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

代码语言:javascript复制
systemctl disable systemd-time-wait-sync.service

安装完成后清理工作:

代码语言:javascript复制
cd ../..
rm -rf systemd-249

本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

0 人点赞