นี่เป็นเรื่องเกี่ยวกับ linux แต่ถ้าใครรู้วิธีการทั่วไป * น่าจะดี
ฉันบูทระบบเมื่อวานนี้โดยเสียบสายอีเธอร์เน็ต "NetworkManager" ไม่ได้ติดตั้งดังนั้นเมื่อมันเริ่มฉันจึงไปหาชื่อของอินเตอร์เฟสอีเธอร์เน็ตด้วยifconfig
เพื่อเริ่มไคลเอนต์ DHCP ด้วยตนเอง แต่มันไม่ได้แสดงอะไรอื่นนอกจากlo
.
NIC ถูกแสดงรายการผ่านlspci
และโหลดเคอร์เนลไดรเวอร์ที่เหมาะสม ระบบปกติใช้ WiFi, wlan0
และฉันจะจำชื่ออินเตอร์เฟซที่เป็น เมื่อฉันพยายามifconfig wlan0 up
, wlan0
ปรากฏ แต่เฉพาะชื่ออินเตอร์เฟซอีเธอร์เน็ตที่ฉันจะจำได้eth[N]
และem[N]
- ทั้งที่ทำงาน
เอกสารนี้อ้างถึง "ชื่ออินเทอร์เฟซที่สามารถคาดเดาได้" แต่ไม่สามารถอธิบายสิ่งที่พวกเขาอาจกล่าวได้ง่าย มันอ้างถึงชิ้นส่วนของซอร์สโค้ดซึ่งบอกเป็นนัยถึงชื่อในกรณีนี้อาจถูกอนุมานได้จากบัส PCI และหมายเลขสล็อตซึ่งดูเหมือนว่ายุ่งยากซับซ้อนโดยไม่จำเป็น
การค้นหารอบ ๆ ทำให้ฉันเชื่อว่าสิ่งนี้อาจถูกกำหนดโดยการsystemd
ใช้ร่วมกันudev
แต่มีไฟล์เกือบ 100 ไฟล์/usr/lib/udev/rules.d
และใช้เวลาหนึ่งชั่วโมงในการพิจารณาว่า (และถ้ามี) ไฟล์ปรับแต่ง systemd สำหรับเรื่องนี้ยังดูไร้สาระ
นอกจากนี้ยังเป็นการดีที่จะทราบว่าพวกเขาพร้อมใช้งานไม่ใช่แค่ว่าพวกเขาจะตั้งชื่ออย่างไรดังนั้นฉันจึงสามารถแยกแยะปัญหาฮาร์ดแวร์ ฯลฯไม่ได้มีวิธีง่ายๆในการค้นหาชื่อของอินเตอร์เฟสเครือข่ายที่มีอยู่ บน linux?
ip route
- ฉันเขียนคำถามนี้ในวันถัดไปหลังจากที่ปัญหาได้รับการแก้ไข (ดูคำตอบของฉันเอง); ฉันไม่ได้ติดนิสัยการใช้ip
และไม่ชอบหน้าคนสปาร์ตันมากเกินไปดังนั้นฉันอาจยอมแพ้หลังจากลองและเริ่มผ่าน/sys
เพราะฉันรู้ว่า kmod ถูกโหลดเป็นต้นและนี่เป็นเรื่องที่ง่ายกว่า ถึงฉัน. ฉันจะลบมันออกไปจากคำถามอย่างสมบูรณ์
ip link
แต่แล้วคุณยอมรับคำตอบที่แนะนำip link show
ซึ่งทำในสิ่งเดียวกัน ทำไม?