OpenRC initを使ってDevuan Asciiを実行できますか?

OpenRC initを使ってDevuan Asciiを実行できますか?

Devuan AsciiとSysVinitをインストールしました。 Devuan asciiリポジトリのopenRCバージョンがはるかに古いことがわかりました。 openRCでDevuanを使ったことがある人はいますか? openRCはパラレルスタートをサポートしていますか?

答え1

長すぎます。

はい、できます。しかし、デフォルトのsysvinit設定よりも遅く、効率が低下します。

デフォルト(sysvinit)

デフォルトのDevuan Asciiインストールはすでに並列に開始できます。提供するそして起動パラメータ。これは、依存関係を明示的に指定するinitscripts(内部参照)/etc/init.dからLSBヘッダーを解析することによって機能します。を実行すると、sudo insservこれらのinsserv初期化スクリプトが/etc/init.d/.depend.boot/etc/init.d/.depend.start起動時にstartparこれらのスクリプトを読み、これらの規則に従ってプロセスが並列に開始されます。

たとえば、以下は私のsysvinitブートイメージです(コンソールブート)。 sysv ブートチャート

OpenRC(最適化されていない)

他のパッケージと同じ方法でOpenRCをインストールします。

$ apt update
$ apt install openrc

インストールが完了すると、次のメッセージが表示されます。

**********************************************************************
*** WARNING: if you are replacing sysv-rc by OpenRC, then you must ***
*** reboot immediately using the following command:                ***
for file in /etc/rc0.d/K*; do s=`basename $(readlink "$file")` ; /etc/init.d/$s stop; done
**********************************************************************

スーパーユーザーとして実行してください。

インストール中およびapt削除されます。insservstartpar

しかし、少なくとも私の経験ではOpenRCは改善されたsysvinitより遅い。これは、OpenRCがinsservパッケージがインストールされたときではなく、起動時の依存関係を計算するためです。

たとえば、以下は1.57秒遅いOpenRCを使用したブートチャートです。 openrc 最適化されていないブートチャート

OpenRC(最適化)

さらに進むには、この行をrc_parallel="YES"に追加できます/etc/rc.conf。ただし、これにより開始出力が破損し、開始時間が最小限に抑えられます。これはまだinsserv+より遅いですstartparopenrc最適化ブートチャート

これは、OpenRCがopenrc-runを使用してより最適に設定するのではなく、シェルにまだ書かれているLSB initスクリプトを使用するためです。最新バージョンのOpenRC(sysvinitの代わりにopenrc-initを使用)を使用しても、起動時間はまだ悪いです。

関連情報