LINUX.ORG.RU

Автозапуск скрипта в Arch Linux

 ,


0

2

Установил арч, не могу поставить в автозапуск скрипт для считывания правил iptables. Не нашел вообще какой-либо директории или файла, куда можно было бы его воткнуть.

С модулем для systemd не получилось, после добавления его в автозапуск при выключении стала задержка на 90 секунд, в уменьшении ее в конфиге systemd не вижу смысла, хочется чтобы работало и без этого.

Как можно заставить запускаться скрипт после поднятия сети? В debian-based была для этого идеальная папка

/etc/network/if-pre-up.d/

В арче нет ни ее, ни чего-либо подобного. Это из-за системы инициализаци? Возможно ли как-то сделать, чтобы подобная директория (if-pre-up) появилась и система считывала ее при запуске?



Последнее исправление: NordeN (всего исправлений: 2)

Какую из систем управления сетевыми интерфейсами ты используешь?

surefire ★★★
()

Как можно заставить запускаться скрипт после поднятия сети? В debian-based была для этого идеальная папка
/etc/network/if-pre-up.d/

Вначале пишешь «после поднятия сети», а указываешь директорию «до поднятия сети». Определись.

surefire ★★★
()

Как можно заставить запускаться скрипт после поднятия сети?

Пишешь для своего скрипта юнит следующего вида:

[Unit]
Wants=network-online.target
After=network.target network-online.target

[Service]
...

[Install]
WantedBy=multi-user.target

Включаешь. Потом читаешь про network-online.target и про то, как оно интегрируется с тем софтом, который у тебя сеть поднимает.

Возможно ли как-то сделать, чтобы подобная директория (if-pre-up) появилась

Крибле-крабле-бумс, не иначе.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от surefire

Ну да, до поднятия, перепутал. Логично поднимать фаервол до включения сети.

Система управления сетевыми интерфейсами, не совсем понял. Видимо это про NetworkManager? До него использовал netctl.

NordeN
() автор топика
Ответ на: комментарий от NordeN

И какие конкретно возникли проблемы?

Хочешь, чтобы тебе помогли — потрудись хотя бы внятно описать, с чем тебе нужна помощь. Клещами из тебя вытаскивать никто не будет.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 4)
Ответ на: комментарий от intelfx

Дословно сейчас не вспомню уже, система долго выключалась, появлялась надпись что-то вроде «a stop job is running for id 1000» и висела минуты 2 при каждом выключении. При удалении созданного мной юнита из автозагрузки это прекратилось

NordeN
() автор топика
Последнее исправление: NordeN (всего исправлений: 1)
Ответ на: комментарий от intelfx

Ну тогда можно и проигнорировать вопрос и идти дальше. Или на форуме рейтинг повышается от количества сообщений?

NordeN
() автор топика
Ответ на: комментарий от NordeN

Дословно сейчас не вспомню уже, система долго выключалась, появлялась надпись что-то вроде «a stop job is running for id 1000» и висела минуты 2 при каждом выключении. При удалении созданного мной юнита из автозагрузки это прекратилось

Скорее всего «a stop job is running for user manager for UID 1000». Выполни

journalctl -p5 -b -1
при помощи Shift+G перейди в конец и смотри на наличие ошибки при завершении работы. От неё уже и надо будет плясать дальше.

najlus ★★★★★
()
Ответ на: комментарий от najlus

Да, именно эта ошибка была. Я все же решил сделать юнит в systemd, для быстрого выключения поставил watchdog и снизил время до 5 секунд в конфиге /etc/systemd/system.conf.

Все же не совсем уверен что правила поднимаются до старта сети, не подскажете как можно проверить это? В systemctl status время поднятия моего юнита по секундам 1 в 1 с network.target.

NordeN
() автор топика
Ответ на: комментарий от NordeN

Впиши в скрипт пинг с выводом результата в лог.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.