あなたはSystemdが大好きです - ただまだ気づいていないだけです、Red Hatの皆さん、ウィンク

Table of Contents

あなたはSystemdが大好きです - ただまだ気づいていないだけです、Red Hatの皆さん、ウィンク

今週のRed Hat Summit の上級 Red Hat 技術者たちは、Red Hat Enterprise Linux システム管理者に対し、まだ Systemd を真剣に検討していないなら、一度試してみるよう促した。

水曜日にサンフランシスコで開催された 2018 Red Hat Summit で、Linux コンテナ製品マネージャーの Ben Breard 氏と、シニア プリンシパル エンジニアで Systemd の共同開発者の Lennart Poettering 氏が、従来の init よりも Systemd が優れている点について語りました。

まず、少し背景を説明します

従来のUnix系システムでは、initは最初に実行されるプロセスであり、コンピュータを起動するための様々なシェルスクリプトやプログラムを実行します。通常、実行中のサービスを制御するためのスクリプトセットが付属しており、将来のプロセスの親プロセスおよび祖父母プロセスとして機能します。

Systemd は従来の init システムの代替であり、シェル スクリプトの集合ではなくアプリケーションとして C で記述されており、従来の init にはないさまざまな最新機能を備えており、徐々に Linux ディストリビューションに採用され、その前身を追い出しました。

Devuanロゴ

SystemdフリーのDevuan Linuxがバージョン2.0リリース候補をリリース

続きを読む

Systemdは、集中型のアプリケーションスイートとして、それぞれが特定の機能に特化した多数の小さなプログラムを持つというUnix哲学に反すると主張する人もいるため、物議を醸しています。また、奇妙なバグや脆弱性、新しいコマンド構文を伴った、まるで再発明された車輪のようなSystemdが、自分たちの意見をほとんど聞かずに押し付けられることに憤慨する人もいました。Systemdは多くのソフトウェアパッケージにとって不可欠な依存関係となり、人々を囲い込むことになりました。Systemdはネットワークインターフェースの名前を変更し、予測可能な名前にしました。Systemdは誰をも捕らえることができませんでした。

ポエタリング氏はかつてSystemdを擁護するブログ記事を執筆し、Linuxカーネルの責任者であるリーナス・トーバルズ氏と対立した。その後、トーバルズ氏はSystemdに関する自身の考えを明確に表明した。

これはかなり意見が分かれる議論です。Systemd を、現代的でクリーンで一貫性のある管理ツールキットと見るか、それとも「壊れていないものは直す必要はない」というエンジニアリングの格言を無視する不必要な重荷と見るか、どちらかです。しかし、多くの Linux ディストリビューションメーカーにとって、init は修正が必要でした。

ブレアードとポエタリングに戻る

Red Hat の会議で、Breard 氏は、Systemd が 2014 年に Red Hat Enterprise Linux 7 のデフォルトの init オプションとして正式に導入されて以来、このソフトウェアがコミュニティから常に歓迎されてきたわけではないことを認めました。

「人々は好奇心から怒りまで、様々な反応を示します」とブレアード氏は考え込んだ。「人々が知れば知るほど、より好きになるのです。ここ数年、この現象が実際に起こっているのを目の当たりにしてきました。」

Breard 氏と Poettering 氏は参加者に対し、多くの場合、Systemd はプロセスの管理を劇的に簡素化すると同時に、管理者にマシンに対するより厳密な制御を与えることができると語った。

たとえば、Poettering 氏は、Systemd はシャットダウンするサービスに関連するすべてのプロセスを完全に追跡して強制終了できるが、これは競合する init システムではきれいに実行できないことだと指摘した。

「とても基本的なように聞こえますが、実際には皆さんが考えているよりもはるかに複雑です」とポエタリング氏は述べた。「Systemdはプロセスがどのサービスに属しているかを認識しているので、そのプロセスをシャットダウンできるのです。」

Systemdはセキュリティポリシーの適用に非常に優れていると聞きました。サービスによるリソースへのアクセスを制限する機能があるため、ソフトウェアを効果的にサンドボックス化し、ストレージへの書き込みや特定のディレクトリ内の機密データの読み取りなど、潜在的に悪意のある行為をコードが実行できないようにするための制御を導入できます。

もちろん、コンテナやchroot、独自のシェルスクリプトを使えばこうしたことはできますが、必要な場合はSystemdに標準で用意されています。とにかく、これがSystemd支持者の主張です。

さらに、サービスによるプロセッサ コア時間へのアクセスを規制できるため、特定のプログラムやサーバーに多くの、またはより少ない CPU サイクルを割り当てることで、システム パフォーマンスを調整できます。

Breard 氏と Poettering 氏は、たとえばネットワーク接続とコンテナを管理する機能を拡張するなどして、Systemd をさらに強化しようと努めると述べました。

そして、おそらくその過程で、ツールに対する興味が少し増すかもしれません。®

Discover More