CLI 도구를 systemctl edit
사용하여 서비스, 타이머, 소켓, 장치, 마운트, 자동 마운트, 대상, 스왑, 경로, 슬라이스, 범위 또는 nspawn 파일과 같은 기존 시스템 단위를 편집할 수 있습니다.시스템 단위를 제거/재설정할 수 있는 또 다른 하위 명령이 있습니다.이와 같은 새 systemctl 파일을 만들 수도 있나요?
대부분의 온라인 가이드에서는 사용자 정의 텍스트 편집기를 사용하고 파일을 어딘가에 배치하라고 지시합니다(먼저 올바른 systemd 디렉토리를 다시 찾아야 하는 곳...). 또한 파일을 수동으로 복사하는 경우 데몬을 다시 로드해야 합니다 systemctl daemon-reload
.
그러나 시스템 관리자로서 기본 위치에 새 장치를 신속하게 생성하고 systemctl edit
기존 항목을 편집/덮어쓸 수도 있습니다. 제가 가장 좋아하는 CLI 텍스트 편집기(나노 정도)에 바로 표시되고 콘텐츠를 즉시 편집할 수 있다는 점이 마음에 듭니다.
시도했지만 systemctl add
명령 systemctl create
이 모두 존재하지 않습니다.
나는 온라인에서 해당 정보를 찾지 못했고 여기에서는 Stackexchange 답변도 찾지 못했습니다 ...
답변1
실제로 systemctl edit
아직 존재하지 않는 새 서비스로 명령을 실행하려고 하면 수행할 작업을 정확하게 알려줍니다.
$ systemctl edit happy-unicorns.service
No files found for happy-unicorns.service.
Run ‘systemctl edit --force --full happy-unicorns.service' to create a new unit.
이와 같이새 시스템 장치 만들기(이 경우 서비스) 실제로 다음을 실행합니다.
$ systemctl edit --force --full happy-unicorns.service
$EDITOR
그러면 텍스트 편집기가 팝업으로 표시됩니다( Linux 도구에서 일반적으로 사용하는 것처럼 환경 변수를 설정하여 지정할 수 있음 ).
의미:
--full
생성된 오버레이뿐만 아니라 전체 유닛 파일이 편집됩니다. 즉, 이 예에서는 예/etc/systemd/system/.#happy-unicorns.service11738733f89dc655
를 들어 서비스에 대한 디렉터리 및 재정의를 만드는 대신 올바른 위치에서 전체 서비스 파일을 실제로 사용합니다./etc/systemd/system/happy-unicorns.service.d/.#override.conf98be493089631328
노트:systemctl이 임의의 숫자를 추가하고 파일을 임시 파일로 표시하여 변경 사항이 직접 적용되지 않는 것을 볼 수 있습니다. 여전히 온전한 상태인지 확인되며 모든 것이 정확하면 파일이 이동됩니다.--force
실제로 기존 파일을 편집하는 대신 새 파일을 생성하도록 지정해야 합니다.- 공통 스위치를 추가하여 다른 위치(예: 사용자 또는 전역 범위)에 파일을 생성하려는 경우 모든 사용자에 대해
--user
현재 사용자를 추가할 수 있습니다--global
.--system
이는 현재 시스템의 기본값입니다.
별도의 하위 명령이 아니기 때문에 그렇게 명확하지 않을 수도 있다는 데 동의합니다. 하지만 파일을 편집하고 systemctl이 이미 존재하는 파일인지 결정하도록 하는 것을 생각하면 완벽하게 이해됩니다.
또한보십시오systemctl
매뉴얼 페이지더 많은 정보를 알고 싶습니다.