[Решено] Добавить скрипт в автозагрузку

Автор Grig96, 19 января 2017, 21:20:33

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Grig96

КАК теперь добавить файл в автозагрузку (9 debian...) ибо файла /etc/rc.local нету?

ogost

кроме rc.local масса вариантов:
Если демон, то:
1. писать системды юнит. говорят легко, велик не мой, системды не пользуюсь
2. крон
Если пользовательская прога, то:
1. Автозагрузка конкретного ДЕ, WM, или что там у вас
2. опять же крон, только от пользователся.
Опять же открещиваясь от обвинений - нет у меня стреча, на джесси сижу.

anoobis

#2
в Jessie такая вещица сделана:

Код (cat /lib/systemd/system/rc-local.service) Выделить
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
SysVStartPriority=99

Grig96

ogost, у меня так

grig96@kgrig:~$ cat  /lib/systemd/system/rc-local.service
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
grig96@kgrig:~$ cat /etc/rc.local
cat: /etc/rc.local: Немає такого файла або каталогу
grig96@kgrig:~$ su
Пароль:
root@kgrig:/home/grig96# cat /etc/rc.local
cat: /etc/rc.local: Немає такого файла або каталогу
root@kgrig:/home/grig96#



Попробую создать файл и добавить последнюю строчку в rc-local.service

anoobis

Grig96, если у вас уже есть эта служба, пробуйте так:

$ sudo -s
# echo -e '#!/bin/sh -e\n\n# ...\n\nexit 0' >/etc/rc.local
# chmod +x /etc/rc.local
# systemctl enable rc-local.service

Grig96

Цитата: anoobis от 21 января 2017, 20:34:13
Grig96, если у вас уже есть эта служба, пробуйте так:


На последней:

root@kgrig:/home/grig96# systemctl enable rc-local.service
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
   D-Bus, udev, scripted systemctl call, ...).
4) In case of template units, the unit is meant to be enabled with some
   instance name specified.


anoobis

Да это пофиг. Теперь при перезагрузке должен выполнятся /etc/rc.local
Добавить только перед exit 0 свои скрипты

alsoijw

Цитата: anoobis от 22 января 2017, 23:11:03
Да это пофиг. Теперь при перезагрузке должен выполнятся /etc/rc.local
Цитата: Grig96 от 19 января 2017, 21:20:33
КАК теперь добавить файл в автозагрузку (9 debian...) ибо файла /etc/rc.local нету?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

alsoijw

Зачем переизобретать велосипед если можно просто добавить юнит? Твой метод также преполагает создание юнита.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

anoobis

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

Grig96

Всем спасибо, все заработало. Перешел на 9 Дебиан а тут куча софта который без проблем встает на 8 из стандартных репрозориев здесь морочит голову :(

alsoijw

Цитата: anoobis от 22 января 2017, 23:27:57
да и правильнее так, пользоваться готовым решением, чем юниты плодить.
Это костылестроение. Либо используй систему инициализации без юнитов либо создавай юниты.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Grig96

Цитата: alsoijw от 23 января 2017, 13:47:38
Это костылестроение.
Зато удобно. В Джейси по умолчанию был файл и никаких проблем