systemd 系统管理器版本 251

经过五个月的开发,系统管理器 systemd 251 发布了。

主要变化:

  • 系统要求已提高。 支持的最低 Linux 内核版本已从 3.13 增加到 4.15。 操作需要 CLOCK_BOOTTIME 定时器。 要构建,您需要一个支持 C11 标准和 GNU 扩展的编译器(头文件继续使用 C89 标准)。
  • 添加了一个实验性实用程序 systemd-sysupdate,使用原子机制自动检测、下载和安装更新,以替换分区、文件或目录(使用两个独立的分区/文件/目录,其中一个包含当前工作资源,另一个安装下一次更新,之后部分/文件/目录被交换)。
  • 引入了新的内部共享库 libsystemd-core- .so,安装到/usr/lib/systemd/system目录下,对应现有的libsystemd-shared-库。所以。 使用 libsystemd-core- 共享库.so 允许您通过重用二进制代码来减少总体安装大小。 版本号可以通过 meson 构建系统中的“shared-lib-tag”参数指定,并允许发行版同时发布这些库的多个版本。
  • 实现了环境变量 $MONITOR_SERVICE_RESULT、$MONITOR_EXIT_CODE、$MONITOR_EXIT_STATUS、$MONITOR_INVOCATION_ID 和 $MONITOR_UNIT 从有关受监视单元的信息到 OnFailure/OnSuccess 处理程序的传输。
  • 对于单元,已经实现了 ExtensionDirectories 设置,它可用于组织从常规目录而不是磁盘映像加载系统扩展组件。 系统扩展目录的内容使用 OverlayFS 进行覆盖,用于扩展 /usr/ 和 /opt/ 目录的层次结构,并在运行时添加其他文件,即使所述目录以只读方式安装。 'portablectl Attach --extension=' 命令还添加了对指定目录的支持。
  • 对于由于系统内存不足而被 systemd-oomd 处理程序强制终止的单元,将传输“oom-kill”属性,并且强制终止的数量反映在“user.oomd_ooms”属性中。
  • 对于单元,添加了新的路径说明符 %y/%Y,反映单元的规范化路径(带有符号链接的扩展)。 还添加了用于替换 PRETTY_HOSTNAME 值的 %q 说明符和用于 CREDENTIALS_DIRECTORY 替换的 %d 说明符。
  • 在普通用户使用“--user”标志启动的非特权服务中,更改 RootDirectory、MountAPIVFS、ExtensionDirectories、*Capability*、ProtectHome、*Directory、TemporaryFileSystem、PrivateTmp、PrivateDevices、PrivateNetwork、NetworkNamespacePath、PrivateIPC、IPCNamespacePath 的设置允许使用 PrivateUsers、ProtectClock、ProtectKernelTunables、ProtectKernelModules、ProtectKernelLogs 和 MountFlags。 仅当系统中启用用户命名空间时,此功能才可用。
  • LoadCredential 设置允许将目录名称指定为参数,在这种情况下,将尝试从指定目录中的所有文件加载凭据。
  • 在 systemctl 中,在“—timestamp”参数中,可以指定“unix”标志以纪元格式显示时间(自 1 年 1970 月 XNUMX 日以来的秒数)。
  • “systemctl status”实现了“old-kernel”标志,如果会话中加载的内核版本号比系统中可用的基本内核旧,则会显示该标志。 还添加了“unmerged-usr”标志,以确定 /bin/ 和 /sbin/ 目录的内容不是通过到 /usr 的符号链接形成的。
  • 对于由 PID 1 进程启动的生成器,提供了新的环境变量:$SYSTEMD_SCOPE(从系统或用户服务启动)、$SYSTEMD_IN_INITRD(从 initrd 或主机环境启动)、$SYSTEMD_FIRST_BOOT(首次启动指示符)、$SYSTEMD_VIRTUALIZATION(存在虚拟化或在容器中启动)和 $SYSTEMD_ARCHITECTURE (构建内核的体系结构)。
  • PID 1 处理程序实现了从 QEMU fw_cfg 接口或通过在内核命令行上指定 systemd.set_credential 参数加载系统凭证参数的功能。 如果将相对路径指定为参数,则 LoadCredential 指令会自动搜索 /etc/credstore/、/run/credstore/ 和 /usr/lib/credstore/ 目录中的凭据。 类似的行为适用于 LoadCredentialEncrypted 指令,该指令还检查 /etc/credstore.encrypted/、/run/credstore.encrypted/ 和 /usr/lib/credstore.encrypted/ 目录。
  • systemd-journald 中稳定了以 JSON 格式导出的功能。 “journalctl --list-boots”和“bootctl list”命令现在支持 JSON 格式的输出(“--json”标志)。
  • udev 中添加了带有 hwdb 数据库的新文件,其中包含有关便携式设备(PDA、计算器等)以及用于创建声音和视频的设备(DJ 控制台、键盘)的信息。
  • udevadm 中添加了新选项“--prioritized-subsystem”,用于设置以下系统的优先级(在 systemd-udev-trigger.service 中用于首先处理块设备和 TPM)、“-type=all”、“-initialized” -match”和“--initialized-nomatch”用于选择已初始化或未初始化的设备,“udevadm info -tree”用于显示 /sys/ 层次结构中的对象树。 udevadm 还添加了新的“wait”和“lock”命令,以等待设备条目出现在数据库中,并在格式化或写入分区表时锁定块设备。
  • 添加了一组新的符号链接到设备 /dev/disk/by-diskseq/ 通过序列号(“diskseq”)识别块设备。
  • 在 [Match] 部分的 .link 文件中添加了对“Firmware”参数的支持,以便根据固件描述来匹配设备。
  • 在 systemd-networkd 中,对于通过 [Route] 部分配置的单播路由,范围值已默认更改为“link”,以匹配“ip route”命令的行为。 [Bridge]部分添加了Isolated=true|false参数,用于为内核中的网桥配置同名属性。 在[Tunnel]部分中,添加了External参数,用于将隧道类型设置为外部(元数据收集模式)。 在[DHCPServer]部分中,添加了BootServerName、BootServerAddress和BootFilename参数,用于配置PXE模式启动时DHCP服务器发送的服务器地址、服务器名称和启动文件名。 在 [Network] 部分中,L2TP 参数已被删除,您可以在 .netdev 文件中使用与 L2TP 接口相关的新本地设置。
  • 添加了新单元“systemd-networkd-wait-online@” .service”,可用于等待特定网络接口出现。
  • 现在可以使用 .netdev 文件创建虚拟 WLAN 设备,可以在 [WLAN] 部分进行配置。
  • 在 .link/.network 文件中,[Match] 部分实现了 Kind 参数,用于按设备类型(“bond”、“bridge”、“gre”、“tun”、“veth”)进行匹配。
  • Systemd-resolved 已在较早的启动阶段启动,包括从 initrd 启动(如果 initrd 映像中存在 systemd-resolved)。
  • systemd-cryptenroll 添加了 --fido2-credential-algorithm 选项来选择凭证加密算法,并添加了 --tpm2-with-pin 选项来控制使用 TPM 解锁分区时的 PIN 输入。 /etc/crypttab 中添加了类似的 tpm2-pin 选项。 通过 TPM 解锁设备时,设置会被加密,以防止加密密钥被拦截。
  • systemd-timesyncd 添加了 D-Bus API,用于通过 IPC 从 NTP 服务器动态检索信息。
  • 为了确定是否需要颜色输出,除了之前检查的 NO_COLOR、SYSTEMD_COLORS 和 TERM 之外,所有命令还对 COLORTERM 环境变量进行检查。
  • Meson 构建系统实现了 install_tag 选项,用于选择性组装和安装必要的组件:pam、nss、devel (pkg-config)、systemd-boot、libsystemd、libudev。 添加了构建选项 default-compression 来选择 systemd-journald 和 systemd-coredump 的压缩算法。
  • 在 loader.conf 中向 sd-boot 添加了实验性“rebo​​ot-for-bitlocker”设置,以使用 BitLocker TPM 启动 Microsoft Windows。

来源: opennet.ru

添加评论