"시스템이 systemd를 사용하여 초기화 시스템(PID 1)으로 시작되지 않았습니다" 문제를 해결하는 방법. 운영불가'

"시스템이 systemd를 사용하여 초기화 시스템(PID 1)으로 시작되지 않았습니다" 문제를 해결하는 방법. 운영불가'

이 명령을 사용할 때:

root:~# systemctl

출력은 다음과 같습니다

System has not been booted with systemd as init system (PID 1). Can't operate

이 문제는 "Kali Linux"와 "Debian 9"에서 발생하는데, 이 문제를 해결하는 방법은 무엇입니까?

답변1

어떤 초기화 시스템이 사용되는지 걱정하지 않고 서비스를 시작하고 중지하려면 다음을 사용해야 합니다.service:

service openvas start

openvas서비스를 시작하는 데 적합한 명령이 사용됩니다 .

답변2

데비안에서는 재설치를 통해 이 문제를 "수정"할 수 있습니다.시스템 전반의 서비스 감독팩.

다음 명령은 systemd 통합 패키지를 설치합니다 . 시스템에는 하나만 포함될 수 있으므로 runit-systemd프로세스 중에 제거됩니다 .sysvinit

apt-get install runit-systemd

답변3

Docker 컨테이너에서 오류가 발생하는 경우 오류에 대한 한 가지 해결 방법은 다음과 같습니다."시스템이 systemd를 사용하여 초기화 시스템(PID 1)으로 시작되지 않았습니다. 실행할 수 없습니다."Docker 컨테이너에서는 더 많은 권한으로 컨테이너를 실행하는 것을 의미합니다.

최대 권한을 부여하려면(예: Docker 컨테이너 내에서 호스트의 전체 작업)명령 --privileged줄 매개변수가 존재합니다.:

--privileged플래그는 컨테이너에 모든 기능을 제공하고 장치의 cgroup 컨트롤러에 의해 적용되는 모든 제한 사항을 해제합니다. 즉, 컨테이너는 호스트가 할 수 있는 거의 모든 작업을 수행할 수 있습니다. 이 플래그는 Docker 내에서 Docker를 실행하는 것과 같은 특별한 사용 사례를 허용하기 위해 존재합니다.

예를 들어 컨테이너 내에서 systemd를 실행하려면 이미지 가져오기 명령이 다음과 같을 수 있습니다.

docker run -d --name "systemd_example_container" --privileged \
   -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-ubuntu:18.04

컨테이너 내에서 대화형 셸을 실행하려면 명령이 다음과 같을 수 있습니다.

docker exec -it "systemd_example_container" bash

단점은 --privileged모든 Docker 런타임 구성에 사용할 수 없는 플래그가 필요하다는 점입니다. 따라서 이 점을 고려하세요.

자세한 내용은 다음을 참조하세요.권한이 없는 컨테이너에서 systemd를 실행합니다.다니엘 월시~을 위한레드햇 개발자; 2016년 9월 업데이트: 2019년 4월).

관련 정보