Odpověď na fóru vám dá celý název souboru a název vypadá jako řešení: jeden .deb, jeden příkaz, hotovo. Co tento řetězec ve skutečnosti kóduje, je verze balíčku, architektura procesoru a distribuční sada, proti které byl v den, kdy někdo napsal příspěvek, sestaven. Žádná z těch tří automaticky nepopisuje desku na vašem stole. Staré stažení je snímek situace jednoho stroje, ne plán instalace pro ten váš.

Co název souboru tiše fixuje

Čtěte název jako openfortivpn_1.17.0-1_armhf.deb zprava doleva. Přípona je architektura, pro kterou byl binární soubor zkompilován, prostřední pole je revize upstreamu a balení a implicitní čtvrté pole je sada knihoven distribuce, ve které byl sestaven.

Na 64bitové instalaci Raspberry Pi OS je systémová architektura arm64, takže dpkg -i odmítne balíček armhf kvůli nesouladu architektury. I když multiarch instalaci umožní, binární soubor očekává verze knihoven z vydání, proti kterému byl sestaven, a novější základní systém je už nemusí poskytovat. Výsledkem je nainstalovaný balíček, jehož spustitelný soubor se nespustí, a to je selhání, které lidé obvykle mylně připisují samotnému klientovi.

To, že je deska zařízení ARM, nedělá balíček ARM vhodným. Architektura je jedna osa; vydání a ABI jsou další dvě a selhávají nezávisle.

Ptejte se distribuce, než se zeptáte na odkaz ke stažení

Každý udržovaný kanál vám může říct, co by právě teď nainstaloval. Spusťte dotaz na cílovém stroji s repozitáři, které skutečně používá, než zvážíte jakýkoli přenos souboru.

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

Řádek kandidáta s verzí a názvem repozitáře znamená, že distribuce už pro tento systém má sestavení. Žádný kandidát, nebo kandidát ze sady, kterou jste nechtěli použít, je informace o vašich zdrojích, ne o tom, že software někde existuje.

Pokud obnovení metadat selže, držte toto selhání oddělené od otázky balíčku. Překlad jmen, transport repozitáře, chybějící podpis Release a sada na konci životnosti všechny rozbíjí apt update dřív, než je klient vůbec ve hře. Oprava zdrojů je jiný úkol než výběr VPN klienta a míchání obojího je způsob, jakým lidé nasměrují aktuální systém na zastaralé vydání.

Co apt ověřuje a co stažený soubor nedostane

Normální instalace sleduje řetěz podpisů: archiv podepisuje svůj index, index nese hashe každého balíčku a balíček musí odpovídat. reference k autentizaci archivu odděluje tento řetěz od představy ověřování podpisu připojeného ke každému jednotlivému souboru.

Soubor uložený ze starého HTTP odkazu nemá nic z toho. Přichází bez identity repozitáře, neaktualizuje se, když distribuce záplatuje klienta, a nic nezaznamenává, kdo je odpovědný za jeho nahrazení. Pořád to může být legitimní volba pro správce s fixovaným artefaktem, ale volba musí mít vlastníka, někde zaznamenaný kontrolní součet a plán na další bezpečnostní aktualizaci.

Potlačení chyb podpisu nebo vypnutí ověřování TLS, aby starý pokyn dál fungoval, odstraňuje jedinou část procesu, která něco kontrolovala. Obnovte místo toho selhávající kontrolu.

Nainstalujte klienta, pak laděte připojení odděleně

Když existuje udržovaný kandidát, nainstalujte ho běžnou revidovanou transakcí a nechte správce balíčků zaznamenat, co udělal.

Pokud nasazení skutečně potřebuje sestavení z upstreamu, postupujte podle aktuálních pokynů projektu k sestavení a berte ho jako software, který teď udržujete: vývojové balíčky, pkg-config, hlavičky knihovny TLS a démon PPP jsou skutečné závislosti, stejně jako postup odinstalace, který budete později potřebovat.

Instalace je jen místní softwarová fáze. Brána musí přijmout protokol a tok autentizace klienta, klient musí důvěřovat certifikátu, který brána předkládá, a tunel potřebuje funkční vrstvu PPP plus trasy a vlastníka resolveru. Dokončená transakce balíčku nic nedokazuje o tom, zda brána přijme účet nebo zda je privátní rozsah dostupný. Testujte každou vrstvu tam, kde se láme, místo opětovného spouštění instalátoru.

Plán, který má nahradit starý název souboru

Nejprve zapište identitu platformy: vydání OS, architekturu a seznam používaných zdrojů. Pak pojmenujte autorizované místo, odkud balíček pochází — ať už je to distribuční repozitář, repozitář dodavatele s fixovaným klíčem, nebo sestavení, které sami kompilujete a balíte.

Nakonec pojmenujte správce a cestu aktualizace. Pi, který spouští klienta, kterého nikdo nevlastní, bude fungovat až do první aktualizace knihovny, a pak stejné vlákno fóra znovu najde někdo se stejným problémem.

Opravené přesvědčení je dost jednoduché na to, aby se dalo říct jednou větou: starý balíček je důkaz, že klient kdysi šel sestavit a běžel, ne důkaz, že se dnes večer nainstaluje na vaši desku. Zkontrolujte tři osy a pak zvolte kanál, který můžete dál aktualizovat.

Související články