LINUX.ORG.RU

История изменений

Исправление Oleaster, (текущая версия) :

Всё верно: раньше, чтобы в сусе мне выполнить одну команду на старте, надо было написать скрипт after.local из одной строки. А сейчас?

Более естественный для systemd способ запускать скрипты - это создание своего собственного юнита.

Просто создайте файл /etc/systemd/system/my_stuff.service со следующим текстом:
[Unit]
Description=Run my stuff
Requires=network.target
After=network.target

[Service]
Type=oneshot
RemainAfterExit=True
ExecStart=/some/script --with-some-parameters
ExecStart=/some/other/script

[Install]
WantedBy=multi-user.target

Здесь Requires - указывает цель, после которой необходимо запустить сервис, After означает, что сеть должна быть полностью запущена к моменту старта, WantedBy - цель, для которой запускается сервис. В ExecStart должен быть указан полный путь к скрипту или исполняемому файлу, поскольку переменная PATH не используется.

multi-user.target - это аналог init 3 в sysVinit.

Уж конечно, разбираться в этой хренотени — это «намного проще», чем однострочный скрипт, ага.

Исправление Oleaster, :

Всё верно: раньше, чтобы в сусе мне выполнить одну команду на старте, надо было написать скрипт after.local из одной строки. А сейчас?

Более естественный для systemd способ запускать скрипты - это создание своего собственного юнита.

Просто создайте файл /etc/systemd/system/my_stuff.service со следующим текстом:
[Unit]
Description=Run my stuff
Requires=network.target
After=network.target

[Service]
Type=oneshot
RemainAfterExit=True
ExecStart=/some/script --with-some-parameters
ExecStart=/some/other/script

[Install]
WantedBy=multi-user.target

Здесь Requires - указывает цель, после которой необходимо запустить сервис, After означает, что сеть должна быть полностью запущена к моменту старта, WantedBy - цель, для которой запускается сервис. В ExecStart должен быть указан полный путь к скрипту или исполняемому файлу, поскольку переменная PATH не используется.

multi-user.target - это аналог init 3 в sysVinit.

Уж конечно, разбираться в этой хренотени — это намного проще, чем однострочный скрипт, ага.

Исходная версия Oleaster, :

Всё верно: раньше, чтобы в сусе мне выполнить одну команду на старте, надо было написать скрипт after.local из одной строки. А сейчас?

Более естественный для systemd способ запускать скрипты - это создание своего собственного юнита.

Просто создайте файл /etc/systemd/system/my_stuff.service со следующим текстом: [Unit] Description=Run my stuff Requires=network.target After=network.target [Service] Type=oneshot RemainAfterExit=True ExecStart=/some/script --with-some-parameters ExecStart=/some/other/script [Install] WantedBy=multi-user.target

Здесь Requires - указывает цель, после которой необходимо запустить сервис, After означает, что сеть должна быть полностью запущена к моменту старта, WantedBy - цель, для которой запускается сервис. В ExecStart должен быть указан полный путь к скрипту или исполняемому файлу, поскольку переменная PATH не используется.

multi-user.target - это аналог init 3 в sysVinit.

Уж конечно, разбираться в этой хренотени — это намного проще, чем однострочный скрипт, ага.