Pokretanje nordvpna i poruka o nedostupnom daemonu usko je saopštenje koje obično stigne kad već kasnite. Ono ne govori ništa o tome radi li tunel, jer je CLI samo prednji deo: razgovara sa pozadinskim procesom preko Unix socketa, a poruka znači da se taj razgovor nije dogodio. Idite od komande prema spolja i zaustavite se na prvoj stvari koja se pokaže netačnom.

Počnite tamo gde se greška pojavljuje

Uključena su dva procesa, i upravo njihovo mešanje čini ovu situaciju tajanstvenom. Daemon poseduje tunel i sluša na socketu pod /run/nordvpn/. Komanda koju ste otkucali povezuje se na taj socket umesto da sama dira interfejse.

Kad socket nedostaje ili odbija vezu, CLI nema koga da pita, pa prijavljuje varijantu „korisnički daemon“ ili „sistemski daemon“ iste žalbe. Jedna od tih varijanti izravno navodi putanju, i to je najkorisnija rečenica u celom razgovoru.

Proverite unit pre svega ostalog

Pitajte upravitelja servisa radi li daemon, pa ga pokrenite i omogućite u jednom koraku ako ne radi:

systemctl status nordvpnd
sudo systemctl enable --now nordvpnd
nordvpn version

Ako unit postoji ali je neaktivan, enable --now ga istovremeno pokreće i uređuje sledeće podizanje. Ako unit ne postoji, paket nije onaj koji pretpostavljate, a instalirano ime važnije je od imena u vašim beleškama. To zvuči kao pedantna razlika dok ne potrošite dvadeset minuta na omogućavanje servisa koji nikada nije instaliran pod tim imenom. Pročitajte šta postoji, pa postupite prema tome.

Popis unit datoteka rešava to jednom komandom i vredi ga obaviti pre nego što zaključite bilo šta o instalaciji:

systemctl list-unit-files 'nordvpn*'
service --status-all

Izdanja su isporučivala servis pod više od jednog imena unita, pa će build koji koristi nordvpn umesto nordvpnd proizvesti savršenu kopiju ove greške dok zdravi servis radi odmah pored njega.

Socket i njegova grupa odlučuju o pristupu

Čak i sa pokrenutim daemonom, veza može biti odbijena zbog dozvola. Instalater stvara grupu nordvpn i socket se u skladu s tim poseduje, pa korisnik izvan te grupe dobija odbijenicu dok je servis potpuno zdrav.

sudo usermod -aG nordvpn "$USER"
newgrp nordvpn

Članstvo u grupi čita se pri početku sesije, zato se čini da promena ne radi u terminalu u kojem ste je napravili. Potrebna je nova prijavna ljuska ili newgrp pre nego što pokrenuta sesija vidi novu grupu. Testirajte u novoj ljusci, ne u onoj koja je upravo izvršila komandu. Inače ćete zaključiti da popravka nije uspela, a ona jednostavno još nije primenjena.

Vlasništvo nad samim socketom druga je polovina te provere. Uporedite grupu na socketu sa grupama koje prijavljuje ljuska u kojoj radi CLI, i pitanje dozvola rešava se jednim korakom umesto reinstalacijom:

ls -l /run/nordvpn
id

Živ proces nije dokaz ispravnog socketa. Daemon pokrenut od drugog upravitelja ili stari paket koji je vezao drugačije imenovan socket prijavljuju isto. Popis direktorija razlikuje te slučajeve u jednom redu, zato je bolji od reinstalacije.

Proces po korisniku na starijem pakovanju

Neka pakovanja pokreću drugi proces u kontekstu prijavljenog korisnika, koji desktop integracija očekuje da pronađe. Ako ga sistemska init skripta pokrene bez prelaska na taj nalog, CLI traži daemon kojeg ne poseduje nijedna sesija.

Na initu bez systemda dokumentovani raspored deli uloge: sistemski servis radi pod jednim imenom, a proces na strani korisnika pod ciljnim nalogom uz chpst -u <user>. Proverite koji raspored vaša instalacija zaista koristi pre nego što dodate startnu skriptu koja pretpostavlja onaj drugi.

Kako da znate da ste završili

Nadogradnja je uobičajeni povod, jer novi binarni fajl očekuje stanje servisa koje stari nikada nije ostavio. Zaustavljanje, ponovno omogućavanje i pokretanje tim redom to čisti:

sudo systemctl stop nordvpnd
sudo systemctl enable --now nordvpnd
sudo systemctl start nordvpnd
nordvpn version

Poslednja komanda je test prihvatanja. Ispisana verzija znači da socket odgovara, što svaki preostali kvar premešta u oblast prijave, plana ili povezanosti i izvodi ga iz ovog članka. Ako odgovori, prestanite da čitate ovde i radije pogledajte nalog.

Ako socket i dalje nedostaje, pročitajte journal unita da vidite zašto se zaustavio, pa proverite da li /run/nordvpn postoji i može li servisni nalog tamo da piše. Proces koji se podigne i odmah umre beleži svoj razlog u tom journalu, a jedan red je brže pročitati nego što je reinstalaciju izvesti.

Povezani članci