Как заставить сценарий ifcfg «запускать» именно те команды, которые мне нужны?

POSIX сообщает, что :

каждая команда многокомандного конвейера находится в среде подоболочки

и что

Изменения внесенные в среду подоболочки не должны влиять на среду оболочки

. Если вы думаете о наиболее простом способе реализации конвейера, это имеет смысл - вызовите pipe () , разветвите подоболочку и замените стандартный вывод / ввод с каждой стороны, затем выполните команду в подоболочке. Это также определенное поведение Bash .

Вы не можете полагаться на это, однако, потому что

как расширение, однако, любая или все команды в конвейере могут выполняться в текущей среде

Вот что lastpipe подходит для этого случая. В некоторых других оболочках это поведение по умолчанию в определенных ситуациях.

1
23.05.2017, 15:39
2 ответа

В документации Fedora говорится, что NetworkManager является сетевым демоном по умолчанию, начиная с Fedora 20. Скорее всего, вам следует извиниться перед ним и привыкнуть.

Однако вы все равно сможете использовать демон network . Протестируйте его через командную строку:

systemctl start/stop/restart/status network

Если он открывает для вас сеть, включите его:

systemctl enable network

Хотя, как упоминалось ранее, Network Manager предназначен для управления вашими сетями, а сеть - это скорее помощник. Взгляните здесь .

1
27.01.2020, 23:34

Отключите сетевой менеджер :

systemctl stop NetworkManager.service
systemctl disable NetworkManager.service

Запустите и включите network.service :

systemctl restart network.service
systemctl enable network.service

Отредактируйте / etc / sysconfig / network-scripts / ifcfg- enp1s0 изменить:

BOOTPROTO=none 
PEERDNS=yes 

Кому:

BOOTPROTO="static"
PEERDNS=no

Настройте свой /etc/resolv.conf , затем примените изменения:

systemctl restart network.service
1
27.01.2020, 23:34

Теги

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