!["일관된 네트워크 장치 이름 지정"을 사용할 수 있는지 확인](https://linux55.com/image/160408/%22%EC%9D%BC%EA%B4%80%EB%90%9C%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%EC%9E%A5%EC%B9%98%20%EC%9D%B4%EB%A6%84%20%EC%A7%80%EC%A0%95%22%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%EC%A7%80%20%ED%99%95%EC%9D%B8.png)
여러 시스템(더 정확하게는 두 개)에서 특정 네트워크 인터페이스의 이름을 알아야 하는 사용자 정의 소프트웨어가 있는데, "일관된 네트워크 장치 이름 지정"을 비활성화하는 등 아무것도 변경할 수 없습니다. 일부 시스템에서는 Network Manager의 이 새로운 기능을 사용하지만 다른 시스템에서는 일관된 네트워크 장치 이름 지정이 장치에서 사용 가능하고 활성화되었는지 확인하는 방법을 모릅니다.
100% 작동하는 시스템 버전을 사용할 수 있지만 이는 매우 해킹된 솔루션이므로 기능이 실행 중인지 알려주는 일종의 Linux 명령과 같은 좀 더 우아한 것이 필요합니다.
시스템은 ubuntu 16.04(이전 이름 지정 체계를 사용하는 시스템) 및 CentOS 7(일관된 네트워크 장치 이름 지정을 사용하는 시스템)입니다.
답변1
장치가 존재하는지 테스트
가장 쉬운 방법은 네트워크 장치의 존재 여부와 이름을 테스트하는 것입니다. 그래서, 실행
ip l
그런 다음 네트워크 장치 eth0
등이 존재하는 경우 이전 명명 체계를 갖게 됩니다 eth1
. wlan0
이름이 더 길면 enp[0-9]s[0-9]
새롭고 일관된 구성표를 사용할 수 있습니다.
이를 스크립팅하려면 테스트할 수 있습니다(여기서 이더넷 테스트).
# test for new, consistent naming scheme
if ( "`ip l | egrep 'enp[0-9][1-9]?s[0-9][1-9]?:' | wc -l`" != "0" ) then
(쉘 if
구문을 계속 사용하십시오. 당신이 무엇을 가지고 있는지 모르겠습니다).
또는 (기존 이더넷 및 Wi-Fi 테스트):
# test for old naming scheme
if ( "`ip l | egrep '(eth|wlan)[0-9][1-9]?:' | wc -l`" != "0" ) then
오래된 솔루션을 테스트하기 위해.
실제로 systemd
테스트하고 싶을 수도 있지만 systemd
구성을 통해 기본 동작을 변경할 수 있습니다.