인터페이스를 불러올 때 /etc/network/if-up.d에있는 모든 스크립트가 실행됩니까?


12

네트워크 인터페이스를 불러올 때 /etc/network/if-up.d의 모든 스크립트가 실행됩니까?

그렇다면 인터페이스 파일에서 post-up 명령은 무엇입니까?


1
일반적으로 모든 " .d"폴더 내용이 실행됩니다. 그들 중 일부는 실제로 " .sh"파일 이름 확장자 가 필요 합니다. 모든 파일은 실행 가능해야합니다.
kolypto

답변:


14

예, 일반적으로 실행 가능으로 표시되고 해당 폴더에있는 스크립트가 실행됩니다. run-part가 사용되기 때문에 파일은 특정 이름 세트로 제한됩니다.

post-up사용하는 것과 같은 일을 up. if-up.d에 스크립트를 배치하는 것은 단순히 post-up스크립트 나 명령을 가리키는 다른 것을 사용하는 것과 같습니다 . 일반적으로 단일 인터페이스에 대해 단일 명령을 실행해야 할 때 up-post를 사용합니다. 좀 더 복잡한 것이 있으면 스크립트를 만듭니다.

남자 인터페이스

...
up command

post-up command
      Run  command  after  bringing the interface up.  If this command
      fails then ifup aborts, refraining from marking the interface as
      configured  (even  though it has really been configured), prints
      an error message, and exits with status 0.   This  behavior  may
      change in the future.
...
There  exists  for  each  of  the  above  mentioned options a directory
/etc/network/if-<option>.d/ the scripts in which are run (with no argu-
ments) using run-parts(8) after the option itself has been processed.

남자 런 부품

run-parts  runs  all  the  executable  files  named  within constraints
described below,

If  the  --lsbsysinit  option  is not given then the names must consist
entirely of upper and lower  case  letters,  digits,  underscores,  and
hyphens.
...
Files are run in the lexical sort  order  of  their  names  unless  the
--reverse  option  is given, in which case they are run in the opposite
order.

1
따라서 인터페이스가 가동 된 후에 만 ​​스크립트를 실행하고 if-up.d 폴더에있는 내용을 준비해야하는 경우, 이름을 지정해야하므로 조작해야하는 명령 후에 어휘 순서가됩니다. 또는 다른 디렉토리에 넣고 post-up 명령을 통해 실행하십시오. 그 소리가 맞습니까?
Spig

1
그렇습니다.
Zoredache

1
좋은 답변입니다. 10 년이 지난 후에도 여전히 통찰력을 제공합니다.
Xofo

.sh 확장자를 사용하여 올바른 파일 이름을 가진 스크립트조차도 실행되지 않는다는 것을 인식하기 위해 실제로 run-parts 매뉴얼 페이지를 읽어야합니다. 인용구 : "... 점으로 인해 스크립트를 건너 뛰는 방법에 대한 정보가 있으면 많은 도움이 될 것입니다. 문제 해결에 많은 시간을 잃었습니다 ... ' 문자, 숫자, 밑줄 및 하이픈. ' 충분하지 않습니다. 두 번 읽었고 문제가 어디에 있는지 이해하는 데 도움이되지 않았습니다. 점이있는 스크립트를 건너 뛰도록 명시 적으로 작성해야합니다. "
ChrisW

이 '버그'데비안에서 "해결되지 않습니다"입니다 : 실행 부분이 쉬 확장으로 스크립트를 실행하지 않습니다 bugs.launchpad.net/ubuntu/+source/debianutils/+bug/38022
ChrisW
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.