கையேடு:MIPS/வலையமைத்தல்/சேர்த்தல்
தரமான செயற்கூறு கொக்கிகள்
தொடக்க/நிறுத்த செயல்பாடுகளைச் சுற்றியுள்ளது என அழைக்கப்படும் நான்கு செயற்கூறுகளை /etc/conf.d/net கோப்பில் வரையறுக்கலாம். இந்த செயற்கூறுகளானது இடைமுக பெயரை முதலாகக் கொண்டு அழைக்கப்படும். இதன்மூலம் ஒரு செயல்கூறால் பல தகவிகளை கட்டுப்படுத்த இயலும்.
இடைமுகத்தின் உள்ளமைவு அல்லது உள்ளமைவு-இன்மை தொடரலாம் என்பதைக் காட்டுவதற்கு preup()
மற்றும் predown()
செயலாற்றிகளின் திரும்பு மதிப்புகள் 0 (வெற்றி) ஆக இருக்க வேண்டும். preup()
ஆனது ஒரு சுழியம்-அல்லாத மதிப்பைத் திரும்பி அளித்தால், இடைமுக உள்ளமைவு நிறுத்தப்பட்டுவிடும். predown()
ஆனது ஒரு சுழியம்-அல்லாத மதிப்பைத் திரும்பி அளித்தால், உள்ளமைவு-இன்மையைத் தொடர்வதற்கு இடைமுகத்தை அனுமதிக்காது.
postup()
மற்றும் postdown()
செயலாற்றியின் திரும்பு மதிப்புகள் தோல்வியைச் சுட்டிக்காட்டினாலும் அவற்றை ஒன்றும் செய்யத் தேவையில்லை என்பதால் அவை தவிர்க்கப்பட்டுள்ளது.
${IFACE} ஆனது செயல்படுத்தப்படும்/செயலணைக்கப்படும் இடைமுகத்திற்கு அமைக்கப்பட்டுள்ளது. ${IFVAR} ஆனது பாஷ் ஆல் அனுமதிக்கப்படும் மாறி பெயராக மாற்றப்பட்டுள்ள ${IFACE} ஆகும்.
/etc/conf.d/net
முன்/பின் செயல்படுதல்/செயலிழத்தல் செயலாற்றிகளின் எடுத்துக்காட்டுக்கள்preup() { # இடைமுகத்தைச் செயல்பாட்டிற்குக் கொண்டு வருவதற்கு # முன் அதன் இணைப்பைச் சோதிக்கிறது. இது சில வலையமைப்பு # தகவிகளில் மட்டுமே வேலை செய்யும். மேலும் இது சரியாக # வேலை செய்வதற்கு ethtool என்னும் தொகுப்பு நிறுவப்பட்டிருக்க வேண்டும். if ethtool ${IFACE} | grep -q 'Link detected: no'; then ewarn "No link on ${IFACE}, aborting configuration" return 1 fi # வெற்றியடைந்த பின் 0 விற்கு திரும்புவதற்கு return 0 } predown() { # NFS root ற்காக சோதித்து, செயலிழக்கும் இடைமுகங்களுக்கான அனுமதியை # மறுப்பதே இந்த குறுநிரலின் முன்னிருப்பாகும். predown() செயலாற்றியை # நீங்கள் குறிப்பிட்டால், இந்த ஏரணத்தை நீங்கள் மேலெழுத கூடும் என்பதை # நினைவில் வைத்துக்கொள்ளவும். # இருப்பினும் உங்களுக்கு இது தேவை என்றால், இதோ... if is_net_fs /; then eerror "root filesystem is network mounted -- can't stop ${IFACE}" return 1 fi # வெற்றியடைந்த பின் 0 விற்கு திரும்புவதற்கு return 0 } postup() { # இந்த செயலாற்றியை கொண்டு ஒரு இயங்குநிலை DNS சேவையைப் # பதிவு செய்யப் பயன்படுத்தலாம். மேலும், இடைமுகம் செயல்பாட்டிற்கு # வந்தபின் இதன்மூலம் அஞ்சல்களை அனுப்ப/பெறப் பயன்படுத்தலாம். return 0 } postdown() { # இந்த செயற்கூறு முழுமை பெறுவதற்காக வேண்டி இங்கு உள்ளது... # இதில் என்ன வில்லங்கமாகச் செய்யலாம் என்று இன்னும் நான் # தீர்மானிக்கவில்லை ;-) return 0 }
செயற்கூறுகளை எழுதுவதைப் பற்றி மேலும் தகவல்களை அறிந்து கொள்ள, /usr/share/doc/netifrc-*/net.example.bz2 ஐ படிக்கவும்
கம்பியில்லா கருவிகள் செயற்கூறு கொக்கிகள்
இது WPA Supplicant உடன் வேலை செய்யாது - ஆனால்
postup()
செயற்கூறில் ${ESSID} மற்றும் ${ESSIDVAR} ஆகிய இரண்டு மாறிகளும் கிடைக்கும்.கூட்டு செயல்பாடுகளைச் சுற்றியுள்ளது என அழைக்கப்படும் இரண்டு செயற்கூறுகளை /etc/conf.d/net கோப்பில் வரையறுக்கலாம். இந்த செயற்கூறுகளானது இடைமுக பெயரை முதலாகக் கொண்டு அழைக்கப்படும். இதன்மூலம் ஒரு செயல்கூறால் பல தகவிகளை கட்டுப்படுத்த இயலும்.
இடைமுகத்தின் உள்ளமைவு அல்லது உள்ளமைவு-இன்மை தொடரலாம் என்பதைக் காட்டுவதற்கு preassociate()
செயலாற்றிகளின் திரும்பு மதிப்புகள் 0 (வெற்றி) ஆக இருக்க வேண்டும். preassociate()
ஆனது ஒரு சுழியம்-அல்லாத மதிப்பைத் திரும்பி அளித்தால், இடைமுக உள்ளமைவு நிறுத்தப்பட்டுவிடும்.
postassociate()
செயலாற்றியின் திரும்பு மதிப்புகள் தோல்வியைச் சுட்டிக்காட்டினாலும் அவற்றை ஒன்றும் செய்யத் தேவையில்லை என்பதால் அவை தவிர்க்கப்பட்டுள்ளது.
${ESSID} ஆனது முறைமை இணைக்கப்பட்டுள்ள அணுகல் புள்ளியின் ESSID க்கு அமைக்கப்பட்டுள்ளது. ${ESSIDVAR} ஆனது பாஷ் ஆல் அனுமதிக்கப்படும் மாறி பெயராக மாற்றப்பட்டுள்ள ${ESSID} ஆகும்.
/etc/conf.d/net
முன்/பின் கூட்டமைப்பு செயற்கூறுகள்preassociate() { # கீழுள்ளது leap_user_ESSID மற்றும் leap_pass_ESSID ஆகிய # இரண்டு உள்ளமைவு மாறிகளைச் சேர்க்கிறது. இவை இரண்டும் # இணைக்கப்படவுள்ள ESSID க்காக உள்ளமைக்கப்பட்டவுடன் நாம் # CISCO LEAP குறுநிரலை இயக்குவோம். 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() { # இந்த செயற்கூறு முழுமை பெருவதற்காக வேண்டி இங்கு உள்ளது... # இதில் என்ன வில்லங்கமாக செய்யலாம் என்று இன்னும் நான் # தீர்மானிக்கவில்லை ;-) return 0 }
predown()
மற்றும் postdown()
செயற்கூறுகளில் ${ESSID} மற்றும் ${ESSIDVAR} ஆனது கிடைக்கவில்லை.தனிப்பயன் செயற்கூறுகளை எழுதுவதைப் பற்றி மேலும் தகவல்களை அறிந்து கொள்ள, /usr/share/doc/netifrc-*/net.example.bz2 ஐ படிக்கவும்.