이 명령을 사용할 때:
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월).