nordvpn seier at daemonen ikkje nåast: socket, gruppe eller unit?
Tunnelen kan vere heilt i orden; CLI-en har berre mista socketen sin til nordvpnd. Gå frå kommandoen til uniten, deretter til socketrettane, og stopp ved første feil.
Å køyre nordvpn og få ei melding om ein daemon som ikkje kan nåast, er ei smal klage som vanlegvis kjem når du alt er seint ute. Ho seier ingenting om tunnelen verkar, fordi CLI-en berre er ein front: han snakkar med ein bakgrunnsprosess over ein Unix-socket, og meldinga tyder at den samtalen ikkje fann stad. Gå utover frå kommandoen og stopp ved den første tingen som viser seg å vere feil.
Start der feilen dukkar opp
To prosessar er involverte, og det er samanblandinga av dei som gjer dette mystisk. Daemonen eig tunnelen og lyttar på ein socket under /run/nordvpn/. Kommandoen du skreiv, koplar til den socketen i staden for sjølv å røre grensesnitta.
Når socketen manglar eller avviser tilkoplinga, har CLI-en ingen å spørje, så han rapporterer brukar-daemon- eller system-daemon-varianten av den same klaga. Ein av desse variantane nemner stien direkte, og det er den nyttigaste setninga i heile utvekslinga.
Sjekk uniten før noko anna
Spør tenesteadministratoren om daemonen køyrer, og start og aktiver han i eitt trinn viss han ikkje gjer det:
systemctl status nordvpnd
sudo systemctl enable --now nordvpnd
nordvpn version
Viss uniten finst men er inaktiv, startar enable --now han og ordnar neste oppstart samstundes. Viss uniten ikkje finst, er ikkje pakken den du føreset, og det installerte namnet tyder meir enn namnet i notata dine. Det høyrest ut som ein pedantisk skilnad heilt til du brukar tjue minutt på å aktivere ei teneste som aldri vart installert under den etiketten. Les kva som finst, og handle etter det.
Å liste unitfilene avgjer det med éin kommando, og det er verdt å gjere før du konkluderer noko om installasjonen:
systemctl list-unit-files 'nordvpn*'
service --status-all
Utgivingar har levert tenesta under meir enn eitt unitnamn, så eit bygg som brukar nordvpn i staden for nordvpnd vil lage ein perfekt kopi av denne feilen medan ei sunn teneste køyrer rett ved sida.
Socketen og gruppa hans avgjer tilgangen
Sjølv med daemonen køyrande kan tilkoplinga verte avvist på grunn av rettar. Installatøren lagar ei nordvpn-gruppe, og socketen vert eigd i samsvar med det, så ein brukar utanfor den gruppa vert avvist medan tenesta er heilt sunn.
sudo usermod -aG nordvpn "$USER"
newgrp nordvpn
Gruppemedlemskap vert lese når ei økt startar, og difor ser endringa ut til ikkje å verke i terminalen der du gjorde ho. Eit nytt innloggingsskal eller newgrp krevst før den køyrande økta ser den nye gruppa. Test i eit nytt skal, ikkje i det som nettopp køyrde kommandoen. Elles konkluderer du med at rettinga feila når ho berre ikkje er brukt enno.
Eigarskapet til socketen sjølv er den andre halvdelen av den sjekken. Samanlikn gruppa på socketen med gruppene som skalet som køyrer CLI-en rapporterer, og spørsmålet om rettar er svart i eitt trinn i staden for ved å installere på nytt:
ls -l /run/nordvpn
id
Ein levande prosess er ikkje bevis på rett socket. Ein daemon starta av ein annan administrator, eller ein gamal pakke som batt ein annleis namngitt socket, rapporterer identisk. Kataloglista skil dei tilfella på éi line, og difor slår ho reinstallasjon.
Prosessen per brukar på eldre pakking
Nokre pakkingar køyrer ein andre prosess i konteksten til den innlogga brukaren, som skrivebordsintegrasjonen ventar å finne. Viss eit system-init-skript startar han utan å gå ned til den kontoen, leitar CLI-en etter ein daemon som inga økt eig.
På eit init utan systemd deler den dokumenterte ordninga rollene: systemtenesta køyrer under eitt namn og prosessen på brukarsida under målkontoen med chpst -u <user>. Sjekk kva ordning installasjonen din faktisk brukar før du legg til eit oppstartsskript som føreset den andre.
Korleis vite at du er ferdig
Ei oppgradering er den vanlege utløysaren, fordi den nye binærfila ventar ein tenestetilstand som den gamle aldri forlét. Stoppe, aktivere på nytt og starte i den rekkjefølgja ryddar det:
sudo systemctl stop nordvpnd
sudo systemctl enable --now nordvpnd
sudo systemctl start nordvpnd
nordvpn version
Den siste kommandoen er aksepttesten. Ein utskriven versjon tyder at socketen svarar, noko som flyttar kvar gjenverande feil til innloggings-, plan- eller tilkoplingsområdet og ut av denne artikkelen. Viss han svarar, slutt å lese her og gå og sjå på kontoen i staden.
Viss socketen framleis manglar, les unit-journalen for å sjå kvifor han avslutta, og sjekk deretter at /run/nordvpn finst og at tenestekontoen kan skrive der. Ein prosess som reiser seg og døyr med ein gong, registrerer årsaka i den journalen, og éi line er raskare å lese enn ein reinstallasjon er å utføre.