Vraag Hoe kan ik een service configureren die bij het opstarten moet worden uitgevoerd?


Ik heb een daemon die goed werkt als ik hem handmatig start met de service opdracht:

ricardo@ricardo-laptop:~$ sudo service minidlna start                   
 * Starting minidlna minidlna                                                              [ OK ] 

maar het is niet geconfigureerd om automatisch te starten wanneer de pc opnieuw wordt opgestart.

Hoe kan ik het configureren om automatisch te starten, zelfs als niemand op de pc is aangemeld?


208
2017-10-25 13:46


oorsprong


@ user154721 Welke argumenten gaf u update-rc.d om autostart te laten werken? Ik heb verschillende opties geprobeerd maar heb geen geluk gehad. - BennyTheBen


antwoorden:


sudo update-rc.d minidlna defaults

Dit zou de service aan het automatische opstartsysteem moeten toevoegen. Maar als je krijgt:

System start/stop links for /etc/init.d/minidlna already exist.

Voer het commando uit

sudo update-rc.d minidlna enable

Postscriptum: Zie voor meer informatie de man-pagina voor update-rc.d door de opdracht te typen man update-rc.d


241
2017-10-25 14:09



bedankt, maar wat als ik deze uitvoer krijg bij het uitvoeren van dat commando ?: System start/stop links for /etc/init.d/minidlna already exist. - Ricardo Reyes
Ik heb voor minidlna in alle bestanden gegraveerd op / var / log en kon bij het opstarten geen melding van de service vinden - Ricardo Reyes
als minidlna niet naar een logbestand schrijft, zul je het nergens vinden. Kan het mislukken omdat er geen netwerkverbinding is wanneer het wordt gestart? Probeer de configuratie te bekijken als het mogelijk is om foutopsporing en / of logging in te schakelen om erachter te komen wat verkeerd is. - LassePoulsen
@RicardoReyes gebruiken sudo update-rc.d -f minidlna remove om de bestaande links te verwijderen. - Dogweather
Ik krijg onder error update-rc.d: /etc/init.d/usermanage: bestand bestaat niet - Rizwan Patel


Soms moet u een script uitvoeren tijdens het opstartproces, bijvoorbeeld een iptables-configuratie uitvoeren tijdens het opstarten. U hoeft het script dus niet elke keer opnieuw te starten na het opnieuw opstarten.

U kunt uw script tijdens het opstartproces in Ubuntu uitvoeren door het aan toe te voegen /etc/init.d/rc.local het dossier. Kijk de onderstaande stappen.

  1. Open /etc/rc.local bestand met deze opdracht:

    vim /etc/rc.local
    
  2. Voeg hier uw script toe dat u tijdens het opstartproces wilt uitvoeren, bijvoorbeeld:

    sh /home/ivan/iptables.sh 
    echo 'Iptable Configured!'
    
  3. Bekijk de opmerkingen in dat bestand en zorg ervoor dat uitgang 0 aan het einde is.

  4. Sla de bestanden op. En je script wordt tijdens het opstartproces uitgevoerd.


31
2017-10-25 13:52



Opmerkingen van /etc/init.d/rc.local in Ubuntu 12.04 zegt "Korte beschrijving: voer /etc/rc.local uit als deze bestaat", dus misschien zou het toevoegen van scripts aan /etc/rc.local een beter idee zijn? - Sanghyun Lee
Zou deze methode een "shutdown" -opdracht aan de service geven of het proces gewoon stoppen bij het afsluiten van het besturingssysteem? - Vadim Chekan
Vadim, rc.local wordt gewoon uitgevoerd bij het opstarten, niets wordt bereikt bij afsluiten. Het proces zou hoogstwaarschijnlijk door het besturingssysteem worden gedood bij afsluiten. - Weboide
Ter info: het verschil tussen rc.local vs toevoegen aan init, is dat rc.local wordt uitgevoerd aan het einde van de init-startvolgorde, in plaats van als onderdeel ervan - BobTuckerman


  • Om een ​​daemon te starten bij het opstarten:

    update-rc.d service_name defaults
    
  • Verwijderen:

    update-rc.d -f service_name remove
    

standaard => standaard runniveaus 2,3,4 en 5

Voorbeeld:

update-rc.d tomcat7 defaults

26
2018-01-15 12:20



Wanneer ik dit commando uitvoer, krijg ik "Systeem start / stop links voor /etc/init.d/tomcat7 bestaat al". nochtans, wanneer ik reboot, begint het geen tomcat, moet ik altijd "service tomcat7 start" doen. - John Little
in mijn geval sudo update-rc.d myservice standaard wordt altijd voltooid zonder uitvoer en de service start niet bij opstarten of met sudo service myservice start die ook in stilte wordt voltooid. sudo /etc/init.d/myservice startwerkt echter - axk