<ก่อนหน้านี้ | Contents | ถัดไป>
ง.24. /sbin/ifup
# / bin / sh
#################################################### ############################
# เริ่มต้น /sbin/ifup
#
# Description : อินเตอร์เฟสขึ้น
#
# / bin / sh
#################################################### ############################
# เริ่มต้น /sbin/ifup
#
# Description : อินเตอร์เฟสขึ้น
#
#ผู้เขียน
#
# อัปเดต
#
#
# เวอร์ชั่น
#
# หมายเหตุ
#
#
#
#ผู้เขียน
#
# อัปเดต
#
#
# เวอร์ชั่น
#
# หมายเหตุ
#
#
#
#################################################### ############################
ขึ้น()
{
#################################################### ############################
ขึ้น()
{
log_info_msg "กำลังเรียกอินเทอร์เฟซ ${1}..."
ถ้าลิงค์ ip แสดง $1 > /dev/null 2>&1; จากนั้น link_status=`ip ลิงก์แสดง $1`
ถ้า [ -n "${link_status}" ]; แล้ว
ถ้า ! echo "${link_status}" | grep -q ขึ้น; จากนั้น ip link ตั้งค่า $1 ขึ้น
fi
fi
อื่น
log_failure_msg "ไม่มีอินเทอร์เฟซ ${IFACE}" ทางออก 1
fi
ประเมิน_retval
}
ปล่อย="7.7"
USAGE="การใช้งาน: $0 [ -hV ] [--help] [--version] อินเทอร์เฟซ" VERSTR="LFS ifup รุ่น ${RELEASE}"
ในขณะที่ [ $# -gt 0 ]; ทำกรณี "$1" ใน
--help | -h) help="y"; หยุดพัก ;;
--รุ่น | -V) echo "${VERSTR}"; ทางออก 0 ;;
-*) echo "ifup: ${1}: ตัวเลือกที่ไม่ถูกต้อง" >&2 echo "${USAGE}" >& 2
ทางออก 2 ;;
*) หยุดพัก ;;
เสร็จแล้ว
ถ้า [ -n "$help" ]; จากนั้น echo "${VERSTR}" echo "${USAGE}"
เสียงสะท้อน
แมว << HERE_EOF
ifup ใช้เพื่อเรียกใช้อินเทอร์เฟซเครือข่าย พารามิเตอร์อินเทอร์เฟซ เช่น eth0 หรือ eth0:2 ต้องตรงกับส่วนท้ายของไฟล์ข้อกำหนดอินเทอร์เฟซ เช่น /etc/sysconfig/ifconfig.eth0:2
ที่นี่_EOF
ทางออก 0
ไฟล์ fi=/etc/sysconfig/ifconfig.${1}
# ข้ามไฟล์สำรอง
[ "${file}" = "${file%""~""}" ] || ทางออก 0
- /lib/lsb/init-functions
ถ้า [ ! -r "${file}" ]; แล้ว
log_failure_msg "ไม่สามารถเปิดอินเทอร์เฟซ ${1} ได้! ${file} หายไปหรือไม่สามารถเข้าถึงได้" ทางออก 1
fi
. $ไฟล์
ถ้า [ "$IFACE" = "" ]; แล้ว
log_failure_msg "ไม่สามารถเปิดอินเทอร์เฟซ ${1} ได้! ${file} ไม่ได้กำหนดอินเทอร์เฟซ [IFACE exit 1
fi
# อย่าประมวลผลบริการนี้หากเริ่มต้นด้วยการบูตและ ONBOOT
#ไม่ได้ตั้งค่าเป็นใช่
ถ้า [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "ใช่" ]; แล้ว
ทางออก 0
fi
# เปิดอินเทอร์เฟซ
ถ้า [ "$VIRTINT" != "ใช่" ]; จากนั้นขึ้น ${IFACE}
fi
สำหรับ S ใน ${SERVICE}; ทำ
ถ้า[ ! -x "/lib/services/${S}" ]; จากนั้น MSG="\nไม่สามารถประมวลผล ${file} ได้ ทั้ง " MSG="${MSG}the SERVICE '${S} ไม่มีอยู่ " MSG="${MSG}หรือไม่สามารถดำเนินการได้" log_failure_msg "$MSG"
ทางออก 1
เสร็จแล้ว
ถ้า [ "${SERVICE}" = "wpa" ]; จากนั้น log_success_msg; fi
# สร้าง/กำหนดค่าอินเทอร์เฟซสำหรับ S ใน ${SERVICE}; ทำ
IFCONFIG=${file} /lib/services/${S} ${IFACE} เสร็จแล้ว
# ตั้งค่าลิงค์อินเทอร์เฟซเสมือนถ้า [ "${VIRTINT}" == "ใช่" ]; แล้ว
เพิ่มขึ้น ${IFACE}
fi
# เรียกส่วนประกอบอินเทอร์เฟซเพิ่มเติมใด ๆ สำหรับฉันใน $INTERFACE_COMPONENTS; ทำขึ้น $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
# ตั้งค่าเกตเวย์เริ่มต้นของเส้นทางหากได้รับการร้องขอหาก [ -n "${GATEWAY}" ]; แล้ว
ถ้าเส้นทาง ip | grep -q ค่าเริ่มต้น; แล้ว
log_warning_msg "เกตเวย์ตั้งค่าแล้ว กำลังข้าม" อื่น
log_info_msg "กำลังเพิ่มเกตเวย์เริ่มต้น ${GATEWAY} ให้กับอินเทอร์เฟซ ${IFACE}..." เส้นทาง IP เพิ่มค่าเริ่มต้นผ่าน ${GATEWAY} dev ${IFACE}
ประเมิน_retval
fi
fi
# จบ /sbin/ifup
fi
fi
# ตั้งค่าเกตเวย์เริ่มต้นของเส้นทางหากได้รับการร้องขอหาก [ -n "${GATEWAY}" ]; แล้ว
ถ้าเส้นทาง ip | grep -q ค่าเริ่มต้น; แล้ว
log_warning_msg "เกตเวย์ตั้งค่าแล้ว กำลังข้าม" อื่น
log_info_msg "กำลังเพิ่มเกตเวย์เริ่มต้น ${GATEWAY} ให้กับอินเทอร์เฟซ ${IFACE}..." เส้นทาง IP เพิ่มค่าเริ่มต้นผ่าน ${GATEWAY} dev ${IFACE}
ประเมิน_retval
fi
fi
# จบ /sbin/ifup
: นาธาน โคลสัน - [ป้องกันอีเมล] เควิน พี. เฟลมมิง- [ป้องกันอีเมล]
: บรูซ ดับบ์ส - [ป้องกันอีเมล]
: นาธาน โคลสัน - [ป้องกันอีเมล] เควิน พี. เฟลมมิง- [ป้องกันอีเมล]
: บรูซ ดับบ์ส - [ป้องกันอีเมล]
: แอลเอฟเอส 7.0
: ตัวแปร IFCONFIG ถูกส่งไปยังสคริปต์ที่พบ
ในไดเร็กทอรี /lib/services เพื่อระบุว่าไฟล์ใดที่บริการควรเป็นแหล่งที่มาเพื่อรับข้อมูลจำเพาะของอินเตอร์เฟส
: แอลเอฟเอส 7.0
: ตัวแปร IFCONFIG ถูกส่งไปยังสคริปต์ที่พบ
ในไดเร็กทอรี /lib/services เพื่อระบุว่าไฟล์ใดที่บริการควรเป็นแหล่งที่มาเพื่อรับข้อมูลจำเพาะของอินเตอร์เฟส