OnWorks Linux ແລະ Windows Online WorkStations

Logo

ໂຮດຕິ້ງອອນໄລນ໌ຟຣີສໍາລັບ WorkStations

<Previous | ເນື້ອໃນ | ຕໍ່ໄປ>

D.24. /sbin/ifup


#! / bin / sh

################################################ ######################

# ເລີ່ມຕົ້ນ /sbin/ifup

#

# ລາຍ​ລະ​ອຽດ : Interface Up

#

#! / bin / sh

################################################ ######################

# ເລີ່ມຕົ້ນ /sbin/ifup

#

# ລາຍ​ລະ​ອຽດ : Interface Up

#


# ຜູ້ຂຽນ

#

# ອັບເດດ

#

#

# ລຸ້ນ

#

# ໝາຍ ເຫດ

#

#

#

# ຜູ້ຂຽນ

#

# ອັບເດດ

#

#

# ລຸ້ນ

#

# ໝາຍ ເຫດ

#

#

#


################################################ ######################


ຂຶ້ນ()

{

################################################ ######################


ຂຶ້ນ()

{

ຮູບພາບເລັກນ້ອຍ


log_info_msg "ກຳລັງສ້າງສ່ວນຕິດຕໍ່ ${1}..."


ຖ້າລິ້ງ ip ສະແດງ $1 > /dev/null 2>&1; ຈາກນັ້ນ link_status=`ip link ສະແດງ $1`


ຖ້າ [ -n "${link_status}" ]; ແລ້ວ

ຖ້າ ! echo "${link_status}" | grep -q UP; ຫຼັງຈາກນັ້ນ, ການເຊື່ອມຕໍ່ ip ຕັ້ງຄ່າ $1

fi

fi


ອື່ນ

log_failure_msg "ອິນເຕີເຟດ ${IFACE} ບໍ່ມີຢູ່." ທາງອອກ 1

fi


ປະເມີນ_retval

}


ປ່ອຍ = "7.7"


USAGE="ການນຳໃຊ້: $0 [ -hV ] [--help] [--version] interface" VERSTR="LFS ifup, ລຸ້ນ ${RELEASE}"


ໃນຂະນະທີ່ [ $# -gt 0 ]; ເຮັດກໍລະນີ "$1" ໃນ

--ຊ່ວຍ | -h) help="y"; ແຕກ ;;


--ສະບັບ | -V) ສຽງສະທ້ອນ "${VERSTR}"; ອອກ 0 ;


-*) echo "ifup: ${1}: invalid option" >&2 echo "${USAGE}" >& 2

ທາງອອກ 2 ;


*) ແຕກ ;;

esac ເຮັດແລ້ວ


ຖ້າ [ -n "$help" ]; ຈາກນັ້ນ echo "${VERSTR}" echo "${USAGE}"

echo

cat << HERE_EOF

ifup ຖືກນໍາໃຊ້ເພື່ອນໍາເອົາການໂຕ້ຕອບເຄືອຂ່າຍ. ພາຣາມິເຕີການໂຕ້ຕອບ, ເຊັ່ນ: eth0 ຫຼື eth0:2, ຈະຕ້ອງກົງກັບສ່ວນຕໍ່ທ້າຍຂອງໄຟລ໌ຂໍ້ມູນສະເພາະຂອງສ່ວນຕິດຕໍ່, ຕົວຢ່າງ: /etc/sysconfig/ifconfig.eth0:2.


ທີ່ນີ້_EOF

ທາງອອກ 0

fi file=/etc/sysconfig/ifconfig.${1}

# ຂ້າມໄຟລ໌ສຳຮອງ

[ "${file}" = "${file%""~"}" ] || ທາງອອກ 0


. /lib/lsb/init-functions

ຮູບພາບເລັກນ້ອຍ


ຖ້າ [ ! -r "${file}" ]; ແລ້ວ

log_failure_msg "ບໍ່ສາມາດນໍາໄປໃຊ້ໃນການໂຕ້ຕອບ ${1} ໄດ້! ${file} ຫາຍໄປ ຫຼືບໍ່ສາມາດເຂົ້າໄດ້." ທາງອອກ 1

fi


. $file


ຖ້າ [ "$IFACE" = "" ]; ແລ້ວ

log_failure_msg "ບໍ່ສາມາດນໍາໄປໃຊ້ໃນການໂຕ້ຕອບ ${1} ໄດ້! ${file} ບໍ່ໄດ້ກໍານົດການໂຕ້ຕອບ [IFACE ອອກຈາກ 1

fi


# ຢ່າດໍາເນີນການບໍລິການນີ້ຖ້າເລີ່ມຕົ້ນໂດຍການບູດ, ແລະ ONBOOT

# ບໍ່ໄດ້ຕັ້ງເປັນແມ່ນ

ຖ້າ [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "ແມ່ນ" ]; ແລ້ວ

ທາງອອກ 0

fi


# ເອົາມາໃຫ້ເຖິງການໂຕ້ຕອບ

ຖ້າ [ "$VIRTINT" != "ແມ່ນ" ]; ຈາກນັ້ນຂຶ້ນ ${IFACE}

fi


ສໍາລັບ S ໃນ ${SERVICE}; ເຮັດ

