"Trans:GentooX86Handbook4-5"의 두 판 사이의 차이
Darkcircle (토론 | 기여) |
Darkcircle (토론 | 기여) |
||
(같은 사용자의 중간 판 16개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
== 기능 추가 == | == 기능 추가 == | ||
=== 표준 함수 훅 === | === 표준 함수 훅 === | ||
+ | |||
+ | {{blue|start/stop}} 함수 주변에서 호출 되는 네가지 함수를 /etc/conf.d/net에 정의할 수 있습니다. 이 함수들은 인터페이스 이름을 통해 먼저 호출되어 하나의 함수가 여러 개의 어댑터를 제어할 수 있습니다. | ||
− | + | {{blue|preup()}} 과 {{blue|predown()}} 함수의 반환 값은 인터페이스의 설정이나 설정 해제를 계속할 수 있음을 표시하기 위해 0(성공)이 되어야 합니다. {{blue|preup()}}의 반환 값이 0이 아니면 인터페이스 설정이 중지됩니다. {{blue|predown()}}의 반환 값이 0이 아니면, 인터페이스의 설정을 더 이상 해제할 수 없게 됩니다. | |
− | {{blue| | + | {{blue|postup()}}과 {{blue|postdown()}}함수의 반환 값은 위에서 명시한 함수들이 실패했음을 나타낼 경우 더 이상 아무것도 하지 않으므로 무시됩니다. |
− | {{blue| | + | {{blue|<nowiki>${IFACE}</nowiki>}} 는 인터페이스를 올리고 내릴 때 설정합니다. {{blue|<nowiki>${IFVAR}</nowiki>}} 는 {{blue|<nowiki>${IFACE}</nowiki>}}를 배시에서 허용하는 변수 이름으로 변환한 값입니다. |
+ | |||
+ | {{Example|코드 예제 1.1: /etc/confi.d/net pre/post up/down 함수 예제|<nowiki>preup() {</nowiki><br/> {{red|<nowiki># Test for link on the interface prior to bringing it up. This</nowiki><br/> <nowiki># only works on some network adapters and requires the ethtool</nowiki><br/> <nowiki># package to be installed.</nowiki>}}<br/> <nowiki>if ethtool ${IFACE} | grep -q 'Link detected: no'; then</nowiki><br/> <nowiki>ewarn "No link on ${IFACE}, aborting configuration"</nowiki><br/> <nowiki>return 1</nowiki><br/> <nowiki>fi</nowiki><br/><br/> {{red|<nowiki># Remember to return 0 on success</nowiki>}}<br/> | ||
+ | <nowiki>return 0</nowiki><br/><nowiki>}</nowiki><br/><br/><nowiki>predown() {</nowiki><br/> {{red|<nowiki># The default in the script is to test for NFS root and disallow</nowiki><br/> <nowiki># downing interfaces in that case. Note that if you specify a</nowiki><br/> <nowiki># predown() function you will override that logic. Here it is, in</nowiki><br/> <nowiki># case you still want it...</nowiki>}}<br/> <nowiki>if is_net_fs /; then</nowiki><br/> <nowiki>eerror "root filesystem is network mounted -- can't stop ${IFACE}"</nowiki><br/> <nowiki>return 1</nowiki><br/> fi<br/><br/> {{red|# Remember to return 0 on success}}<br/> return 0<br/><nowiki>}</nowiki><br/><br/><nowiki>postup() {</nowiki><br/> {{red|<nowiki># This function could be used, for example, to register with a</nowiki><br/> <nowiki># dynamic DNS service. Another possibility would be to</nowiki><br/> <nowiki># send/receive mail once the interface is brought up.</nowiki>}}<br/> return 0<br/><nowiki>}</nowiki><br/><br/><nowiki>postdown() {</nowiki><br/> {{red|<nowiki># This function is mostly here for completeness... I haven't</nowiki><br/> <nowiki># thought of anything nifty to do with it yet ;-)</nowiki>}}<br/> <nowiki>return 0</nowiki><br/><nowiki>}</nowiki> | ||
+ | }} | ||
+ | |||
+ | {{Note|여러분의 함수 작성에 대한 더 많은 내용을 보시려면 /usr/share/doc/openrc-*/net.example.bz2를 읽어보십시오.}} | ||
− | {{blue|<nowiki>${ | + | === Wireless Tools 함수 훅 === |
+ | {{Note|이 함수는 WPA Supplicant에서 동작하지 않습니다 - 그러나 {{blue|<nowiki>${ESSID}</nowiki>}}와 {{blue|<nowiki>${ESSIDVAR}</nowiki>}} 변수는 {{blue|postup()}} 함수에서 사용할 수 있습니다.}} | ||
+ | associate 함수 주변에서 호출 되는 두가지 함수를 /etc/conf.d/net에 정의할 수 있습니다. 이 함수들은 인터페이스 이름을 통해 먼저 호출되어 하나의 함수가 여러 개의 어댑터를 제어할 수 있습니다. | ||
+ | |||
+ | {{blue|preassociate()}} 함수의 반환 값은 인터페이스의 설정이나 설정 해제를 계속 할 수 있음을 표시하기 위해 0(성공)이 되어야 합니다. {{blue|preassociate()}}의 반환 값이 0이 아니면 인터페이스 설정이 중지됩니다. | ||
+ | |||
+ | {{blue|postassociate()}} 함수의 반환 값은 위에서 명시한 함수가 실패했음을 나타낼 경우 더 이상 아무것도 하지 않으므로 무시합니다. | ||
+ | |||
+ | {{blue|<nowiki>${ESSID}</nowiki>}}는 여러분이 연결하려는 AP의 정확한 ESSID를 설정합니다. {{blue|<nowiki>${ESSIDVAR}</nowiki>}}는 {{blue|<nowiki>${ESSID}</nowiki>}}를 배시에서 허용하는 변수 이름으로 변환한 값입니다. | ||
− | {{Example|코드 예제 | + | {{Example|코드 예제 2.1: /etc/conf.d/net의 pre/post association 함수|<nowiki>preassociate() {</nowiki><br/> {{red|<nowiki># The below adds two configuration variables leap_user_ESSID</nowiki><br/> <nowiki># and leap_pass_ESSID. When they are both configured for the ESSID</nowiki><br/> <nowiki># being connected to then we run the CISCO LEAP script</nowiki>}}<br/><br/> <nowiki>local user pass</nowiki><br/> <nowiki>eval user=\"\$\{leap_user_${ESSIDVAR}\}\"</nowiki><br/> <nowiki>eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\"</nowiki><br/><br/> <nowiki>if [[ -n ${user} && -n ${pass} ]]; then</nowiki><br/> <nowiki>if [[ ! -x /opt/cisco/bin/leapscript ]]; then</nowiki><br/> eend "For LEAP support, please emerge net-misc/cisco-aironet-client-utils"<br/> return 1<br/> fi<br/> <nowiki>einfo "Waiting for LEAP Authentication on \"${ESSID//\\\\//}\""</nowiki><br/> <nowiki>if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then</nowiki><br/> <nowiki>ewarn "Login Failed for ${user}"</nowiki><br/> return 1<br/> fi<br/> fi<br/><br/> return 0<br/><nowiki>}</nowiki><br/><br/><nowiki>postassociate() {</nowiki><br/> {{red|<nowiki># This function is mostly here for completeness... I haven't</nowiki><br/> <nowiki># thought of anything nifty to do with it yet ;-)</nowiki>}}<br/><br/> return 0<br/><nowiki>}</nowiki> |
− | <nowiki> | ||
}} | }} | ||
+ | |||
+ | {{Note|{{blue|<nowiki>${ESSID}</nowiki>}}와 {{blue|<nowiki>${ESSIDVAR}</nowiki>}} 변수는 {{blue|predown()}} 함수와 {{blue|postdown()}} 함수에서 사용할 수 없습니다.}} | ||
+ | |||
+ | {{Note|여러분의 함수 작성에 대한 더 많은 내용을 보시려면 /usr/share/doc/openrc-*/net.example.bz2를 읽어보십시오.}} | ||
+ | |||
+ | [[Category:GentooTrans]] |
2013년 3월 27일 (수) 20:32 기준 최신판
기능 추가
표준 함수 훅
start/stop 함수 주변에서 호출 되는 네가지 함수를 /etc/conf.d/net에 정의할 수 있습니다. 이 함수들은 인터페이스 이름을 통해 먼저 호출되어 하나의 함수가 여러 개의 어댑터를 제어할 수 있습니다.
preup() 과 predown() 함수의 반환 값은 인터페이스의 설정이나 설정 해제를 계속할 수 있음을 표시하기 위해 0(성공)이 되어야 합니다. preup()의 반환 값이 0이 아니면 인터페이스 설정이 중지됩니다. predown()의 반환 값이 0이 아니면, 인터페이스의 설정을 더 이상 해제할 수 없게 됩니다.
postup()과 postdown()함수의 반환 값은 위에서 명시한 함수들이 실패했음을 나타낼 경우 더 이상 아무것도 하지 않으므로 무시됩니다.
${IFACE} 는 인터페이스를 올리고 내릴 때 설정합니다. ${IFVAR} 는 ${IFACE}를 배시에서 허용하는 변수 이름으로 변환한 값입니다.
코드 예제 1.1: /etc/confi.d/net pre/post up/down 함수 예제 |
preup() { # Test for link on the interface prior to bringing it up. This # only works on some network adapters and requires the ethtool # package to be installed. if ethtool ${IFACE} | grep -q 'Link detected: no'; then ewarn "No link on ${IFACE}, aborting configuration" return 1 fi # Remember to return 0 on success return 0 |
참고: 여러분의 함수 작성에 대한 더 많은 내용을 보시려면 /usr/share/doc/openrc-*/net.example.bz2를 읽어보십시오.
Wireless Tools 함수 훅
참고: 이 함수는 WPA Supplicant에서 동작하지 않습니다 - 그러나 ${ESSID}와 ${ESSIDVAR} 변수는 postup() 함수에서 사용할 수 있습니다.
associate 함수 주변에서 호출 되는 두가지 함수를 /etc/conf.d/net에 정의할 수 있습니다. 이 함수들은 인터페이스 이름을 통해 먼저 호출되어 하나의 함수가 여러 개의 어댑터를 제어할 수 있습니다.
preassociate() 함수의 반환 값은 인터페이스의 설정이나 설정 해제를 계속 할 수 있음을 표시하기 위해 0(성공)이 되어야 합니다. preassociate()의 반환 값이 0이 아니면 인터페이스 설정이 중지됩니다.
postassociate() 함수의 반환 값은 위에서 명시한 함수가 실패했음을 나타낼 경우 더 이상 아무것도 하지 않으므로 무시합니다.
${ESSID}는 여러분이 연결하려는 AP의 정확한 ESSID를 설정합니다. ${ESSIDVAR}는 ${ESSID}를 배시에서 허용하는 변수 이름으로 변환한 값입니다.
코드 예제 2.1: /etc/conf.d/net의 pre/post association 함수 |
preassociate() { # The below adds two configuration variables leap_user_ESSID # and leap_pass_ESSID. When they are both configured for the ESSID # being connected to then we run the CISCO LEAP script local user pass eval user=\"\$\{leap_user_${ESSIDVAR}\}\" eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\" if [[ -n ${user} && -n ${pass} ]]; then if [[ ! -x /opt/cisco/bin/leapscript ]]; then eend "For LEAP support, please emerge net-misc/cisco-aironet-client-utils" return 1 fi einfo "Waiting for LEAP Authentication on \"${ESSID//\\\\//}\"" if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then ewarn "Login Failed for ${user}" return 1 fi fi return 0 } postassociate() { # This function is mostly here for completeness... I haven't # thought of anything nifty to do with it yet ;-) return 0 } |
참고: ${ESSID}와 ${ESSIDVAR} 변수는 predown() 함수와 postdown() 함수에서 사용할 수 없습니다.
참고: 여러분의 함수 작성에 대한 더 많은 내용을 보시려면 /usr/share/doc/openrc-*/net.example.bz2를 읽어보십시오.