nordvpn inasema haiwezi kufikia daemon: socket, kikundi au unit?
Handaki inaweza kuwa nzuri kabisa; CLI imepoteza tu socket yake kwa nordvpnd. Nenda kutoka amri hadi unit, kisha hadi ruhusa za socket, na simama kwenye kushindwa kwa kwanza.
Kuendesha nordvpn na kupokea ujumbe kuhusu daemon isiyoweza kufikiwa ni malalamiko membamba ambayo kwa kawaida huja wakati tayari umechelewa. Hayasemi chochote kuhusu kama handaki inafanya kazi, kwa sababu CLI ni sehemu ya mbele tu: inazungumza na mchakato wa nyuma kupitia socket ya Unix, na ujumbe unamaanisha kuwa mazungumzo hayo hayakufanyika. Toka nje ya amri na simama kwenye jambo la kwanza linaloonekana kuwa la uongo.
Anza mahali hitilafu inaonekana
Kuna michakato miwili inayohusika, na kuichanganya ndiyo kunafanya hili lionekane kuwa fumbo. Daemon inamiliki handaki na inasikiliza kwenye socket iliyo chini ya /run/nordvpn/. Amri uliyoandika inaunganisha kwenye socket hiyo badala ya kugusa violesura yenyewe.
Socket inapokosekana au inapokataa muunganisho, CLI haina mtu wa kumuuliza, kwa hiyo inaripoti aina ya «daemon ya mtumiaji» au «daemon ya mfumo» ya malalamiko yale yale. Moja ya aina hizo inataja njia moja kwa moja, na hiyo ni sentensi yenye manufaa zaidi katika mazungumzo yote.
Angalia unit kabla ya kitu kingine chochote
Muulize msimamizi wa huduma kama daemon inaendesha, na ikiwa haijaendesha iwashe na uihuishe kwa hatua moja:
systemctl status nordvpnd
sudo systemctl enable --now nordvpnd
nordvpn version
Ikiwa unit ipo lakini haifanyi kazi, enable --now huiwasha na hupanga uanzishaji ujao kwa wakati mmoja. Ikiwa unit haipo, kifurushi si kile unachodhani, na jina lililosakinishwa ni muhimu zaidi kuliko jina lililo kwenye madokezo yako. Hii inasikika kama tofauti ndogo hadi utakapotumia dakika ishirini kuwasha huduma ambayo haikuwa imesakinishwa chini ya lebo hiyo. Soma kilicho, kisha tenda kulingana na hilo.
Kuorodhesha faili za unit hutatua hilo kwa amri moja, na inafaa kufanya hivyo kabla ya kuhitimisha chochote kuhusu usakinishaji:
systemctl list-unit-files 'nordvpn*'
service --status-all
Matoleo yamewasilisha huduma chini ya zaidi ya jina moja la unit, kwa hiyo build inayotumia nordvpn badala ya nordvpnd itazalisha nakala kamili ya hitilafu hii wakati huduma yenye afya inaendesha kando yake.
Socket na kikundi chake huamua ufikiaji
Hata daemon ikiwa inaendesha, muunganisho unaweza kukataliwa kwa sababu ya ruhusa. Kisakinishi huunda kikundi nordvpn, na socket inamilikiwa kulingana na hilo, kwa hiyo mtumiaji aliye nje ya kikundi hicho anakataliwa wakati huduma ikiwa na afya kikamilifu.
sudo usermod -aG nordvpn "$USER"
newgrp nordvpn
Uanachama wa kikundi husomwa kipindi kinapoanza, ndiyo sababu mabadiliko yanaonekana hayafanyi kazi kwenye terminal uliyoyafanyia. Kifaa kipya cha kuingia kinahitajika au newgrp kabla kipindi kinachoendesha hakijaona kikundi kipya. Jaribu kwenye shell mpya, si kwenye ile iliyoendesha amri hivi punde. Vinginevyo utahitimisha kuwa marekebisho yameshindwa wakati hayajatumika tu bado.
Umiliki wa socket yenyewe ni nusu ya pili ya ukaguzi huo. Linganisha kikundi kwenye socket na vikundi vinavyoripotiwa kwenye shell inayoendesha CLI, na swali la ruhusa linajibiwa kwa hatua moja badala ya kusakinisha upya:
ls -l /run/nordvpn
id
Mchakato hai si uthibitisho wa socket sahihi. Daemon iliyoanzishwa na msimamizi mwingine, au kifurushi cha zamani kilichofunga socket yenye jina tofauti, huripoti vivyo hivyo. Orodha ya saraka hutofautisha hali hizo kwa mstari mmoja, ndiyo sababu inashinda usakinishaji upya.
Mchakato kwa kila mtumiaji kwenye ufungashaji wa zamani
Baadhi ya ufungashaji huendesha mchakato wa pili katika mazingira ya mtumiaji aliyeingia, ambao muungano wa desktop unatarajia kuupata. Ikiwa script ya init ya mfumo inaiwasha bila kushuka kwenye akaunti hiyo, CLI hutafuta daemon ambayo hakuna kipindi kinachomiliki.
Kwenye init isiyo ya systemd, mpangilio ulioandikwa hugawanya majukumu: huduma ya mfumo inaendesha chini ya jina moja na mchakato wa upande wa mtumiaji chini ya akaunti lengwa ukitumia chpst -u <user>. Angalia mpangilio ambao usakinishaji wako unatumia kweli kabla ya kuongeza script ya kuanzisha inayodhani mwingine.
Jinsi ya kujua umemaliza
Kichocheo cha kawaida ni uboreshaji, kwa sababu faili mpya ya binary inatarajia hali ya huduma ambayo ya zamani haikuacha kamwe. Kusimamisha, kuwezesha upya na kuanzisha kwa mpangilio huo husafisha hilo:
sudo systemctl stop nordvpnd
sudo systemctl enable --now nordvpnd
sudo systemctl start nordvpnd
nordvpn version
Amri ya mwisho ni jaribio la kukubalika. Toleo lililochapishwa linamaanisha socket inajibu, jambo ambalo huhamisha kila hitilafu iliyobaki kwenda eneo la kuingia, mpango au muunganisho na kuiondoa kwenye makala haya. Ikijibu, acha kusoma hapa na uende kuangalia akaunti badala yake.
Ikiwa socket bado haipo, soma jarida la unit ili kuona kwa nini iliacha, kisha angalia kuwa /run/nordvpn ipo na kwamba akaunti ya huduma inaweza kuandika hapo. Mchakato unaoinuka na kufa mara moja hurekodi sababu yake katika jarida hilo, na mstari mmoja husomwa haraka kuliko usakinishaji upya unavyotekelezwa.