Enable rc.local on systemd
Enable rc.local on systemd
В systemd от Ubuntu 16.04 нагоре, шокиращо за мен го няма стария файл /etc/rc.local в който копирахме команди или пътища към скриптове които да се заредят след като се стартира операционната система. Разбира се това има как да се поправи:
Създаваме файла rc-local.service.
sudo nano /etc/systemd/system/rc-local.service |
Като в него копираме следното съдържание:
[Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target |
След което създаваме самия файл rc.local.
sudo nano /etc/rc.local |
В него копираме следното съдържание:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0 |
Променяме правата за да може да се изпълнява файла.
sudo chmod 755 /etc/rc.local |
Разрешаваме, стартираме и преглеждаме състоянието на rc.local
sudo systemctl enable rc-local sudo systemctl start rc-local.service sudo systemctl status rc-local.service |
Копираме команда или път към скрипт в rc.local преди реда exit 0.
sudo nano /etc/rc.local |
След рестарт на системата командата или скрипта трябва да са изпълнени.