![추가 읽기](https://linux55.com/image/13372/%EC%B6%94%EA%B0%80%20%EC%9D%BD%EA%B8%B0.png)
서비스 파일이 많이 있습니다/etc/systemd/service/myapp.*.service
각 줄에는 다음과 같은 줄이 있습니다.
User=Foo
...이 .service 파일을 모두 변경하여 모두 다음과 같이 표시되도록 해야 합니다.
User=Bar
이 작업을 어떻게 효율적으로 수행합니까?
답변1
누가 파일을 변경해야 한다고 말합니까? ☺
/etc/systemd/service/ -maxlength 1 -name 'myapp.*.service' 찾기 | -ri를 읽을 때 하다 printf '[서비스]\nUser=%s\n' '바' > ${i}.d/change-user.conf 완벽한
이렇게 하면 원래 서비스 정의를 다시 복원하는 것이 더 쉬워집니다.
rm -- /etc/systemd/service/myapp.*.service.d/change-user.conf
이것들을 다 만들어파일물론 이것은 전체 서비스에 작동하는 하드 링크를 사용하는 간단한 연습일 뿐입니다.
설치 -d /etc/systemd/temp printf '[서비스]\nUser=%s\n' '바' > /etc/systemd/temp/change-user.conf /etc/systemd/service/ -maxlength 1 -name 'myapp.*.service' 찾기 | -ri를 읽을 때 하다 ln /etc/systemd/temp/change-user.conf ${i}.d/change-user.conf 완벽한
또한 이는 패키지 제공 및 런타임 생성 단위를 사용하여 이러한 작업을 수행하는 공식적인 방법입니다. 당신은해야아니요해당 유닛 파일을 변경하세요.
추가 읽기
- 레나트 페틀링(2013-10-07).
systemd.unit
. 시스템 매뉴얼 페이지. freedesktop.org.
답변2
사용 sed
:
sed -i 's/^User=Foo$/User=Bar/' /etc/systemd/service/myapp.*.service