Это - вероятно, Ваш клиент DHCP, блокирующийся до него, интерфейс имеет адрес. Точный ответ будет зависеть, на какой init системе Вы используете и какого клиента DHCP Вы используете. Для dhcpcd
, например, Вы хотите удостовериться init сценарий, который запускается, это называют с -b
флаг (фон сразу), и если это имеет -w
флаг (ожидает), для стирания его.
Один протест состоит в том, что, если у Вас есть сервисы, запускающиеся после того, как этот интерфейс запускается, которые зависят от него имеющий IP-адрес, это могло вызвать проблемы, если они запускают через несколько секунд, прежде чем IP будет защищен. Имейте это в виду при обнаружении с какими-либо причудами.
$ perl -MDateTime -e1
Во-вторых, [1179990]sudo su[1179991] входит в число "бесполезных" примеров. Правильным эквивалентом является
sudo -i[1179994].
Есть 2 подхода к решению этого вопроса.
Метод 1
$ echo DateTime | perl -MFile::Spec -nE'BEGIN { say STDERR qq{Searching "${ \join(q{", "}, @INC)}"} } chomp; for my $dir ( @INC ) { my $module_file = File::Spec->catfile( $dir, split /::/, $_ ) . qq{.pm}; say $module_file if -e $module_file; }'
Он в основном запускает корневую оболочку и посылает эту команду через оболочку.[1179995].
Причина, по которой мы не просто добавляем [1179996] sudo[1179997] перед обеими командами [1179998] iptables-save[1179999] и [1180000] iptables- restore[1180001], заключается в том, что она запустит 2 [1180002] sudo[1180003] одновременно. Это не сработает, если оба они в конце концов попытаются запросить пароль.[1180004].
Таким образом, это решение позволяет обойти проблему, запустив только одну [1180005]sudo[1180006].
Одна строка
Как и запрашивалось в вашем комментарии, вы можете сделать это в одной строке, но это становится намного труднее прочитать.
Метод 2
Это решение запускает [1180010]sudo[1180011] в первый раз, без какой-либо команды, просто [1180012]-v[1180013]. Это заставляет [1180014]sudo[1180015] запросить ваш пароль, если ваш сеанс закончился. Тогда любые команды, выполняемые в этом окне истечения сеанса, не потребуют ввода пароля. Поэтому одновременный запуск 2 [1180016]sudo[1180017]s больше не является проблемой, так как ни одна из них не будет запрашивать (мы добавляем [1180018]-n[1180019], чтобы быть абсолютно уверенными в этом. Это приведет к ошибке, если попытается). [1179550]