systemd 系统管理器版本 246

经过五个月的开发 提交 系统管理器发布 systemd 246。 新版本包括对冻结单元的支持、使用数字签名验证根磁盘映像的能力、使用 ZSTD 算法的日志压缩和核心转储的支持、使用 FIDO2 令牌解锁便携式主目录的能力、支持解锁 Microsoft BitLocker通过 /etc/crypttab 进行分区,BlackList 已重命名为 DenyList。

变化:

  • 添加了对基于 cgroups v2 的冷冻机资源控制器的支持,您可以使用它停止进程并暂时释放一些资源(CPU、I/O,甚至可能是内存)来执行其他任务。 使用新的“systemctl freeze”命令或通过 D-Bus 控制设备的冷冻和除霜。
  • 添加了对使用数字签名验证根磁盘映像的支持。 使用服务单元中的新设置执行验证:RootHash(用于验证通过 RootImage 选项指定的磁盘映像的根哈希)和 RootHashSignature(根哈希的 PKCS#7 格式的数字签名)。
  • PID 1 处理程序实现了在初始启动阶段自动加载预编译的 AppArmor 规则 (/etc/apparmor/earlypolicy) 的功能。
  • 添加了新的单元文件设置:ConditionPathIsEncrypted 和 AssertPathIsEncrypted 用于检查使用加密 (dm-crypt/LUKS) 的块设备上指定路径的位置,ConditionEnvironment 和 AssertEnvironment 用于检查环境变量(例如,由 PAM 设置的变量或设置时设置的变量)容器)。
  • 对于 *.mount 单元,已实现 ReadWriteOnly 设置,如果无法挂载分区进行读写,则禁止以只读模式挂载该分区。 在 /etc/fstab 中,使用“x-systemd.rw-only”选项配置此模式。
  • 对于 *.socket 单元,添加了 PassPacketInfo 设置,这使得内核能够为从套接字读取的每个数据包添加额外的元数据(为套接字启用 IP_PKTINFO、IPV6_RECVPKTINFO 和 NETLINK_PKTINFO 模式)。
  • 对于服务(*.service 单元),建议 CoredumpFilter 设置(定义应包含在核心转储中的内存部分)和
    TimeoutStartFailureMode/TimeoutStopFailureMode(定义启动或停止服务时发生超时时的行为(SIGTERM、SIGABRT 或 SIGKILL))。

  • 大多数选项现在支持使用“0x”前缀指定的十六进制值。
  • 在与设置密钥或证书相关的各种命令行参数和配置文件中,当不希望将证书放置在未加密的磁盘上时,可以指定 unix 套接字 (AF_UNIX) 的路径,以便通过调用 IPC 服务来传输密钥和证书贮存。
  • 添加了对可在单位、tmpfiles.d/、sysusers.d/ 和其他配置文件中使用的六个新说明符的支持:%a 用于替换当前架构,%o/%w/%B/%W 用于替换字段来自 /etc/os-release 的标识符和用于短主机名替换的 %l。
  • 单元文件不再支持“.include”语法,该语法在 6 年前已被弃用。
  • StandardError和StandardOutput设置不再支持值“syslog”和“syslog-console”,它们将自动转换为“journal”和“journal+console”。
  • 对于自动创建的基于 tmpfs 的挂载点(/tmp、/run、/dev/shm 等),提供了 inode 大小和数量的限制,对应于 /tmp 和 /dev/ 的 RAM 大小的 50% shm,以及其他人 10% 的 RAM。
  • 添加了新的内核命令行选项:systemd.hostname 用于在初始引导阶段设置主机名,udev.blockdev_read_only 用于将与物理驱动器关联的所有块设备限制为只读模式(您可以使用“blockdev --setrw”命令选择性取消),systemd.swap 禁用交换分区的自动激活,systemd.clock-usec 以微秒为单位设置系统时钟,systemd.condition-needs-update 和 systemd.condition-first-boot 覆盖 ConditionNeedsUpdate 和 ConditionFirstBoot检查。
  • 默认情况下,sysctl fs.suid_dumpable 设置为 2(“suidsafe”),这允许使用 suid 标志保存进程的核心转储。
  • 文件 /usr/lib/udev/hwdb.d/60-autosuspend.hwdb 是从 ChromiumOS 借用到硬件数据库中的,其中包含有关支持自动睡眠模式的 PCI 和 USB 设备的信息。
  • ManageForeignRoutes 设置已添加到 networkd.conf 中,启用后,systemd-networkd 将开始管理其他实用程序配置的所有路由。
  • .network 文件中添加了“[SR-IOV]”部分,用于配置支持 SR-IOV(单根 I/O 虚拟化)的网络设备。
  • 在 systemd-networkd 中,IPv4AcceptLocal 设置已添加到“[Network]”部分,以允许在网络接口上接收具有本地源地址的数据包。
  • systemd-networkd 添加了通过 [HierarchyTokenBucket] 配置 HTB 流量优先级规则的功能,
    [HierarchyTokenBucketClass]、“pfifo”通过 [PFIFO]、“GRED”通过 [GenericRandomEarlyDetection]、“SFB”通过 [StochasticFairBlue]、“蛋糕”
    通过 [CAKE]、“PIE”通过 [PIE]、“DRR”通过 [DeficitRoundRobinScheduler] 和
    [DeficitRoundRobinSchedulerClass],通过 [BFIFO] 的“BFIFO”,
    通过 [PFIFOHeadDrop] 的“PFIFOHeadDrop”、通过 [PFIFOFast] 的“PFIFOFast”、“HHF”
    通过 [HeavyHitterFilter]、“ETS”通过 [EnhancedTransmissionSelection]、
    通过 [QuickFairQueueing] 和 [QuickFairQueueingClass] 进行“QFQ”。

  • 在 systemd-networkd 中,UseGateway 设置已添加到 [DHCPv4] 部分,以禁用通过 DHCP 获取的网关信息。
  • 在 systemd-networkd 的 [DHCPv4] 和 [DHCPServer] 部分中,添加了 SendVendorOption 设置,用于安装和处理其他供应商选项。
  • systemd-networkd 在 [DHCPServer] 部分实现了一组新的 EmitPOP3/POP3、EmitSMTP/SMTP 和 EmitLPR/LPR 选项,以添加有关 POP3、SMTP 和 LPR 服务器的信息。
  • 在 systemd-networkd 的 [Bridge] 部分的 .netdev 文件中,添加了 VLANProtocol 设置以选择要使用的 VLAN 协议。
  • 在 systemd-networkd 中,在 [Link] 部分的 .network 文件中,实现 Group 设置来管理一组链接。
  • 黑名单设置已重命名为 DenyList(保留旧名称处理以实现向后兼容性)。
  • Systemd-networkd 添加了大量与 IPv6 和 DHCPv6 相关的设置。
  • 向 networkctl 添加了“forcerenew”命令,以强制更新(租用)所有地址绑定。
  • 在 systemd-resolved 中,在 DNS 配置中,可以指定用于 DNS-over-TLS 证书验证的端口号和主机名。 DNS-over-TLS 实现添加了对 SNI 检查的支持。
  • Systemd-resolved 现在能够配置单标签 DNS 名称的重定向(单标签,来自一个主机名)。
  • systemd-journald 支持使用 zstd 算法压缩日志中的大字段。 已经做了一些工作来防止期刊中使用的哈希表发生冲突。
  • 显示日志消息时,带有文档链接的可点击 URL 已添加到 journalctl 中。
  • 在journald.conf中添加了审核设置,以控制在systemd-journald初始化期间是否启用审核。
  • Systemd-coredump 现在能够使用 zstd 算法压缩核心转储。
  • 向 systemd-repart 添加了 UUID 设置,以将 UUID 分配给创建的分区。
  • systemd-homed 服务提供可移植主目录的管理,并添加了使用 FIDO2 令牌解锁主目录的功能。 LUKS 分区加密后端添加了对会话结束时自动返回空文件系统块的支持。 如果确定系统上的 /home 分区已加密,则添加了针对数据双重加密的保护。
  • 向 /etc/crypttab 添加了设置:“keyfile-erase”用于在使用后删除密钥,“try-empty-password”用于在提示用户输入密码之前尝试使用空密码解锁分区(对于安装加密映像很有用)在首次启动后分配密码,而不是在安装过程中)。
  • systemd-cryptsetup 添加了对使用 /etc/crypttab 在启动时解锁 Microsoft BitLocker 分区的支持。 还增加了阅读的能力
    用于从文件 /etc/cryptsetup-keys.d/ 自动解锁分区的密钥.key 和 /run/cryptsetup-keys.d/ 。钥匙。

  • 添加了 systemd-xdg-autostart-generator 以从 .desktop 自动启动文件创建单元文件。
  • 在“bootctl”中添加了“rebo​​ot-to-firmware”命令。
  • 向 systemd-firstboot 添加了选项:“--image”用于指定要启动的磁盘映像,“--kernel-command-line”用于初始化 /etc/kernel/cmdline 文件,“--root-password-hashed”用于初始化指定 root 密码哈希,并使用“--delete-root-password”删除 root 密码。

来源: opennet.ru

添加评论