nordvpn draaie en in berjocht krije oer in daemon dy't net berikber is, is in smelle klacht dy't meastentiids komt as jo al let binne. It seit neat oer de fraach oft de tunnel wurket, want de CLI is allinnich in foarkant: hy praat oer in Unix-socket mei in eftergrûnproses, en it berjocht betsjut dat dat petear net bard is. Gean fan it kommando nei bûten ta en stop by it earste ding dat ûnwier blykt te wêzen.

Begjin wêr't de flater ferskynt

Der binne twa prosessen by belutsen, en it trochinoar heljen fan dy beiden is wat dit mysterieus makket. De daemon hat de tunnel en harket op in socket ûnder /run/nordvpn/. It kommando dat jo typt hawwe ferbynt mei dy socket ynstee sels de ynterfaces oan te reitsjen.

As de socket ûntbrekt of de ferbining wegeret, hat de CLI nimmen om te freegjen, dus meldt er de foarm „brûkers-daemon“ of „systeem-daemon“ fan deselde klacht. Ien fan dy foarmen neamt it paad direkt, en dat is de nuttichste sin fan it hiele petear.

Kontrolearje de unit earst en dan de rest

Freegje de tsjinstbehearder oft de daemon draait, en start en aktivearje him dan yn ien stap as dat net sa is:

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

As de unit bestiet mar ynaktyf is, lit enable --now him sawol starte as de folgjende opstart regelje. As de unit net bestiet, is it pakket net dat jo ferwachtsje, en de ynstallearre namme is wichtiger as de namme yn jo notysjes. Dat klinkt as in pedantysk ûnderskie oant jo tweintich minuten besteegje oan it aktivearjen fan in tsjinst dy't nea ûnder dat label ynstallearre is. Lês wat der is, en hannelje dêrnei.

It listjen fan de unit-triemmen fersettet dat yn ien kommando, en it is de muoite wurdich foardat jo eat oer de ynstallaasje konkludearje:

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

Utjeften hawwe de tsjinst ûnder mear as ien unit-namme levere, dus in build dy't nordvpn brûkt yn plak fan nordvpnd sil in perfekte kopy fan dizze flater meitsje wylst in sûne tsjinst fuort dernaast draait.

De socket en syn groep beslisse tagong

Sels mei de daemon oan, kin de ferbining wegere wurde op grûn fan rjochten. De ynstallearder makket in groep nordvpn, en de socket wurdt dêrneffens besitten, dus in brûker bûten dy groep wurdt wegere wylst de tsjinst folslein sûn is.

sudo usermod -aG nordvpn "$USER"
newgrp nordvpn

Groepslidmaatskip wurdt lêzen as in sesje begjint, en dêrom liket de feroaring net te wurkjen yn 'e terminal wêr't jo him makke hawwe. In nije oanmeldskulp of newgrp is nedich foardat de draaiende sesje de nije groep sjocht. Test yn in nije skulp, net yn dy't krekt it kommando draaide. Oars konkludearje jo dat de oplossing mislearre is wylst dy gewoan noch net tapast is.

It besit fan de socket sels is de twadde helte fan dy kontrôle. Fergelykje de groep op de socket mei de groepen dy't de skulp meldt wêryn de CLI draait, en de fraach fan rjochten is yn ien stap beantwurde ynstee fan troch wer te ynstallearjen:

ls -l /run/nordvpn
id

In libbene proses is gjin bewiis fan de juste socket. In daemon dy't troch in oare behearder start is, of in âld pakket dat in oars neamde socket bûn hat, meldt itselde. De triemlist ûnderskiedt dy gefallen yn ien rigel, en dêrom is it better as wer ynstallearje.

It proses per brûker by âldere pakketten

Guon pakketten draaie in twadde proses yn 'e kontekst fan de oanmelde brûker, dy't de buroblêdyntergraasje ferwachtet te finen. As in systeem-initskript it start sûnder nei dat akkount oer te gean, siket de CLI in daemon dy't gjin inkele sesje besit.

By in init sûnder systemd ferdielt de dokumintearre regeling de rollen: de systeemtsjinst draait ûnder ien namme en it proses oan 'e brûkerskant ûnder it doelakkount mei chpst -u <user>. Kontrolearje hokker regeling jo ynstallaasje echt brûkt foardat jo in opstartskript tafoegje dat de oare ferûnderstelt.

Hoe jo witte dat jo klear binne

In upgrade is de gewoane oanlieding, want it nije binary ferwachtet in tsjinststatus dy't it âlde nea efterlitten hat. Stopje, wer aktivearje en starte yn dy folchoarder makket dat skjin:

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

Dat lêste kommando is de akseptaasjetest. In printe ferzje betsjut dat de socket antwurdet, wat elke oerbleaune fout nei oanmelding, plan of ferbining ferpleatst en út dit artikel wei. As er antwurdet, stopje hjir mei lêzen en gean ris nei it akkount sjen.

As de socket noch altyd ûntbrekt, lês it unit-journal om te sjen wêrom't er einige, en kontrolearje dan oft /run/nordvpn bestiet en oft it tsjinstakkount dêr skriuwe kin. In proses dat opkomt en daliks stjert, skriuwt syn reden yn dat journal, en ien rigel lêst flugger as in werynstallaasje docht.

Relatearre artikelen