Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
it:server:automaticke-spousteni-skriptu-po-startu-systemu [2025/02/14 12:53] – vytvořeno Petr Nosek | it:server:automaticke-spousteni-skriptu-po-startu-systemu [2025/02/15 09:14] (aktuální) – Petr Nosek | ||
---|---|---|---|
Řádek 92: | Řádek 92: | ||
Doporučujeme **systemd**, | Doporučujeme **systemd**, | ||
+ | |||
+ | |||
+ | ===== Použití / | ||
+ | |||
+ | V systému se stále můžeme spoléhat na **/ | ||
+ | |||
+ | ==== Jak ověřit dostupnost systemd-rc-local-generator ==== | ||
+ | |||
+ | **systemd-rc-local-generator** je součástí systemd a vytváří službu `rc-local.service`, | ||
+ | |||
+ | Zkontrolujte jeho přítomnost v systému pomocí: | ||
+ | |||
+ | <code bash> | ||
+ | systemd-analyze dump | grep systemd-rc-local-generator | ||
+ | </ | ||
+ | |||
+ | nebo: | ||
+ | |||
+ | <code bash> | ||
+ | ls -l / | ||
+ | </ | ||
+ | |||
+ | (Podle distribuce může být umístěn i v `/ | ||
+ | |||
+ | Pokud existuje, znamená to, že je součástí systemd a můžeme ho využít. | ||
+ | |||
+ | ==== Aktivace / | ||
+ | |||
+ | 1. Ujistěte se, že soubor existuje a je spustitelný: | ||
+ | |||
+ | <code bash> | ||
+ | sudo touch / | ||
+ | sudo chmod +x / | ||
+ | </ | ||
+ | |||
+ | 2. Přidejte do něj požadované příkazy, například: | ||
+ | |||
+ | <code bash> | ||
+ | sudo nano / | ||
+ | </ | ||
+ | |||
+ | A vložte: | ||
+ | |||
+ | < | ||
+ | #!/bin/bash | ||
+ | echo " | ||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | Uložte soubor a zavřete editor. | ||
+ | |||
+ | 3. Ověřte stav služby: | ||
+ | |||
+ | <code bash> | ||
+ | systemctl status rc-local | ||
+ | </ | ||
+ | |||
+ | Pokud není aktivní, povolte ji: | ||
+ | |||
+ | <code bash> | ||
+ | sudo systemctl enable rc-local | ||
+ | </ | ||
+ | |||
+ | A spusťte ji ručně: | ||
+ | |||
+ | <code bash> | ||
+ | sudo systemctl start rc-local | ||
+ | </ | ||
+ | |||
+ | ==== Co dělat, pokud systemd-rc-local-generator chybí? ==== | ||
+ | |||
+ | Pokud v systému **systemd-rc-local-generator** není k dispozici, může být zakázán při kompilaci systemd v dané distribuci. V takovém případě je možné vytvořit vlastní unit soubor pro `/ | ||
+ | |||
+ | 1. Vytvořte nový unit soubor: | ||
+ | |||
+ | <code bash> | ||
+ | sudo nano / | ||
+ | </ | ||
+ | |||
+ | 2. Vložte následující obsah: | ||
+ | |||
+ | <code ini> | ||
+ | [Unit] | ||
+ | Description=/ | ||
+ | ConditionPathExists=/ | ||
+ | After=network.target | ||
+ | |||
+ | [Service] | ||
+ | Type=forking | ||
+ | ExecStart=/ | ||
+ | TimeoutSec=0 | ||
+ | RemainAfterExit=yes | ||
+ | GuessMainPID=no | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | 3. Aktivujte službu: | ||
+ | |||
+ | <code bash> | ||
+ | sudo systemctl enable rc-local | ||
+ | sudo systemctl start rc-local | ||
+ | </ | ||
+ | |||
+ | Tímto způsobem lze dosáhnout stejné funkcionality i v případě, že systemd-rc-local-generator chybí. | ||
+ | |||