ຖ້າ[! -x "/lib/services/${S}" ]; ຈາກນັ້ນ MSG="\nບໍ່ສາມາດປະມວນຜົນ ${file} ໄດ້. " MSG="${MSG}ການບໍລິການ '${S} ບໍ່ຢູ່" MSG="${MSG}ຫຼືບໍ່ສາມາດດໍາເນີນການໄດ້." log_failure_msg "$MSG"

ທາງອອກ 1

ສຳເລັດແລ້ວ


ຖ້າ [ "${SERVICE}" = "wpa" ]; ຫຼັງຈາກນັ້ນ, log_success_msg; ຟີ


# ສ້າງ/ກຳນົດຄ່າສ່ວນຕິດຕໍ່ຂອງ S ໃນ ${SERVICE}; ເຮັດ

IFCONFIG=${file} /lib/services/${S} ${IFACE} ສຳເລັດແລ້ວ


# ຕັ້ງຄ່າການເຊື່ອມຕໍ່ virtual interfaces ຖ້າ [ "${VIRTINT}" == "ແມ່ນ" ]; ແລ້ວ

ຂຶ້ນ ${IFACE}

fi


# ເອົາອົງປະກອບການໂຕ້ຕອບເພີ່ມເຕີມສໍາລັບ I ໃນ $INTERFACE_COMPONENTS; do up $I; ສຳເລັດແລ້ວ


# ຕັ້ງ MTU ຖ້າຮ້ອງຂໍ. ກວດເບິ່ງວ່າ MTU ມີມູນຄ່າ "ດີ". ຖ້າທົດສອບ -n "${MTU}"; ແລ້ວ

ຖ້າ [[ ${MTU} =~ ^[0-9]+$ ]] && [[ $MTU -ge 68 ]] ; ແລ້ວສຳລັບຂ້ອຍໃນ $IFACE $INTERFACE_COMPONENTS; ເຮັດ

ip link set dev $I mtu $MTU; ສຳເລັດແລ້ວ

ອື່ນ

log_info_msg2 "MTU $MTU ບໍ່ຖືກຕ້ອງ"



fi

fi


# ກຳນົດເສັ້ນທາງ gateway ເລີ່ມຕົ້ນຖ້າຮ້ອງຂໍຖ້າ [ -n "${GATEWAY}" ]; ແລ້ວ

ຖ້າເສັ້ນທາງ ip | grep -q ເລີ່ມຕົ້ນ; ແລ້ວ

log_warning_msg "ຕັ້ງຄ່າ Gateway ແລ້ວ; ຂ້າມ." ອື່ນ

log_info_msg "ການເພີ່ມ gateway ເລີ່ມຕົ້ນ ${GATEWAY} ໃສ່ສ່ວນຕິດຕໍ່ ${IFACE}..." ip route ເພີ່ມຄ່າເລີ່ມຕົ້ນຜ່ານ ${GATEWAY} dev ${IFACE}

ປະເມີນ_retval

fi

fi


# ສິ້ນສຸດ /sbin/ifup

fi

fi


# ກຳນົດເສັ້ນທາງ gateway ເລີ່ມຕົ້ນຖ້າຮ້ອງຂໍຖ້າ [ -n "${GATEWAY}" ]; ແລ້ວ

ຖ້າເສັ້ນທາງ ip | grep -q ເລີ່ມຕົ້ນ; ແລ້ວ

log_warning_msg "ຕັ້ງຄ່າ Gateway ແລ້ວ; ຂ້າມ." ອື່ນ

log_info_msg "ການເພີ່ມ gateway ເລີ່ມຕົ້ນ ${GATEWAY} ໃສ່ສ່ວນຕິດຕໍ່ ${IFACE}..." ip route ເພີ່ມຄ່າເລີ່ມຕົ້ນຜ່ານ ${GATEWAY} dev ${IFACE}

ປະເມີນ_retval

fi

fi


# ສິ້ນສຸດ /sbin/ifup


ຮູບພາບເລັກນ້ອຍ

ຮູບພາບເລັກນ້ອຍ

: Nathan Coulson - [email protected] Kevin P. Fleming - [email protected]

: Bruce Dubbs - [email protected]

: Nathan Coulson - [email protected] Kevin P. Fleming - [email protected]

: Bruce Dubbs - [email protected]

: LFS 7.0


: ຕົວແປ IFCONFIG ຖືກສົ່ງໄປຫາສະຄຣິບທີ່ພົບເຫັນ

ໃນໄດເລກະທໍລີ /lib/services, ເພື່ອຊີ້ບອກເຖິງໄຟລ໌ໃດທີ່ບໍລິການຄວນມີແຫຼ່ງເພື່ອໃຫ້ໄດ້ຂໍ້ມູນສະເພາະຂອງການໂຕ້ຕອບ.

: LFS 7.0


: ຕົວແປ IFCONFIG ຖືກສົ່ງໄປຫາສະຄຣິບທີ່ພົບເຫັນ

ໃນໄດເລກະທໍລີ /lib/services, ເພື່ອຊີ້ບອກເຖິງໄຟລ໌ໃດທີ່ບໍລິການຄວນມີແຫຼ່ງເພື່ອໃຫ້ໄດ້ຂໍ້ມູນສະເພາະຂອງການໂຕ້ຕອບ.

OS Cloud Computing ຍອດນິຍົມຢູ່ OnWorks: