SysVinitがインストールされたDevuan Asciiを持っています。 DevRC asciiリポジトリでは、openRCバージョンがはるかに古いことがわかります。誰かがopenRCでDevuanを試しましたか? openRCの並列起動は有効ですか?
はい、可能ですが、デフォルトのsysvinit setupよりも遅く、効率が悪いです。
デフォルトの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(コンソールから起動)を使用した私のブートチャートは次のとおりです。
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での私のブートチャートです:
さらに進めたい場合は、rc_parallel="YES"
という行を/etc/rc.confに追加できます。ただし、これは起動時間を最小限に抑えるために起動出力を壊します。これはinsserv + startparよりも低速です
これは、OpenRCがopenrc-runを使用してより最適化されたセットアップとは対照的に、シェルで記述されたLSB initスクリプトをまだ使用しているためです。 sysvinitの代わりにopenrc-initを使用したOpenRCの更新バージョンを使用しても、起動時間はさらに長くなります。