கையேடு:Alpha/வலையமைத்தல்/சேர்த்தல்
தரமான செயற்கூறு கொக்கிகள்
தொடக்க/நிறுத்த செயல்பாடுகளைச் சுற்றியுள்ளது என அழைக்கப்படும் நான்கு செயற்கூறுகளை /etc/conf.d/net கோப்பில் வரையறுக்கலாம். இந்த செயற்கூறுகளானது இடைமுக பெயரை முதலாகக் கொண்டு அழைக்கப்படும். இதன்மூலம் ஒரு செயல்கூறால் பல தகவிகளை கட்டுப்படுத்த இயலும்.
இடைமுகத்தின் உள்ளமைவு அல்லது உள்ளமைவு-இன்மை தொடரலாம் என்பதைக் காட்டுவதற்கு preup()
மற்றும் predown()
செயலாற்றிகளின் திரும்பு மதிப்புகள் 0 (வெற்றி) ஆக இருக்க வேண்டும். preup()
ஆனது ஒரு சுழியம்-அல்லாத மதிப்பைத் திரும்பி அளித்தால், இடைமுக உள்ளமைவு நிறுத்தப்பட்டுவிடும். predown()
ஆனது ஒரு சுழியம்-அல்லாத மதிப்பைத் திரும்பி அளித்தால், உள்ளமைவு-இன்மையைத் தொடர்வதற்கு இடைமுகத்தை அனுமதிக்காது.
postup()
மற்றும் postdown()
செயலாற்றியின் திரும்பு மதிப்புகள் தோல்வியைச் சுட்டிக்காட்டினாலும் அவற்றை ஒன்றும் செய்யத் தேவையில்லை என்பதால் அவை தவிர்க்கப்பட்டுள்ளது.
${IFACE} ஆனது செயல்படுத்தப்படும்/செயலணைக்கப்படும் இடைமுகத்திற்கு அமைக்கப்பட்டுள்ளது. ${IFVAR} ஆனது பாஷ் ஆல் அனுமதிக்கப்படும் மாறி பெயராக மாற்றப்பட்டுள்ள ${IFACE} ஆகும்.
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} ஆகும்.
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 ஐ படிக்கவும்.