You are currently viewing Failed to start XXX.service: Unit XXX.service is masked.

Failed to start XXX.service: Unit XXX.service is masked.

Palvelu (service) voidaan ottaan pois päältä, disabloida. Silloin se ei käynnisty esimerkiksi tietokoneen tai serverin käynnistyessä. Palvelu on kuitenkin käynnistettävissä jonkun ohjelman avulla tai omin voimin systemctl start komennolla. Kun palvelun tila on masked, niin se on jyrkin esto eikä sitä saa käyntiin root eikä kukaan mukaan mitenkään.

Kun palvelu maskataan, niin järjestelmä on ollut syystä tai toisesta hyvin vakuuttunut, että palvelu on muuttunut kesken kaiken tai aiheuttanut virheen. Yleisimmät syyt, siis selvän ohjelmavirheen lisäksi, ovat:

  • palvelun service-tiedosto hakemistossa /lib/systemd/system on muuttunut, eikä ole komennettu systemctl daemon-reload
  • purge komennon jälkeen tilaa ei ole siivottu

Masked tila tarkoittaa käytännössä sitä, että tiedosto XXX.service on symbolinen linkki ikuiseen tyhjyyteen /dev/null. Tuo tehdään esimerkiksi apt purge komennolla.

Voit katsoa mikä on tilanne ylipäätään palveluiden kanssa:

systemctl list-units
systemctl list-units

Hieman toisenlaisen listan saat, kun vilkaiset mitä on tapahtunut palveluiden tiedostojen kanssa:

systemctl list-unit-files
systemctl list-unit-files

Osa on estettynä, masked tilassa, aivan perustelluista syistä, kuten että järjestelmä hoitaa itse asiansa toista kautta. Mutta aika ajoin tulee vaan häiriö.

Itse törmäsin tuohon kokeillessani Netdatan asennusta. Asensin ensin apt install komennolla nähdäkseni mitä tapahtuu. Sen jälkeen poistin sen komennolla apt purge netdata && apt autoremove ja samassa istunnossa ajoin perään asennusscriptin tuoreimmalle versiolle. Lopputuloksena netdata.service oli tilassa masked.

Tuohon on kaksi vaihtoehtoa.

Helpoin tapa on komentaa

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
systemctl unmask XXX
systemctl start XXX
systemctl unmask XXX systemctl start XXX
systemctl unmask XXX
systemctl start XXX

Toinen tapa on tehdä sama asia käsin:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
rm /lib/systemd/system/XXX.service
systemctl daemon-reload
systemctl start XXX
rm /lib/systemd/system/XXX.service systemctl daemon-reload systemctl start XXX
rm /lib/systemd/system/XXX.service
systemctl daemon-reload
systemctl start XXX

Joko service toipuu tai tulee virheitä. Ensimmäisessä tiedät, että ongelma oli ”vain” järjestelmän sekoilu ja toisessa, että asentamasi ohjelma ei toimi.

 

Jakke Lehtonen

Teen B2B-markkinoille sisällöntuottoa sekä UX-testauksia. Samaan liittyy myös koulutukset yrityksille ja webmaailman kanssa muutoin painiville. Serverien sielunelämää on joutunut ohessa opettelmaan. Toinen puoli toiminnasta on koirien ravitsemuksen ja ruokinnan suunnittelua sekä varsinkin omistajien kouluttamista hoitamaan koiriaan oikein ja vielä paremmin. Profiili: Jakke Lehtonen

Keskustele foorumilla Katiskan foorumi