Odgovor na forumu vam da celotno ime datoteke, in ime je videti kot rešitev: en .deb, en ukaz, končano. Kar ta niz v resnici kodira, je različica paketa, arhitektura procesorja in distribucijska zbirka, proti kateri je bil zgrajen tistega dne, ko je nekdo napisal objavo. Nobena od teh treh samodejno ne opisuje plošče na vaši mizi. Stari prenos je posnetek stanja enega stroja, ne načrt namestitve za vašega.

Kaj ime datoteke tiho pritrdi

Berite ime, kot je openfortivpn_1.17.0-1_armhf.deb, z desne proti levi. Pripona je arhitektura, za katero je bila binarna datoteka prevedena, srednje polje je revizija upstreama in pakiranja, implicitno četrto polje pa je nabor knjižnic zbirke, v kateri je bila zgrajena.

Pri 64-bitni namestitvi Raspberry Pi OS je sistemska arhitektura arm64, zato dpkg -i zavrne paket armhf zaradi neskladja arhitekture. Tudi tam, kjer multiarch omogoči namestitev, binarna datoteka pričakuje različice knjižnic iz izdaje, proti kateri je bila zgrajena, novejši osnovni sistem pa jih morda ne zagotavlja več. Rezultat je nameščen paket, katerega izvršljiva datoteka se ne zažene, in to je napaka, ki jo ljudje običajno napačno pripišejo samemu odjemalcu.

To, da je plošča naprava ARM, ne naredi paketa ARM primernega. Arhitektura je ena os; izdaja in ABI sta drugi dve in ne uspeta neodvisno.

Vprašajte distribucijo, preden zaprosite za povezavo za prenos

Vsak vzdrževani kanal vam lahko pove, kaj bi namestil prav zdaj. Zaženite poizvedbo na ciljnem stroju z repozitoriji, ki jih dejansko uporablja, preden razmislite o kakršnem koli prenosu datotek.

cat /etc/os-release
dpkg --print-architecture
apt-cache policy openfortivpn

Vrstica kandidata z različico in imenom repozitorija pomeni, da ima distribucija že zgradbo za ta sistem. Brez kandidata, ali kandidat iz zbirke, ki je niste nameravali uporabiti, je informacija o vaših virih, ne o tem, ali programska oprema kje obstaja.

Če osvežitev metapodatkov ne uspe, držite to napako ločeno od vprašanja paketa. Razreševanje imen, prenos repozitorijev, manjkajoči podpis Release in zbirka ob koncu življenjske dobe vsi zlomijo apt update, preden je odjemalec sploh vpleten. Popravljanje virov je druga naloga kot izbira odjemalca VPN, in mešanje obojega je način, kako ljudje usmerijo trenutni sistem na zastarelo izdajo.

Kaj apt preveri in česa prenesena datoteka ne dobi

Običajna namestitev sledi verigi podpisov: arhiv podpiše svoj indeks, indeks nosi zgoščene vrednosti za vsak paket, paket pa se mora ujemati. referenca za preverjanje pristnosti arhiva loči to verigo od ideje preverjanja podpisa, priloženega vsaki posamezni datoteki.

Datoteka, shranjena s stare povezave HTTP, nima nič od tega. Prispe brez identitete repozitorija, se ne posodobi, ko distribucija popravi odjemalca, in nič ne zabeleži, kdo je odgovoren za njeno zamenjavo. To je lahko še vedno legitimna izbira za skrbnika s pritrjenim artefaktom, vendar mora izbira priti z lastnikom, nekje zabeleženo kontrolno vsoto in načrtom za naslednjo varnostno posodobitev.

Zatiranje napak podpisa ali izklop preverjanja TLS, da bi stari navodili še delovali, odstrani edini del postopka, ki je karkoli preverjal. Namesto tega obnovite preverjanje, ki ne uspe.

Namestite odjemalca, nato odpravite povezavo ločeno

Ko obstaja vzdrževani kandidat, ga namestite z običajno pregledano transakcijo in pustite upravitelju paketov, da zabeleži, kaj je storil.

Če uvedba res potrebuje zgradbo iz upstreama, sledite trenutnim navodilom projekta za gradnjo in jo obravnavajte kot programsko opremo, ki jo zdaj vzdržujete: razvojni paketi, pkg-config, glave knjižnice TLS in demon PPP so resnične odvisnosti, prav tako postopek odstranitve, ki ga boste potrebovali pozneje.

Namestitev je le lokalna programska faza. Prehod mora sprejeti protokol in potek preverjanja pristnosti odjemalca, odjemalec mora zaupati potrdilu, ki ga predstavi prehod, predor pa potrebuje delujočo plast PPP ter poti in lastnika razreševalnika. Dokončana transakcija paketa ne dokaže ničesar o tem, ali prehod sprejme račun ali ali je zasebni obseg dosegljiv. Preizkusite vsako plast tam, kjer se zlomi, namesto da znova zaženete namestitveni program.

Načrt, ki bi moral nadomestiti staro ime datoteke

Najprej zapišite identiteto platforme: izdajo OS, arhitekturo in seznam uporabljenih virov. Nato poimenujte pooblaščeno mesto, od koder paket prihaja, naj bo to distribucijski repozitorij, repozitorij ponudnika s pritrjenim ključem ali zgradba, ki jo sami prevedete in zapakirate.

Na koncu poimenujte vzdrževalca in pot posodobitve. Pi, ki izvaja odjemalca, ki ga nihče ne poseduje, bo deloval do prve posodobitve knjižnice, nato pa bo isto nit foruma znova našel nekdo z enako težavo.

Popravljeno prepričanje je dovolj preprosto, da ga povemo v eni vrstici: stari paket je dokaz, da je bil odjemalec nekoč zgrajen in je deloval, ne dokaz, da se bo nocoj namestil na vašo ploščo. Preverite tri osi in nato izberite kanal, ki ga lahko še naprej posodabljate.

Sorodni članki