반응형
부제: BIOS·SMBIOS 정보로 물리 NIC의 일관된 이름을 알아낸다
biosdevname -i enp6s18 # 인터페이스의 BIOS 기반 이름
biosdevname -v # 버전 확인
biosdevname -i eth0 # (참고) 예전 방식 인터페이스명
Usage: biosdevname [options] [args]...
Example: biosdevname -i eth0
returns: em1
when eth0 is an embedded NIC with label '1' on the chassis.
You must be root to run this, as it must read from /dev/mem.biosdevname은 서버의 BIOS·SMBIOS와 PCI 슬롯 정보를 읽어, 물리적 위치가 고정된 예측 가능한 네트워크 인터페이스 이름을 만들어 주는 도구다. 메인보드에 내장된 NIC은 em1, 확장 슬롯 카드는 p1p1 식으로 매핑해, eth0이 재부팅마다 바뀌던 문제를 잡으려고 나왔다.
다만 위 Rocky VM에서 biosdevname -i enp6s18은 아무것도 출력하지 않고 종료 코드 4로 끝난다. 정상이다. KVM/virtio 가상 NIC은 실제 서버처럼 BIOS가 제공하는 슬롯·라벨 정보가 없어서 이름을 지어낼 근거가 없기 때문이다. 즉 이 도구는 물리 서버(특히 Dell 계열)에서 의미가 있다. 요즘 RHEL은 systemd의 예측 가능한 이름(enp6s18 같은 enpXsY 형식)이 기본이라 biosdevname 의존도는 낮아졌지만, 물리 장비의 NIC 라벨을 확인할 때 여전히 쓴다.
이렇게도 쓴다
설치된 biosdevname 버전을 확인한다.
biosdevname -v
물리 NIC만 대상으로 이름 규칙을 적용한다(정책 지정).
biosdevname -i -p physical enp6s18
내장 NIC 접두어를 em 대신 다른 문자열로 바꿔 본다.
biosdevname -i -P nic enp6s18
시스템의 모든 인터페이스에 대해 BIOS 이름을 한 번에 조회한다(조합용).
for n in $(ls /sys/class/net); do echo "$n -> $(biosdevname -i $n 2>/dev/null)"; done
디버그 출력으로 어떤 SMBIOS 정보를 읽는지 들여다본다.
biosdevname -d -i enp6s18
biosdevname이 어느 패키지에서 왔는지 확인한다.
rpm -qf $(which biosdevname)반응형
'명령어 > Linux' 카테고리의 다른 글
| [RHEL] buildah 도커파일 없이 이미지 빌드하기 (0) | 2026.07.18 |
|---|---|
| [RHEL] grub2-editenv 부트 환경 변수 편집 (0) | 2026.07.18 |
| [RHEL] getsebool SELinux 불린 현재 값 조회 (1) | 2026.07.18 |
| [RHEL] getenforce 현재 SELinux 모드 확인 (0) | 2026.07.18 |
| [RHEL] fixfiles 파일시스템 라벨 점검·복원 (0) | 2026.07.18 |