Определить, доступно ли "согласованное присвоение имен сетевым устройствам"

Последние версии Linux perf позволяют указывать noneкак "тип" цепочки вызовов. Итак, чтобы добиться того, что вам нужно, вы должны запустить perf reportследующим образом:

perf report -g none --no-children...

Обратите внимание, что в документации(man perf report)эта опция может не упоминаться.

0
09.09.2019, 16:48
1 ответ

Тест на наличие устройств

Проще всего проверить наличие сетевых устройств и их имена. Итак, выполняем

ip l

Затем, если сетевые устройства eth0или eth1и т. д. или wlan0и т. д. существуют, используется старая схема именования. Если у вас более длинные имена, такие как enp[0-9]s[0-9], значит у вас активна новая согласованная схема.

Чтобы написать это, вы можете протестировать (тестирование для Ethernet здесь):

# 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вашей оболочки, я не знаю, что у вас есть ).

Или (тестирование старых Ethernet и Wi-Fi -Fi):

# test for old naming scheme
if ( "`ip l | egrep '(eth|wlan)[0-9][1-9]?:' | wc -l`" != "0" ) then

для проверки старых схем.

На самом деле, поскольку он является частью systemd, может возникнуть соблазн проверить его существование, но поведение systemdпо умолчанию может быть изменено конфигурацией.

0
28.01.2020, 03:18

Теги

Похожие вопросы