web-dev-qa-db-ja.com

OpenRC initでDevuan Asciiを実行することは可能ですか?

SysVinitがインストールされたDevuan Asciiを持っています。 DevRC asciiリポジトリでは、openRCバージョンがはるかに古いことがわかります。誰かがopenRCでDevuanを試しましたか? openRCの並列起動は有効ですか?

5
Confguy2016

tl; dr

はい、可能ですが、デフォルトのsysvinit setupよりも遅く、効率が悪いです。

デフォルト(sysvinit)

デフォルトのDevuan Asciiインストールでは、すでに insserv および startpar を使用して並列ブートアップを実行しています。これらは、依存関係を明示的に指定するinitscripts内のLSBヘッダーを解析することで機能します(/etc/init.d内を見てください)。 Sudo insservを実行すると、insservはこれらのinitスクリプトを/etc/init.d/.depend.boot、/etc/init.d/.depend.startなどのファイルに処理します。起動時に、startparはこれらを読み取りますこれらのルールに従って、スクリプトを作成してプロセスを並行して開始します。

たとえば、sysvinit(コンソールから起動)を使用した私のブートチャートは次のとおりです。 sysv bootchart

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

OpenRCのインストールは、他のパッケージと同様に行われます。

$ apt update
$ apt get 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はinsservとstartparを削除します。

ただし、少なくとも私の経験では、OpenRCは、拡張されたsysvinitよりも低速です。これは、OpenRCがブート時に依存関係を計算するためです。パッケージのインストール時に。

たとえば、これは1.57秒遅いOpenRCでの私のブートチャートです: openrc unoptimized bootchart

OpenRC(最適化)

さらに進めたい場合は、rc_parallel="YES"という行を/etc/rc.confに追加できます。ただし、これは起動時間を最小限に抑えるために起動出力を壊します。これはinsserv + startparよりも低速です openrc optimized bootchart

これは、OpenRCがopenrc-runを使用してより最適化されたセットアップとは対照的に、シェルで記述されたLSB initスクリプトをまだ使用しているためです。 sysvinitの代わりにopenrc-initを使用したOpenRCの更新バージョンを使用しても、起動時間はさらに長くなります。

5
novice