Linux에서 "Systemctl 명령을 찾을 수 없음" 오류를 수정하는 방법

'systemctl' 명령으로 문제를 해결하기 위한 빠른 수정 및 이에 대한 몇 가지 효율적인 대안 도입

시스템 컨트롤 Linux 생태계에서 중요한 유틸리티이기 때문에 실행하려고 할 때 "systemctl: command not found" 오류가 발생할 수 있습니다. 시스템 컨트롤 명령. 이것은 모든 Linux 배포판에 해당되지 않을 수 있지만 지원하지 않는 Linux 배포판의 이전 버전을 사용할 때 이 오류가 발생할 수 있습니다. 시스템 컨트롤 명령.

귀하에게 발생하는 문제는 매우 일반적인 문제이며 쉽게 해결할 수 있습니다. 따라서 전혀 걱정하지 말고 전체 자습서를 통해 빠르고 쉬운 수정 사항을 찾으십시오.

우리는 먼저 문제를 이해하고 수정하려고 노력할 것입니다.

통찰력 시스템 컨트롤 그리고 시스템

오류는 다음을 참조하여 시스템 컨트롤 이 오류에 대한 수정 사항을 더 잘 이해하려면 이 명령의 기본 사항을 아는 것이 좋습니다.

시스템 컨트롤 Linux가 제공하는 명령줄 유틸리티로, '시스템'. 또한 '와 함께 시스템 관리자를 검사하고 제어합니다.시스템' 공익 사업.

일반 구문:

systemctl [옵션] [이름]

시스템 시스템이 부팅될 때 실행되는 프로그램을 제어하는 ​​데몬, 라이브러리 및 유틸리티의 번들입니다. 시스템 또한 시스템 활동 저널을 시작하는 것과 같은 중요한 작업을 시작합니다.

이 유틸리티는 모든 Linux 기반 운영 체제는 아니지만 대부분의 중앙 관리 유틸리티로 작동합니다.

오류의 근본 원인

이 오류의 가장 가능성 있는 원인은 이전 버전의 Linux 배포를 사용하고 있기 때문일 수 있습니다. 많은 이전 버전은 다음을 사용합니다. SysV 초기화 대신 시스템 공익 사업.

시스템 이 유틸리티는 Linux에서 제공하는 유틸리티 바구니에 최근에 추가된 것이기 때문에 이전 Linux 버전에는 없습니다. 시스템 컨트롤 기능 및 모니터와 호환됩니다. 시스템 유틸리티이며 다음과 같은 이전 구성에서는 작동하지 않습니다. 시스템초기화 또는 건방진 녀석.

사용하지 않는 경우 시스템, 이 오류가 예상됩니다. 그만큼 간단하고 직관적입니다.

다음과 같은 방식으로 이 오류가 발생할 수 있습니다.

gaurav@ubuntu:~$ sudo systemctl start ufw [sudo] gaurav의 암호: sudo: systemctl: 명령을 찾을 수 없습니다. gaurav@ubuntu:~$ 

여기에서 Ubuntu Fire Wall(ufw)를 사용하여 시스템 컨트롤 명령을 실행하고 "systemctl: 명령을 찾을 수 없음" 오류가 발생했습니다.

따라서 다른 중앙 관리 유틸리티를 사용하고 있는 현재 Linux 배포판을 변경하지 않으려면 지금 무엇을 해야 할까요? 시스템? 현재 Linux 배포판을 유지하고 오류를 즉시 수정할 수 있는 빠른 수정 사항이 있습니다.

이제 수정 사항을 살펴보겠습니다.

"systemctl: 명령을 찾을 수 없음" 오류 수정

마지막으로 문제의 원인과 기본적인 사실관계를 분석한 후 문제의 해결방안을 살펴보기로 한다.

수정 1: 교체 시스템 컨트롤 ~와 함께 서비스 명령

