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 부팅 이미지입니다(콘솔로 부팅).
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
제거됩니다 .insserv
startpar
그러나 적어도 내 경험으로는OpenRC는 향상된 sysvinit보다 느립니다.이는 OpenRC가 insserv
패키지가 설치될 때가 아니라 시작 시 종속성을 계산하기 때문입니다.
예를 들어, 다음은 1.57초 느린 OpenRC를 사용하는 부트 차트입니다.
OpenRC(최적화)
한 단계 더 나아가려면 이 줄을 rc_parallel="YES"
에 추가할 수 있습니다 /etc/rc.conf
. 그러나 이렇게 하면 시작 출력이 손상되어 시작 시간이 최소화됩니다. 이는 여전히 insserv
+보다 느립니다 startpar
.
이는 OpenRC가 openrc-run을 사용하여 더 최적으로 설정하는 대신 여전히 셸에 작성된 LSB init 스크립트를 사용하기 때문입니다. 최신 버전의 OpenRC(sysvinit 대신 openrc-init 사용)를 사용하더라도 시작 시간은 여전히 더 나쁩니다.