Repo package o VPN client package: alin ang mauna?
Ang release package ay nagrerehistro lamang ng source at signing key. Magpasya kung sulit ang repo ng vendor, pagkatapos ay i-install ang client bilang hiwalay na hakbang.
I-install mo ang package ng vendor, nagbabalik ng zero ang command, at wala pa ring VPN application na mailunsad. Nangyayari ito kapag ang package na in-install mo ay nag-configure ng repo sa halip na maghatid ng client, at makikita ang pagkakaiba sa iniwan nito sa disk. Kung kailangan mo ang pareho, at sa anong pagkakasunod-sunod, nakadepende ito sa tatlong kondisyon at hindi sa pangalan ng vendor. Ang desisyon sa ibaba ay pinapanatiling hiwalay ang pag-set up ng source, pag-refresh ng metadata at pag-install ng application, bawat isa may sariling ebidensya.
Ano ang talagang binabago ng bawat package
Ang configuration package ng repo ay nagsusulat ng APT source entry, nag-aangkat ng signing key na pinagkakatiwalaan ng entry na iyon, at umaalis. Ang nilalaman nito ay ilang file sa ilalim ng /etc/apt at isang keyring, at walang maipapatakbo. Ang client package ay naghahatid ng daemon o desktop application, ang mga library at dependency nito, at iyon ang bagay na napupunta sa menu o sa systemd unit.
Ang mga pangalan ng file na nagtatapos sa -release ay nagpapahiwatig ng unang uri, ngunit ang suffix ay isang kombensiyon, hindi garantiya. Ang mapagkakatiwalaang pahayag tungkol sa papel ng isang package ay ang listahan ng file at ang mga dependency nito, at pareho ay mababasa bago mag-install ng anuman. Ang vendor na nagbabago ng anyo ng packaging nito ay pinapanatili ang parehong pangalan ng file at binabago ang nilalaman, kaya ang sagot na kinopya mula sa dalawang taong gulang na thread ay maaaring maglarawan ng package na wala na. Basahin ang kasalukuyang mga tagubilin ng provider para sa release na pinapatakbo mo, pagkatapos ay tingnan kung ano ang idinedeklara ng package.
Tatlong yugto ang sumusunod mula sa paghahating iyon: irehistro ang source, i-refresh ang metadata na pinapakain nito, pagkatapos ay i-install ang application sa pangalan. Ang gabay sa pag-install para sa Debian at Ubuntu ay pinapanatili silang hiwalay, kaya hinihiling ang client sa susunod na hakbang at hindi ng package na nag-set up ng source.
Tatlong kondisyon na nagpapasya sa pagkakasunod-sunod
Ang unang kondisyon ay kung ang vendor ay naglalathala ng repo para sa eksaktong release ng iyong distribution. Ang source line na ginawa para sa isang suite ay maaaring maresolba laban sa mga dependency ng ibang suite at mag-install ng halo na walang sinuman ang sumubok.
Ang pangalawa ay kung ang iyong distribution ay may dala nang client. Kapag mayroon, sinusundan ng distro package ang mga library transition at security update ng iyong release, habang ang package ng vendor ay maaaring gumalaw nang mas mabilis at magdala ng sarili nitong kopya ng mga shared library.
Ang pangatlo ay kung aling mga feature ang talagang kailangan mo. Ang build ng vendor ay maaaring maghatid ng mas bagong implementasyon ng protocol o desktop integration na hindi na-package ng iyong distribution, at iyon ay tunay na dahilan para tanggapin ang pangalawang source. Kung ang build ng distro ay sumasaklaw sa iyong paggamit, ang pagdaragdag ng third-party repo ay bumibili ng update na trabaho at isa pang ugnayan ng pagtitiwala sa napakaliit na halaga.
Magpasya sa tatlong sagot bago umiral ang source line, dahil ang pag-alis nito mamaya ay nangangahulugan ng paglilinis ng package at ng key nito. Kapag napagpasyahan na, ang pagkakasunod-sunod sa loob ng vendor path ay hindi pagpipilian: source muna, metadata pangalawa, application pangatlo, hindi kailanman kabaliktaran.
Suriin kung ano ang iniwan ng release package
Bago mag-install ng anumang iba pa, basahin ang listahan ng file at hindi ang paglalarawan. Sa mga system ng pamilyang Debian, sinasagot ng manifest ng package kung ano ang na-configure nito at saan napunta ang key.
dpkg -L proton-vpn-release | grep -E 'apt|keyring'
apt-cache policy proton-vpn-gnome-desktop
grep -r protonvpn /etc/apt/sources.list.d/
Ipinapakita ng unang linya ang source file at ang landas ng keyring, habang ang pangalawa ay nag-uulat kung anong bersyon ang maiaalok ng mga naka-configure na source. Kung walang ipinapakita ang apt-cache policy para sa pangalan ng client, hindi nangyari ang pag-refresh ng metadata o ang source ay naka-target sa ibang suite. Kinukumpirma ng pangatlo na ang entry ay nasa lugar kung saan talagang nagbabasa ang APT.
Itugma ang landas ng keyring sa field na signed-by= sa source line. Ang key sa maling direktoryo ay gumagawa ng error na hindi authenticated na source, na ibang fault kaysa sa package na hindi available.
Ituring ang pagkabigo ng dependency bilang hiwalay na yugto
Ang pag-install ng na-download na .deb gamit ang dpkg -i ay walang inaayos: sinusuri nito ang mga dependency, iniuulat ang kulang at iniiwan ang package na kalahating naka-configure. Iyon ay inaasahang pag-uugali, hindi sira ang download.
Pagkatapos, hinihiling ng apt --fix-broken install sa APT ang pare-parehong estado mula sa mga source na mayroon ka. Hindi alam ng APT kung aling VPN ang gusto mo, at ang plano nito ay maaaring mag-alis ng mga package upang matugunan ang nahanap na paghihigpit. Basahin ang iminungkahing transaksyon bago sumagot ng oo, at huminto kung ang mga pag-alis ay humahawak sa isang bagay na kailangan mo. Ang pag-uulit ng pag-aayos nang hindi binabasa ang plano ay kung paano ang maliit na puwang ng dependency ay nagiging desktop na hindi na bumubukas.
Itago ang unang makabuluhang mensahe mula sa package manager at uriin ito bago kumilos. Ang hindi pinirmahang repo, package na wala sa mga naka-configure na source, salungatan ng bersyon, at client na bumubukas at pagkatapos ay namamatay ay apat na magkakaibang fault.
Beripikahin ang application, hindi ang repo
Kumpirmahin na naabot ng client ang naka-install na estado, pagkatapos ay kumpirmahin na bumubukas ang program. Dapat iulat ng dpkg-query -W -f='${Status} ${Version}' proton-vpn-gnome-desktop ang install ok installed na may bersyon, at ang pagkabigo sa paglunsad pagkatapos nito ay problema ng application at hindi ng packaging.
Itala ang may-ari ng repo at ang application package bilang hiwalay na mga bagay, upang ang pag-alis mamaya ay kunin ang tama at iwanang buo ang isa. Kapag binago ng vendor ang gabay nito, ang source entry ang binabasa mong muli; ang pangalan ng client ang iyong ini-install muli.