문제의 오류에 대한 간단한 수정은 다음을 사용하는 것입니다. 서비스 오류를 일으키는 대신 명령 시스템 컨트롤 명령.

서비스 명령은 실행에 도움이 됩니다. 시스템V 초기화 이전 Linux 배포판에서 사용되는 스크립트입니다. 설치를 원하지 않으시면 시스템 시스템에 유틸리티가 있으면 이 수정 사항이 확실히 효과가 있을 것입니다.

다음을 사용하여 Linux 배포판에서 서비스와 데몬을 시작, 다시 시작 또는 중지할 수 있습니다. 서비스 명령.

그만큼 서비스 명령과 시스템 컨트롤 동일한 방식으로 명령 기능을 사용할 수 있지만 여기서 유일한 차이점은 시스템의 정상적인 실행을 담당하는 유틸리티와 명령의 호환성입니다.

보자 서비스 그림으로 명령합니다.

일반 구문:

sudo 서비스 [service_name] [액션]

위 구문에서 [동작] 공간에는 다음과 같은 작업이 포함될 수 있습니다. 시작, 그만, 재시작 또는 상태.

동일한 명령을 실행하여 ufw 를 사용하는 서비스 서비스 명령.

sudo 서비스 ufw 시작

산출:

gaurav@ubuntu:~$ sudo 서비스 ufw start gaurav@ubuntu:~$ sudo 서비스 ufw 상태 ● ufw.service - 복잡하지 않은 방화벽 로드됨: 로드됨(/lib/systemd/system/ufw.service; 활성화됨, 공급업체 사전 설정: enab 활성: 활성(종료) 이후 월요일 2020-09-28 11:22:34 IST, 1시간 5분 전 문서: man:ufw(8) 프로세스: 333 ExecStart=/lib/ufw/ufw-init start silent (code=exited, status =0/SU Main PID: 333 (code=exited, status=0/SUCCESS) Sep 28 11:22:34 ubuntu systemd[1]: Started Uncomplicated firewall. Warning: 장치가 시작된 이후로 저널이 회전되었습니다. 로그 출력은 다음과 같습니다. 불완전한

여기서, 서비스 대신 명령이 사용됩니다. 시스템 컨트롤 명령하고 그것은 절대적으로 잘 작동했습니다.

의 예를 하나 더 보자. 서비스 그것을 제대로 이해하도록 명령하십시오.

sudo 서비스 apache2 시작

산출:

gaurav@ubuntu:~$ sudo 서비스 apache2 상태 ● apache2.service - Apache HTTP 서버 로드: 로드됨(/lib/systemd/system/apache2.service; 활성화됨, 공급업체 사전 설정: 드롭인: /lib/systemd/system/ apache2.service.d └─apache2-systemd.conf 활성: 활성(실행 중) 이후 월요일 2020-09-28 11:22:47 IST, 1시간 16분 전 프로세스: 1172 ExecStart=/usr/sbin/apachectl start(코드= exited, status=0/SUCCE 메인 PID: 1248(apache2) 작업: 55(제한: 4456) CGroup: /system.slice/apache2.service ├─1248 /usr/sbin/apache2 -k start ├─1249 /usr/ sbin/apache2 -k start └─1250 /usr/sbin/apache2 -k start Sep 28 11:22:43 ubuntu systemd[1]: Apache HTTP 서버 시작 중... Sep 28 11:22:47 ubuntu apachectl[1172 ]: AH00112: 경고: DocumentRoot [/var/www Sep 28 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: 9월 28일 11:22:47 Apache ubuntu systemd[1]: HTTP를 시작했습니다. 서버.gaurav@ubuntu:~$ 

우리는 사용했습니다 서비스 apache2 유틸리티를 시작하는 명령입니다. 사용 상태 옵션 서비스 명령은 서비스의 현재 상태를 표시합니다. 실행 중인지 또는 비활성화되었는지(비활성) 세부 정보를 얻습니다.

이제 사용해보자 그만 사용하여 apache2 서비스를 중지하는 작업 서비스 명령.

gaurav@ubuntu:~$ sudo service apache2 stop gurav@ubuntu:~$ sudo service apache2 상태 줄 1--1...건너뛰기... ● apache2.service - Apache HTTP 서버 로드: 로드(/lib/systemd/ system/apache2.service; 활성화됨, 공급업체 사전 설정: 활성화됨) 드롭인: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf 활성: 2020-09-28 월 이후 비활성(죽음) 12 :42:06 IST; 1s 전 프로세스: 4928 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) 프로세스: 1172 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID : 1248 (code=exited, status=0/SUCCESS) Sep 28 11:22:43 ubuntu systemd[1]: Starting The Apache HTTP Server... Sep 28 11:22:47 ubuntu apachectl[1172]: AH00112: 경고 : DocumentRoot [/var/www/html] does not exist Sep 28 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: ::1을 사용하여 서버의 정규화된 도메인 이름을 안정적으로 결정할 수 없습니다. 설정 'S Sep 28 11:22:47 ubuntu systemd[1]: Started The Apache HTTP Server.

위에서 설명한 자세한 예에서 우리는 대신 이 명령을 사용할 수 있다는 결론을 내릴 수 있습니다. 시스템 컨트롤 Linux 배포판에서 다른 데몬과 서비스를 제어하고 모니터링하는 명령입니다.

수정 2: 확인 시스템 패키지

때로는 시스템 패키지 설치로 문제가 해결될 수 있습니다. 먼저 설치 상태를 확인해야 합니다. 시스템 시스템에 패키지.

다음 명령을 사용하여 시스템의 패키지를 확인하십시오.

sudo dpkg -l | grep 시스템

만약 시스템 유틸리티가 이미 설치되어 있으면 아래와 유사한 출력이 표시됩니다.

gaurav@ubuntu:~$ sudo dpkg -l | grep systemd [sudo] gaurav용 비밀번호: ii dbus-user-session 1.12.2-1ubuntu1.2 amd64 단순 프로세스 간 메시징 시스템(systemd --user 통합) ii libnss-systemd:amd64 237-3ubuntu10.42 amd64 nss 모듈은 동적 제공 사용자 및 그룹 이름 확인 ii libpam-systemd:amd64 237-3ubuntu10.42 amd64 시스템 및 서비스 관리자 - PAM 모듈 ii libsystemd0:amd64 237-3ubuntu10.42 amd64 systemd 유틸리티 라이브러리 ii libsystemd0:i3862ubuntu38066 ii networkd-dispatcher 1.7-0ubuntu3.3 all systemd-networkd 연결 상태 변경을 위한 디스패처 서비스 ri python3-systemd 234-1build1 amd64 systemd용 Python 3 바인딩 ii systemd 237-3ubuntu10.42 amd64 시스템 및 서비스 관리자 ii systemd-sysv 3ubuntu10.42 amd64 시스템 및 서비스 관리자 - SysV 링크 gaurav@ubuntu:~$ 

이와 유사한 출력이 나오면 다음을 의미합니다. 시스템 시스템에 설치되어 있습니다.

설치되어 있지 않다면 다음과 같은 방법으로 설치할 수 있습니다.

sudo apt-get 업데이트
sudo apt-get install systemd

설치했는데도 오류가 계속되면 다음 명령을 사용하여 다시 설치해 보십시오.

sudo apt-get install --reinstall systemd

설치하면 문제가 해결됩니다. 시스템 공익 사업.

결론

이 튜토리얼에서 "systemctl: command not found"를 수정하는 방법을 배웠습니다. 우리는 다음을 사용하여 안전하게 결론을 내릴 수 있습니다. 서비스 대신 명령 시스템 컨트롤 좋은 생각이고 문제를 아주 잘 해결합니다. 우리는 쉽게 사용할 수 있습니다 서비스 자습서에 표시된 예시를 이해한 후 명령을 실행합니다.