Это на самом деле ошибка (см. это и это). К сожалению, кажется, что он не будет исправлен (первый помечен как «RESOLVED WONTFIX»).
В качестве обходного пути вам, возможно, придется удалить эти ярлыки и привыкнуть к настройкам по умолчанию для переключения макетов (супер + пространство и сдвиг + супер + пространство).
Сначала я создал сценарий sh, поместил его в / etc / netplan / и назвал его backup.sh
#!/bin/sh
# -q quiet
# -c nb of pings to perform
ping -q -c5 aa.bb.cc.dd > /dev/null
if [ $? -eq 0 ]
then
: #do absolutly nothing! server can ping its external IP.
else
# restore, working config to netplan.
cp -f /etc/netplan/02-netcfg.yaml /etc/netplan/01-netcfg.yaml
# apply network config.
netplan apply
fi
Этот скрипт вернул изменения, которые я сделал, к настройке рабочей конфигурации, который я хранятся в 02-netcfg.yaml Если я не могу проверить IP-адрес сервера. Я замаскировал свой IP-адрес сервера whit aa.bb.cc.dd Итак, вам нужно заменить этот IP-адрес, который вы хотите выполнить ping, чтобы выполнить «else» в if.
Тогда i установите этот сценарий для запуска при каждом перезапуске сервера, а также включите задание Cron для него, которое выполняется каждые 3 минуты, когда я работаю над сетевыми конфигурациями.
Сначала я создал сценарий sh, поместил его в / etc / netplan / и назвал его backup.sh
#!/bin/sh
# -q quiet
# -c nb of pings to perform
ping -q -c5 aa.bb.cc.dd > /dev/null
if [ $? -eq 0 ]
then
: #do absolutly nothing! server can ping its external IP.
else
# restore, working config to netplan.
cp -f /etc/netplan/02-netcfg.yaml /etc/netplan/01-netcfg.yaml
# apply network config.
netplan apply
fi
Этот скрипт вернул изменения, которые я сделал, к настройке рабочей конфигурации, который я хранятся в 02-netcfg.yaml Если я не могу проверить IP-адрес сервера. Я замаскировал свой IP-адрес сервера whit aa.bb.cc.dd Итак, вам нужно заменить этот IP-адрес, который вы хотите выполнить ping, чтобы выполнить «else» в if.
Тогда i установите этот сценарий для запуска при каждом перезапуске сервера, а также включите задание Cron для него, которое выполняется каждые 3 минуты, когда я работаю над сетевыми конфигурациями.
Сначала я создал сценарий sh, поместил его в / etc / netplan / и назвал его backup.sh
#!/bin/sh
# -q quiet
# -c nb of pings to perform
ping -q -c5 aa.bb.cc.dd > /dev/null
if [ $? -eq 0 ]
then
: #do absolutly nothing! server can ping its external IP.
else
# restore, working config to netplan.
cp -f /etc/netplan/02-netcfg.yaml /etc/netplan/01-netcfg.yaml
# apply network config.
netplan apply
fi
Этот скрипт вернул изменения, которые я сделал, к настройке рабочей конфигурации, который я хранятся в 02-netcfg.yaml Если я не могу проверить IP-адрес сервера. Я замаскировал свой IP-адрес сервера whit aa.bb.cc.dd Итак, вам нужно заменить этот IP-адрес, который вы хотите выполнить ping, чтобы выполнить «else» в if.
Тогда i установите этот сценарий для запуска при каждом перезапуске сервера, а также включите задание Cron для него, которое выполняется каждые 3 минуты, когда я работаю над сетевыми конфигурациями.
В Bionic есть новый способ: netplan try.
В вашем случае netplan try --config-file foo.yaml должен делать то, что вы хотите.
Манифест не является очень полезно, поскольку он в основном описывает формат файла конфигурации, но --help дает вам довольно хороший очерк инструмента:
ubuntu@netplan:~$ netplan try --help
usage: /usr/sbin/netplan try [-h] [--debug] [--config-file CONFIG_FILE]
[--timeout TIMEOUT]
Try to apply a new netplan config to running system, with automatic rollback
optional arguments:
-h, --help show this help message and exit
--debug Enable debug messages
--config-file CONFIG_FILE
Apply the config file in argument in addition to
current configuration.
--timeout TIMEOUT Maximum number of seconds to wait for the user's
confirmation
В Bionic есть новый способ: netplan try.
В вашем случае netplan try --config-file foo.yaml должен делать то, что вы хотите.
Манифест не является очень полезно, поскольку он в основном описывает формат файла конфигурации, но --help дает вам довольно хороший очерк инструмента:
ubuntu@netplan:~$ netplan try --help
usage: /usr/sbin/netplan try [-h] [--debug] [--config-file CONFIG_FILE]
[--timeout TIMEOUT]
Try to apply a new netplan config to running system, with automatic rollback
optional arguments:
-h, --help show this help message and exit
--debug Enable debug messages
--config-file CONFIG_FILE
Apply the config file in argument in addition to
current configuration.
--timeout TIMEOUT Maximum number of seconds to wait for the user's
confirmation
В Bionic есть новый способ: netplan try.
В вашем случае netplan try --config-file foo.yaml должен делать то, что вы хотите.
Манифест не является очень полезно, поскольку он в основном описывает формат файла конфигурации, но --help дает вам довольно хороший очерк инструмента:
ubuntu@netplan:~$ netplan try --help
usage: /usr/sbin/netplan try [-h] [--debug] [--config-file CONFIG_FILE]
[--timeout TIMEOUT]
Try to apply a new netplan config to running system, with automatic rollback
optional arguments:
-h, --help show this help message and exit
--debug Enable debug messages
--config-file CONFIG_FILE
Apply the config file in argument in addition to
current configuration.
--timeout TIMEOUT Maximum number of seconds to wait for the user's
confirmation