systemd 259: Musl サポート、run0 の強化、そして System V との別れ

キーポイント:
  • Musl libc の部分的なサポート (Meson での手動設定が必要です)。
  • run0 --empower は、ユーザー UID を変更せずに特権アクションを許可します。
  • System V スクリプトの廃止と要件の増加が確認されました (カーネル 5.10 以降)。
  • libsystemd は依存関係を減らすために dlopen() を使用して外部ライブラリをロードするようになりました。
  • ジャーナル ストレージは、デフォルトで「永続的」になりました。

systemd

3ヶ月強の開発を経て、 の発売 の新しいバージョン systemd259。 このアップデートでは、システム アーキテクチャに変更が導入され、代替の標準ライブラリへのオープン性、より厳格な権限管理、および将来のバージョンに対するより厳格な技術要件が強調されています。

このサイクルで最も話題になっている動きの 1 つは、モジュール性の向上とレガシー依存関​​係の排除への移行であり、過去数十年間の標準から確実に離れつつある Linux エコシステムへの道を開きます。

systemd259の主な新機能

新しいsystemdバージョン259は、 Muslとの部分的な互換性を追加した最初のバージョン軽量ディストリビューションや組み込み環境で人気のC標準ライブラリです。この統合により これは、Meson ビルド システムの libc オプションを通じて管理されます。 ただし、Musl は NSS (Name Service Switch) 機能を実装していないため、この構成ではいくつかの systemd コンポーネントが無効のままになります。

の中でMuslでコンパイルすると注目すべき欠落がある 発見 nss-systemd、nss-resolve、systemd-homed、systemd-userdbd、およびDynamicUserパラメータさらに、このライブラリでは、権限なしで systemd-nspawn を実行することはできません。開発者は、将来のバージョンでもこのサポートを維持できるかどうかは、コミュニティの需要と、今後開発される追加の互換性レイヤーの安定性次第であると警告しています。

新バージョンのもう一つの新機能は run0ユーティリティは、sudoの現代的で安全な代替として設計されており、 新しい選択肢 – エンパワーメント。 この機能 昇格された権限でログインできるようになります。 ユーザー識別子 (UID) を root に変更する必要はありません。

それに加えて、 完全な管理を委任するのではなく –empowerは、ユーザー切り替えを通じて、CAP_SYS_ADMINなどのカーネル機能インジケータを使用します。 厳密に必要な許可を与える 特権システムコールを実行します。さらに、生成されたプロセスは特定のグループに統合され、Polkitアクションへのアクセスが許可されるため、従来のsudoモデルよりも堅牢な権限分離が維持されます。

時代の終焉: System V と新しい要件に別れを告げる

systemd 259は、 との互換性 System V サービス スクリプト次のバージョンでは、systemd-sysv-generator、systemd-rc-local-generator、systemd-sysv-install などのレガシーコンポーネントが完全に削除されることが発表されました。

古いコードのクリーンアップに伴い、systemd エコシステムの最小ソフトウェア要件も大幅に引き上げられました。

  • Linux カーネル: 最小バージョン 5.10。
  • glibc: 2.34。
  • OpenSSL: 3.0.0。
  • Util-Linux: 2.37。
  • その他: Python 3.9.0、cryptsetup 2.4.0、libseccomp 2.4.0。

libsystemdのモジュール性と動的ロード

コモ 依存を減らす取り組みの一環 起動時に直接、 libsystemd は dlopen() による動的ロードを使用するようになりました libacl、libblkid、libseccomp、libselinux、libmount などのライブラリについては、プロセスが特定の機能を必要とする場合にのみシステムがメモリにロードし、リソース使用を最適化します。さらに、libcap の機能が libsystemd に直接統合されたため、依存関係チェーンが簡素化されました。

El ログ処理のデフォルト構成が変更されました: ジャーナル保存モード(ジャーナル) 「自動」から「永続的」に変更/var/log/journal ディレクトリが以前存在していたかどうかに関係なく、

ネットワークと仮想化の分野:

  • systemd-networkd と systemd-nspawn: iptables を使用した NAT ルールのサポートは削除され、互換性のあるオプションは nftables のみになりました。
  • systemd 解決済み: /run/systemd/resolve.hook/ 内のローカルフック (hooks) を使用して、名前解決要求に介入できるようになりました。
  • systemd-importd: TARファイルを扱うためのロジックがネイティブに統合されました。さらに、`importd`と`machined`の両方をユーザーレベルで実行できるようになり、ユーザーのローカルディレクトリ(`~/.local/state/machines/`)でイメージを管理できるようになりました。

その他のイノベーション

プロトコルベースのAPI Varlinkは、サービス設定へのアクセスとIPC通話を可能にする機能強化を受けました Reload() や Reexecute() など。システム管理者にとって、サービスに OOMKills プロパティを含めることは非常に有用です。これにより、systemd ツールから直接、メモリ不足によりプロセスが何回終了したかを追跡できるようになります。

最後に、systemd-boot での TPM 1.2 のサポートが削除され、システムのブート プロセスがより最新化され、すべてのセキュリティの取り組みが TPM 2.0 標準に集中するようになりました。

あなたがそれについてもっと知りたいなら、あなたは相談することができます 詳細は次のリンクをご覧ください。