系统管理器 systemd 260 可用

经过三个月的开发,系统管理器 systemd 260 现已发布。主要变化包括:弃用 System V 服务脚本、用于构建多层挂载层次结构的“mstack”机制、systemd-report 实用程序、支持 systemd-networkd 与 ModemManager 的集成、支持用户定义的可移植服务,以及在 systemd-logind 和 systemd-udevd 中引入“xaccess”。

新版本的变化包括:

  • 已停止支持 System V 服务脚本,并且 rc-local.service、systemd-sysv-install、systemd-rc-local-generator 和 systemd-sysv-generator 组件已停止使用。
  • “mstack”(挂载堆栈)机制已实现。它允许带有“.mstack/”后缀的目录形成复合目录层次结构,该层次结构是通过使用 OverlayFS 和“mount --bind”命令顺序挂载和覆盖磁盘镜像和文件系统部分而创建的。已添加 systemd-mstack 命令、systemd-nspawn 中的“--mstack”选项以及 units 中的 RootMStack 参数。这些工具可用于一次性挂载和卸载“.mstack”配置中定义的所有元素,例如,快速重建容器镜像或服务的工作环境。“.mstack/”中的每个文件或子目录都定义了一个挂载级别或“overlayfs”层。

    例如,以下配置“foobar.mstack/”定义了一个 overlayfs,其中包含来自磁盘映像 base.raw 和 app.raw 的两个只读层(以符号链接形式指定),以及一个可写目录“rw”:foobar.mstack/layer@0.raw → ../base.raw foobar.mstack/layer@1.raw → ../app.raw foobar.mstack/rw/

  • “metrics”和“report”框架已实现,系统组件可以使用它们通过Varlink将统计信息输出到/run/systemd/report/目录。systemd-report实用程序已添加,它可以生成一份汇总报告,其中包含所有组件的统计信息,并以JSON格式输出。目前,只有服务管理器和systemd-networkd提供指标。
  • systemd-networkd 已与 ModemManager 集成,并添加了“[MobileNetwork]”部分,其中包含 APN、AllowedAuthenticationMechanisms、User、Password、IPFamily、AllowRoaming、PIN、OperatorId、RouteMetric 和 UseGateway 的设置,允许您使用 systemd-networkd 通过调制解调器连接到蜂窝运营商。
  • 现在允许非特权用户以用户服务的形式运行 systemd-portabled。portablectl 工具新增了“--user”和“--system”标志,用于选择服务类型。可移植服务是将系统服务打包成自包含容器(以系统镜像形式交付,但作为常规服务进行管理)的功能。
  • systemd-logind 和 systemd-udevd 已添加对“xaccess”(扩展访问)概念的支持,该概念允许未在本地系统上使用显示器或输入设备的远程用户在图形会话中访问 GPU(类似于 uaccess,后者适用于实际操作计算机的用户)。要配置此情况下的会话,建议通过 PAM 设置 XDG_SESSION_EXTRA_DEVICE_ACCESS 环境变量。
  • 为了在 UKI(统一内核镜像)中自动配置设备树,我们提出了一套规范的硬件标识符文件集(位于 /usr/lib/systemd/boot/hwids/)。这些文件将设备标识符与设备树元素关联起来。利用这套文件,UKI 镜像可以在启动过程中自动查找并加载所需的设备树 Blob (DTB),而无需创建特定于设备的镜像。目前,我们为基于骁龙芯片的 ARM64 设备生成 hwid 文件。
  • /etc/os-release 文件中新增了一个名为“FANCY_NAME”的字段。它与“PRETTY_NAME”的区别在于,它可以使用非 ASCII Unicode 字符。如果“FANCY_NAME”字段存在,systemd、systemd-hostnamed 和 hostnamectl 的输出将使用该字段的值,而不是“PRETTY_NAME”。
  • 提供 Varlink 公共接口的服务以符号链接的方式指向单个目录 /run/varlink/registry/。可以使用“varlinkctl list-registry”命令查看此类服务的列表。
  • 在单元中,已实现了在 PrivateUsers 参数中指定“managed”值的功能,以便通过 systemd-nsresourced 自动将用户和组标识符 (UID/GID) 的范围分配给单元。
  • 设备已添加 RefreshOnReload 设置,以便在设备重启时更新分机号和凭据。
  • BindNetworkInterface 设置已添加到单元中,可自动将单元中创建的所有套接字绑定到指定的网络接口。
  • 单元中已添加了 ConditionPathIsSocket 和 AssertPathIsSocket 设置,用于在指定的路径不是套接字时更改单元的行为或使其崩溃。
  • systemctl 中新增了“enqueue-marked”命令,该命令会调用 D-Bus EnqueueMarkedJobs() 方法。之前用于此目的的“--marked”参数已被弃用。
  • 服务中新增了 MemoryTHP 设置,用于控制服务中大内存页(THP - 透明大页)的使用。
  • systemd-resolved 的 .delegate 文件现在支持 FirewallMark 参数,用于在网络堆栈中为生成的 DNS 流量设置防火墙标记。
  • systemd-sysupdate 中新增了“acquire”命令,用于分离启动阶段和安装/更新阶段。此外,还实现了将分区标记为部分启动的功能。
  • 为 systemd-vmspawn 添加了“--image-format”选项,用于选择磁盘映像的格式(qcow2 或 raw)。
  • systemd-inhibit 现在支持“--list”选项的 JSON 格式,并可以使用“--what”、“--who”、“--why”和“--mode”标志来过滤输出。
  • systemd-repart 为使用 dm-integrity 对加密分区进行完整性监控添加了基本支持。
  • systemd-keyutil 工具现在有一个“extract-certificate”命令,用于显示 X.509 证书的内容。
  • systemd-sysext 和 varlinkctl 现在支持使用 polkit 进行交互式授权。
  • 添加了 polkit 策略,允许以非特权用户身份调用 systemd-ask-password。
  • systemd-importd 现在支持使用“importctl pull-oci”命令加载 OCI 镜像,这些镜像将保存为可通过“mstack”挂载的镜像。
  • 增加了对 SYSTEMD_COLORS=auto-16、SYSTEMD_COLORS=auto-256 和 SYSTEMD_COLORS=auto-24bit 颜色的支持。
  • 提供了功能齐全的独立可执行文件 systemd-sysusers 和 systemd-tmpfiles(以前构建的是精简版)。
  • systemd-oomd 中添加了“prekill hook”,允许您附加处理程序,以便在由于内存不足而强制终止进程之前触发这些处理程序。
  • 已恢复在 udev 规则 (OWNER=/GROUP=) 和 systemd-networkd 设置 (User=/Group=) 中使用非系统用户和组的功能,但已将其标记为弃用。
  • systemd-repart 使用 xfsprogs 6.17.0 中引入的 mkfs.xfs 工具的功能,从指定的目录扩展文件系统的初始内容。
  • 最低版本要求已提高:内核 Linux 5.4 → 5.10(推荐 5.14,6.6 可实现完整功能),libidn → libidn2,Python 3.7.0 → 3.9.0,glibc 2.31 → 2.34,OpenSSL 1.1.0 → 3.0.0,cryptsetup 2.0.1/2.3.0 → 2.4.0,elfutils 158 → 177,libblkid 2.24 → 2.37,libseccomp 2.3.1 → 2.4.0。
  • 可移植性和稳定性指南已进行修订和简化,加强了防止公共界面出现用户可见的退化的承诺。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster