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í. | ||
| + | |||