이렇게 하면 systemctl status network
상태가 실패로 표시되지만 여전히 외부 URL을 요청할 수 있습니다. 누군가 이 서비스가 정확히 무엇을 하는지 설명해줄 수 있나요? 물리적 연결 인터페이스인가요?
답변1
배경
우선 , 이는 기술적인 것이 아닙니다 network.service
. network.target
CentOS 7 시스템에서 이러한 파일을 검색하면 해당 network.target
파일만 찾습니다.
$ locate network.service
$
$ locate network.target
/usr/lib/systemd/system/network.target
$
명령을 통해 systemd에서 직접 시스템 단위 파일 설명을 얻을 수 있습니다 systemctl
. 예를 들어:
$ systemctl show network | grep -i description
Description=LSB: Bring up/down networking
알림 출력을 보면 systemctl status ...
다음 설명이 나타납니다.
$ systemctl status network
● network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2018-09-03 21:49:05 EDT; 2 days ago
Docs: man:systemd-sysv-generator(8)
Process: 809 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
또한 설명서에 대한 참조가 매뉴얼 페이지 형식으로 제공된다는 점에 유의하세요.
man systemd-sysv-generator
systemd-sysv-generator is a generator that creates wrapper .service units for SysV init[1] scripts in /etc/init.d/* at boot and when configuration of the system manager is reloaded. This will allow systemd(1) to support them similarly to native units. LSB headers[2] in SysV init scripts are interpreted, and the ordering specified in the header is turned into dependencies between the generated unit and other units. LSB facilities "$remote_fs", "$network", "$named", "$portmap", "$time" are supported and will be turned into dependencies on specific native systemd targets. See systemd.special(5) for more details. SysV runlevels have corresponding systemd targets (runlevelX.target). Wrapper unit that is generated will be wanted by those targets which correspond to runlevels for which the script is enabled. systemd does not supports SysV scripts as part of early boot, so all wrapper units are ordered after basic.target. systemd-sysv-generator implements systemd.generator(7).
systemd-sysv-generator
기존 SysV init 스크립트를 기반으로 대상과 서비스를 구축합니다. 이 경우 시스템의 "래핑된" 초기화 스크립트는 이 파일입니다 /etc/rc.d/init.d/network
.
목적
이 유닛 파일의 역할은 지정된 네트워크 인터페이스의 기능을 호출하는 것입니다 /etc/sysconfig/network
. 이는 NetworkManager 및 systemd가 존재하기 전에 대부분의 Red Hat 기반 배포판에서 사용되었던 디렉토리입니다.
Systemd는 이전 버전의 Red Hat(CentOS, Fedora, RHEL)과의 호환성을 유지하기 위한 방법으로 이 디렉토리에 정의된 모든 네트워크 인터페이스를 불러옵니다.
답변2
grep desc -A 1 /etc/rc.d/init.d/network
# description: Activates/Deactivates all network interfaces configured to \
# start at boot time.
동적 호스트 구성 프로토콜 등