Przywrócenie działania rc.local w Debianie 9 i nowszych

Konrad Kowalski
  • Konrad Kowalski
  • 19/04/2018
  • Debian
  • 0 komentarzy
Debian

Wraz z wydaniem Debiana w wersji 9 używanie pliku rc.local zostało uznane za przestarzałe a jego obsługa została wyłączona. W przypadku tradycyjnych użytkowników systemu Linux oraz administratorów, którzy nadal zamierzają go używać istnieje sposób na przywrócenie jego funkcjonowania za pomocą SystemD.

Aby przywrócić funkcjonowanie pliku rc.local należy utworzyć nowy plik usługi w katalogu /etc/systemd/system/.

/etc/systemd/system/rc-local.service

Do pliku z definicją usługi należy dodać następującą zawartość

[Unit]
Description=/etc/rc.local
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

Więcej na temat definicji usługi można przeczytać w manualu (man systemd.service)

W następnym kroku należy utworzyć plik /etc/rc.local. Domyślny plik wygląda następująco:

#!/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

Można go oczywiście dostosować do własnych potrzeb dodając własne polecenia, które mają zostać wykonane podczas startu systemu.

W następnym kroku należy nadać prawa do wykonywania skryptu.

chmod +x /etc/rc.local

W kolejnym kroku należy włączyć usługę odpowiedzialną za uruchomienie skryptu /etc/rc.local

systemctl enable rc-local

Od tej chwili podczas każdego startu systemu skrypt /etc/rc.local zostanie uruchomiony.
Status usługi można sprawdzić poleceniem:

systemctl status rc-local.service

Podsumowując – została utworzona oraz aktywowana usługa SystemD, która podczas startu sytemu uruchamia skrypt rc.local. Równie dobrze można użyć zupełnie innego pliku w innej ścieżce.

Dodaj komentarz