/etc/init.d/ w Fedora 26


(spamkiller) #1

Witam,

mam skrypt w bashu np.: skrypt.sh.

Jak w Fedorze 26 dodać do uruchamianiu przy bootowaniu?

update-rc.d jak w Debianach nie bangla, chkconfig też, a systemd nie ogarniam.


(Domker) #2

W systemd łatwo dodać.
Musisz w tym celu zrobić tak zwany plik jednostki “service”.

[Unit]
Description=testowy skrypt

(krótki opis skryptu)

RequiresMountsFor=/home/
(dodajesz jeżeli skrypt znajduje się na partycji /home lub się do niej odnosi)

[Service]
Type=oneshot 

(typ wyzwalania)

RemainAfterExit=yes
(możesz dodać jeżeli chcesz, żeby jednostka była uznawana za aktywną nawet jak jej proces zostanie zakończony)

ExecStart=/home/uzytkownik/nazwa_skryptu.sh
(ścieżka do skryptu)

[Install]
WantedBy=multi-user.target

Tak przygotowany plik jednostki zapisujesz jako “nazwa_skryptu.service” i umieszczasz w “/etc/systemd/user/

Teraz jeszcze tylko aktywacja pliku jednostki:
systemctl --user enable nazwa_skryptu.service

Uruchamiasz ponownie system i sprawdzasz, czy startuje:
systemctl --user status nazwa_skryptu.service


(marcin82) #3

Skryptu nie da się pobrać. Wstaw na forum w tagach CODE.

Możesz użyć programu cron - albo z poziomu użytkownika albo roota.

Można też skorzystać z pliku /etc/rc.local albo /etc/rc.d/rc.local, ale najpierw trzeba uruchomić i włączyć na stałe usługę:
systemctl enable rc-local
systemctl start rc-local

Jeśli nie ma pliku rc-local - utwórz go jako wykonywalny skrypt - uprawnienia 0755 i dodaj w nim ścieżkę do skryptu, itd.


(spamkiller) #4

Problemem był SElinux i jego restrykcyjne prawa. Poradziłem sobie, thx.


(FadeMind) #5

To nie link do pliku tylko nazwa pliku :smiley: Natomiast silnik forum identyfikuje ZZZZ.YY małymi literami jako adres domeny :sunny:

skrypt.pl
skrypt.py
skrypt.sh
etc.etc


(pocolog) #6

Dodam tylko że w openrc wystarczy skrypt dodać do katalogu /etc/init.d/ a następnie wydać polecenie rc-update add skrypt default/boot/sysinit czy cokolwiek :wink:
Po co sobie utrudniać? :smiley:


(Domker) #7

Równie dobrze można dodać do “/home/USER/.config/autostart/”, ale to już raczej zależne od środowiska graficznego.