일관되고 예측 가능한 장치 명명의 이론적 근거와 장치 이름 생성 규칙에 대해 설명하는 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/를 보았습니다 .
* Two character prefixes based on the type of interface:
* en -- ethernet
* sl -- serial line IP (slip)
* wl -- wlan
* ww -- wwan
*
* Type of names:
* b<number> -- BCMA bus core number
* ccw<name> -- CCW bus group name
* o<index> -- on-board device index number
* s<slot>[f<function>][d<dev_port>] -- hotplug slot index number
* x<MAC> -- MAC address
* [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>]
* -- PCI geographical location
* [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]
* -- USB port number chain
내가 장치를 가지고 있다고 가정 해 봅시다 eno16777736
. 왜 그렇게 불리는가? 이더넷 카드예요. 하지만이 인터페이스 이름의 나머지 부분을 어떻게 다시 확인할 수 있습니까?
나는 검사 /sys/class/net/eno16777736
하고 보았다.
eno16777736 -> ../../devices/pci0000:00/0000:00:11.0/0000:02:01.0/net/eno16777736
이것을 해석하는 방법 또는이 정보를 사용하여에 도달 할 수 있는지 잘 모르겠습니다 eno16777736
.
최신 정보
따라서 16777736
장치의 acpi_index
입니다. 당 https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-bus-pci :
What: /sys/bus/pci/devices/.../acpi_index
Date: July 2010
Contact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
Description:
Reading this attribute will provide the firmware
given instance (ACPI _DSM instance number) of the PCI device.
The attribute will be created only if the firmware has given
an instance number to the PCI device. ACPI _DSM instance number
will be given priority if the system firmware provides SMBIOS
type 41 device type instance also.
그리고 실제로 :
core@localhost /sys/devices/pci0000:00/0000:00:11.0/0000:02:01.0 $ find . -type f | xargs grep 1677 2> /dev/null
./net/eno16777736/uevent:INTERFACE=eno16777736
./acpi_index:16777736
또한 다음에서 ifconfig
또는 ip link
장치와의 출력을 조정하려면 다음을 수행하십시오 lspci
.
$ ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.37 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fe70:c039 prefixlen 64 scopeid 0x20<link>
inet6 2601:a:7c0:66:20c:29ff:fe70:c039 prefixlen 64 scopeid 0x0<global>
ether 00:0c:29:70:c0:39 txqueuelen 1000 (Ethernet)
RX packets 326 bytes 37358 (36.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 172 bytes 45999 (44.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2000
“장치 인터럽트 19″에 주목하십시오. 그리고 lspci -v
“IRQ 19″가있는에서 :
02:01.0 Ethernet controller: Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev 10)
Subsystem: Advanced Micro Devices, Inc. [AMD] PCnet - Fast 79C971
Physical Slot: 33
Flags: bus master, medium devsel, latency 64, IRQ 19
I/O ports at 2000 [size=128]
[virtual] Expansion ROM at fd500000 [disabled] [size=64K]
Kernel driver in use: pcnet32
여기에는 “Phyiscal Slot 33″도 표시되며 실제로 VMWare ens33
는 인터페이스 이름으로 사용되는 VM을 부팅 합니다. 따라서 다른 시간에 eno16777736을 선택하는 이유는 확실하지 않습니다. 그러나 16777736은에서 acpi_index
, 33은 PCI 슬롯에서 제공됩니다.
답변
en
이더넷 용
o
온보드
16777736
펌웨어 (BIOS / EFI)에서 제공 한 장치의 인덱스입니다. 에서 색인을 시작하는 것이 논리적이었을 것 1
입니다. 또는 합리적인 펌웨어와 1,600 만 대 이상의 온보드 장치가 있습니다! 그러나 VMware Community 에서 문제가 제기되었지만 답변되지 않은 것으로 보입니다 acpi_index
.
다음 udev
을 사용하여 시스템에 대한 유사한 정보를 볼 수 있습니다 .
udevadm info --name=/dev/eno16777736 --attribute-walk
답변
VMware를 사용하십니까?
유닉스 Stackexchange 사이트는 질의 응답이 있었다 이것에 대해합니다. NIC에 대한 정보가 BIOS에서 제공되고있는 것 같습니다.
eth0
다른 이름 으로 바꾸려면 udev를 사용하면됩니다. 여기에 편리한 가이드 가 있습니다.