/etc/systemd/system.conf의 변경 사항을 재부트하거나“systemctl daemon-reload”?


10

CentOS-7 내에서 systemd의 /etc/systemd/system.conf에있는 옵션을 변경하려면 재부팅해야합니까, 아니면 "systemctl daemon-reload"로 충분합니까?

답변:


15

아니요, daemon-reload는 systemd 자체의 구성이 아닌 모든 장치 파일을 다시로드합니다. 그러나 # systemctl daemon-reexecsystemd를 다시 실행하여 프로세스에서 새 구성을 요약합니다.

systemctl 매뉴얼 페이지에서 :

daemon-reexec
       Reexecute the systemd manager. This will serialize the manager
       state, reexecute the process and deserialize the state again. This
       command is of little use except for debugging and package upgrades.
       Sometimes, it might be helpful as a heavy-weight daemon-reload.
       While the daemon is being reexecuted, all sockets systemd listening
       on behalf of user configuration will stay accessible.

매뉴얼 페이지에 daemon-reexec가 패키지 업그레이드에 유용하다고 말하면 대부분이 명령은 새로운 바이너리가 있으면 실행하고 구성을 다시 처리한다는 것을 의미합니다. 그러나 systemd를 업그레이드하는 데 사용하는 RPM에는 이미이를 수행하는 스크립트가 포함되어 있으므로 일반적인 업그레이드의 경우에는 필요하지 않습니다.

또는 재부팅 할 수 있습니다. 그렇습니다.


3
systemd RPM 패키지에는 패키지가 업그레이드 될 때 이미 데몬-재실행되는 스크립틀릿이 포함되어 있으므로 해당 상황에서 수동으로 수행 할 필요가 없습니다.
Michael Hampton

1
더 이상 재부팅이 필요한 것은 커널뿐입니다. 를 사용하여 업그레이드하는 동안 모든 서비스가 RPM 스크립트 내에서 이미 실행되고있는 것은 아닙니다 (이미 실행중인 경우) systemctl try-restart.
Michael Hampton

2
@MichaelHampton 그것은 조금 더 까다 롭습니다 : 커널뿐만 아니라 libc (및 때로는 장치 매퍼 사용자 랜드) 업그레이드에는 전체 재부팅이 필요합니다. 물론, 영향을받는 각 서비스를
정확히 찾아서

1
@Motivated libc는 서비스가 아니라 거의 모든 리눅스 실행 파일로 연결된 GNU C 라이브러리입니다. 따라서 libc업그레이드 후 실행중인 프로그램 / 프로세스를 다시 시작해야합니다. 더 쉬운 방법은 머신을 재부팅하는 것입니다.
shodanshok

1
@Motivated 대답은 Red Hat 파생 배포판에서 사용하지만 Debian 파생 배포판에서는 사용하지 않는 RPM 패키지의 스크립트에 대한 것입니다. 이들은 다른 패키징 방법을 사용하지만 systemctl을 호출하여 서비스를 다시 시작하거나 시스템 자체를 다시 시작합니다.
Michael Hampton
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.