나는 이상한 문제에 직면했습니다.
enp5s0
저는 두 개의 네트워크 인터페이스( 유선 인터페이스)와 wlan0
(와이파이) 를 갖춘 젠투를 실행하고 있습니다 . 예를 들어 openvpn
스크립트 내에서 프로그램을 실행하려고 하면 다음과 같은 /etc/init.d
결과가 출력됩니다.
* WARNING: openvpn is scheduled to start when net.enp5s0 has started
인터페이스가 enp5s0
작동 중이 아니면 다른 인터페이스가 작동 중이더라도 해당 인터페이스는 작동되지 않습니다.
에는 /etc/init.d/openvpn
다음 줄이 있습니다.
depend() {
need localmount net
use dns
after bootmisc
}
및 (실제로는 Gentoo가 수행해야 하는 작업을 이해하기 위해 처리하는 스크립트 이름인 /etc/init.d/net.enp5s0
에 /etc/init.d/net.wlan0
대한 기호 링크 ):/etc/init.d/net.lo
depend()
{
[...]
case "${IFACE}" in
lo|lo0) ;;
*)
after net.lo net.lo0 dbus
provide net
;;
esac
[...]
}
따라서 내가 이해하는 바에 따르면 내 인터페이스 중 어느 것이든 net
"능력"을 제공하며(올바른/정규적인 단어가 없습니다) openvpn
특정 인터페이스가 아닌 해당 기능에만 의존해야 합니다. 종속성이 있는 모든 프로그램에서 동일한 문제가 발생합니다 need net
.
내가 여기서 무엇을 놓치고 있는 걸까요?
uname -a
도움이 될 수 있다면 내 의견 을 따르세요.
Linux yavin 3.7.10-gentoo-r1 #2 SMP Sat Apr 20 16:27:52 CEST 2013 x86_64 Intel(R) Core(TM) i3 CPU M 330 @ 2.13GHz GenuineIntel GNU/Linux
답변1
좋습니다. 구성 파일의 주석을 읽는 것이 가끔 작동하는 경우가 있습니다...
내 가정은 정확했습니다. net
여러 서비스가 실제로 이를 제공할 수 있다는 점에서 "가상 종속성"으로 작동합니다. 이것은 실제로 매뉴얼에 문서화되어 있습니다.http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=4. 그러나 실제로 이는 구성 가능하며 이 동작은 기본값이 아닙니다(적어도 한 번 변경한 기억이 없습니다).
이 파일을 사용하여 초기화 스크립트의 작동 방식을 /etc/rc.conf
사용자 정의할 수 있습니다 . init
거기에 흥미로운 옵션이 있습니다.
# Do we allow any started service in the runlevel to satisfy the dependency
# or do we want all of them regardless of state? For example, if net.eth0
# and net.eth1 are in the default runlevel then with rc_depend_strict="NO"
# both will be started, but services that depend on 'net' will work if either
# one comes up. With rc_depend_strict="YES" we would require them both to
# come up.
#rc_depend_strict="YES"
보시다시피 이것이 바로 제가 필요한 것이며 (내 관점에서 볼 때) 잘못된 값으로 기본값이 설정되어 있을 뿐입니다. 이 옵션을 "아니요"로 설정하면 문제가 해결되었습니다.
앞으로:
yavin ~ # /etc/init.d/openvpn ineed
* Caching service dependencies ... [ ok ]
fsck dmcrypt localmount sysfs net.wlan0 net.enp5s0
그 후(이 경우 ; 그렇다면 대신 wlan0
사용했을 것 같습니다 ): enp5s0
wlan0
enp5s0
yavin ~ # /etc/init.d/openvpn ineed
* Caching service dependencies ... [ ok ]
fsck dmcrypt localmount sysfs net.wlan0