Po aktualizacji do 16.04 LTS rc.local nie wykonuje polecenia


21

W poprzedniej zainstalowanej wersji kubuntu 15.xx dodałem linię do /etc/rc.local- /home/diet/scripts/my-auto-mount-scriptktóra oczywiście odnosiła się do skryptu, który powinien być zamontowany w domowych sieciach Wi-Fi.

Działa to bezbłędnie na Kubuntu 15.xx

Po uaktualnieniu wydaje się, że /etc/rc.localjest ignorowany podczas uruchamiania, ponieważ /etc/rc.localwydaje się, że uruchomienie polecenia nadal działa . Powodem, dla którego uważam, że rc.local jest ignorowany, jest to, że skrypt, do którego się odnosi, powinien generować dzienniki po pomyślnym zakończeniu skryptu, ale także po awarii skryptu, ale nie ma żadnych dzienników.

Czy ktoś może mi dać kilka wskazówek, jak rozwiązać ten problem?

PS: tak, wiem, że wkładanie rzeczy /etc/fstabto także sposób montowania dysków, ale kiedy nie ma mnie w domu, nienawidzę tego, że widzę dyski na delfinie i mam na nich te małe czerwone krzyże, ponieważ ich nie ma . W ten sposób, gdy jestem w drodze (to laptop), ludzie nie widzą, co mam w domu.


Odpowiedzi:


24

Ubuntu używa teraz systemd, a rc.local jest teraz uważany za usługę, która jest domyślnie wyłączona. Możesz włączyć rc.local „on”, wprowadzając następujące polecenie i ponownie uruchamiając:

sudo systemctl enable rc-local.service

Dziękuję bardzo za poświęcenie czasu na dostarczenie mi rozwiązania! znalazłem również rozwiązanie, które dodając skrypt do ./.config/autostart-scripts/ uruchamia skrypt również podczas uruchamiania!
Dieta Bos

Polecenie sysemctl działa dla mnie. Zauważ też, że różni się to od skryptów użytkownika w ~ / .config / autostart-scripts, ponieważ /etc/rc.local powinien zostać uruchomiony w czasie rozruchu, zanim jakikolwiek użytkownik się zaloguje. Uwaga: wszelkie błędy w skrypcie rc.local mogą powodować zatrzymać; skanuj / var / syslog w poszukiwaniu rc.lokalnie to uważasz, że to nie działa dla ciebie.
djb

1
A systemd nie obsługuje „oficjalnego sposobu” uruchamiania skryptów podczas uruchamiania? Jak rc.local był?
Cirelli94,

4

tylko to zmień

chmod 755 /etc/init.d/rc.local

nano /etc/rc.local 

zmień to w pierwszej linii

#!/bin/sh -e

do

#!/bin/bash 

oszczędzaj i ciesz się!


Idealnie, połączenie z poprzednią odpowiedzią zadziałało dla mnie (16.04)
Jurij Polieżyjew

Ta odpowiedź działała dla mnie zamiast poprzedniej, ponieważ Ubuntu 14.04 nie ma systemctl
franksands
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.