Запуск действительно смущает меня. Кажется, что разные способы запуска вещей происходят в разных местах повсюду. Но есть ли способ определить порядок их загрузки?
В частности ... У меня есть проблема, из-за которой Plex Media Server (PMS) не может быть обнаружен клиентами, если VPN-соединение сервера установлено до PMS. начиная. Это сводило меня с ума, но я обнаружил, что могу решить эту проблему, выключив PMS, выключив VPN, включив PMS, а затем включив VPN.
Я не совсем уверен, как PMS автоматически загружается при запуске, но VPN-это то, что я определил, отредактировав: /etc/network/if-up.d/slickvpn со следующим:
#! /bin/bash
REQUIRED_CONNECTION_NAME="Wired connection 1"
VPN_CONNECTION_NAME="myvpn"
activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
nmcli con up id "${VPN_CONNECTION_NAME}"
fi
Это сценарий, который я где-то нашел (думаю, на этом сайте), когда искал помощь в автоподключении VPN.
Так что я предполагаю, что /etc/network/if-up.d/ сценарии запускаются до службы PMS. Как я могу перевернуть это? Или другое решение?
Я думаю, что вы можете попробовать выскочить вместо этого. Вы можете остановить запуск VPN-сервера в сценариях ifupdown (переместить файл куда-нибудь еще), а затем выполнить несколько заданий upstart.
Создайте (или измените, если он уже существует, вам следует поискать в /etc/init
) файл запуска PMS в /etc/init
и заполнить его (**, если он уже присутствует, просто запомните имя .conf
файл):
# pms - Plex Media Server
description "Plex Media Server"
start on (local-filesystems and net-device-up IFACE!=lo)
## here you can define what interface you can wait, just change IFACE!=lo for IFACE=eth0, etc.
## This stops the job at shutdown
stop on runlevel [!2345]
script
exec /path/to/pms/server/binar
end script
Это очень простой сценарий выскочки. Вы должны добавить / изменить вещи вокруг. Теперь другой сценарий:
Создайте файл /etc/init/vpn.conf
и заполните его следующим содержанием
# vpn - Virtual Private Network server
description "Virtual Private Network server"
start on started plexmediaserver
## now, the VPN server will only start if PMS starts :D
## This stops the job at shutdown you can modify it and make it to stop before stoping PMS
stop on runlevel [!2345]
env REQUIRED_CONNECTION_NAME="Wired connection 1"
env VPN_CONNECTION_NAME="myvpn"
export REQUIRED_CONNECTION_NAME
export VPN_CONNECTION_NAME
script
exec /usr/bin/nmcli con up id "${VPN_CONNECTION_NAME}"
end script
Готово.