Обнаружение того, управляет ли netplan сетевой конфигурацией (оболочкой)

Маркер () указывает интерпретатору оболочки, что вы объявляете функцию.

$ do_something () { echo 'do it'; } ; do_something
do it

Альтернативой в bash является function

function do_something {
 echo 'do it'
}
[d2 ] или как однострочный, вы можете проверить

$ bash -c "function do_something { echo 'do it'; } ; do_something"
do it
1
задан 8 May 2018 в 16:52

5 ответов

Возможно, вы сможете проверить файл ifstate из ifupdown, который скажет вам, было ли это то, что было использовано для настройки сети:

/run/network/ifstate

Если это и есть текст, вы можете ожидайте, что ifupdown используется. Если этого нет, система, скорее всего, управляется через netplan (но это не скажет вам, является ли это NetworkManager или systemd)

Затем, если вы хотите знать, какой бэкэнд используется для определенного интерфейса, вы может запросить netplan и проанализировать вывод, чтобы получить необходимую информацию:

netplan generate --mapping enp3s0

Он выводит текст следующим образом:

id=enp3s0, backend=NetworkManager, set_name=(null), match_name=enp3s0, match_mac=(null), match_driver=(null)

Таким образом вы также можете узнать, правила интерфейса были настроены (вы используете «окончательное» имя интерфейса для проверки соответствия, оно сообщает вам, какое совпадающее правило находится в netplan YAML, который соответствует ему).

0
ответ дан 22 May 2018 в 10:53
  • 1
    Благодарим вас за подробный ответ. Теперь я ищу / run / network / ifstate, чтобы выяснить, какую конфигурацию сети писать, и все, кажется, работает хорошо :) – Arni J 13 May 2018 в 22:49

Возможно, вы сможете проверить файл ifstate из ifupdown, который скажет вам, было ли это то, что было использовано для настройки сети:

/run/network/ifstate

Если это и есть текст, вы можете ожидайте, что ifupdown используется. Если этого нет, система, скорее всего, управляется через netplan (но это не скажет вам, является ли это NetworkManager или systemd)

Затем, если вы хотите знать, какой бэкэнд используется для определенного интерфейса, вы может запросить netplan и проанализировать вывод, чтобы получить необходимую информацию:

netplan generate --mapping enp3s0

Он выводит текст следующим образом:

id=enp3s0, backend=NetworkManager, set_name=(null), match_name=enp3s0, match_mac=(null), match_driver=(null)

Таким образом вы также можете узнать, правила интерфейса были настроены (вы используете «окончательное» имя интерфейса для проверки соответствия, оно сообщает вам, какое совпадающее правило находится в netplan YAML, который соответствует ему).

1
ответ дан 17 July 2018 в 14:53

Возможно, вы сможете проверить файл ifstate из ifupdown, который скажет вам, было ли это то, что было использовано для настройки сети:

/run/network/ifstate

Если это и есть текст, вы можете ожидайте, что ifupdown используется. Если этого нет, система, скорее всего, управляется через netplan (но это не скажет вам, является ли это NetworkManager или systemd)

Затем, если вы хотите знать, какой бэкэнд используется для определенного интерфейса, вы может запросить netplan и проанализировать вывод, чтобы получить необходимую информацию:

netplan generate --mapping enp3s0

Он выводит текст следующим образом:

id=enp3s0, backend=NetworkManager, set_name=(null), match_name=enp3s0, match_mac=(null), match_driver=(null)

Таким образом вы также можете узнать, правила интерфейса были настроены (вы используете «окончательное» имя интерфейса для проверки соответствия, оно сообщает вам, какое совпадающее правило находится в netplan YAML, который соответствует ему).

1
ответ дан 20 July 2018 в 14:55

Возможно, вы сможете проверить файл ifstate из ifupdown, который скажет вам, было ли это то, что было использовано для настройки сети:

/run/network/ifstate

Если это и есть текст, вы можете ожидайте, что ifupdown используется. Если этого нет, система, скорее всего, управляется через netplan (но это не скажет вам, является ли это NetworkManager или systemd)

Затем, если вы хотите знать, какой бэкэнд используется для определенного интерфейса, вы может запросить netplan и проанализировать вывод, чтобы получить необходимую информацию:

netplan generate --mapping enp3s0

Он выводит текст следующим образом:

id=enp3s0, backend=NetworkManager, set_name=(null), match_name=enp3s0, match_mac=(null), match_driver=(null)

Таким образом вы также можете узнать, правила интерфейса были настроены (вы используете «окончательное» имя интерфейса для проверки соответствия, оно сообщает вам, какое совпадающее правило находится в netplan YAML, который соответствует ему).

1
ответ дан 20 July 2018 в 15:20

Возможно, вы сможете проверить файл ifstate из ifupdown, который скажет вам, было ли это то, что было использовано для настройки сети:

/run/network/ifstate

Если это и есть текст, вы можете ожидайте, что ifupdown используется. Если этого нет, система, скорее всего, управляется через netplan (но это не скажет вам, является ли это NetworkManager или systemd)

Затем, если вы хотите знать, какой бэкэнд используется для определенного интерфейса, вы может запросить netplan и проанализировать вывод, чтобы получить необходимую информацию:

netplan generate --mapping enp3s0

Он выводит текст следующим образом:

id=enp3s0, backend=NetworkManager, set_name=(null), match_name=enp3s0, match_mac=(null), match_driver=(null)

Таким образом вы также можете узнать, правила интерфейса были настроены (вы используете «окончательное» имя интерфейса для проверки соответствия, оно сообщает вам, какое совпадающее правило находится в netplan YAML, который соответствует ему).

1
ответ дан 23 July 2018 в 15:51

Другие вопросы по тегам:

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