1

Пробираясь сквозь птичье гнездо инициализации сети в нашей установке встроенного Linux (Linux SDK на Leopardboard SBC), мы натолкнулись на странную и, возможно, неработающую строку в /etc /network /interfaces:

# Wired or wireless interfaces
auto eth0
iface eth0 inet dhcp
        pre-up /bin/grep -v -e "ip=[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+" /proc/cmdline > /dev/null

Теперь, cmdline ядра в этой системе может содержать строку «ip = 192.168.2.1» или некоторый другой адрес, но эта строка специально игнорирует его, если он совпадает (grep -v = показывать только несовпадающие строки). Кроме того, он перенаправляет его в /dev /null, так что в любом случае это может показаться бесполезным.

Кто-нибудь видел что-то подобное или получил какие-либо идеи о том, что он может делать / может быть предназначен, кроме ничего?

1 ответ1

4

Из man interfaces:

       pre-up command
          Run command before bringing the interface up.  If  this  command
          fails then ifup aborts, refraining from marking the interface as
          configured, prints an error message, and exits  with  status  0.
          This behavior may change in the future.

Оттуда я бы предположил, что указанная вами команда в основном является тестом, предназначенным для прерывания ifup и перенастройки интерфейса, если в ip=... уже есть строка cmdline Перенаправление на /dev/null применяется к сообщению об ошибке перед загрузкой, а не к grep.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .