Oba soubory jsou 32bitové a jen jeden z nich běží na vaší desce. Sestavení ELF32 pro Intel a sestavení ELF32 pro ARM se shodují v poli třídy a liší se ve všem, na čem záleží. Stránka pro stažení s volbou 32 bitů vám neřekla téměř nic, dokud si nepřečtete hlavičku souboru, který jste skutečně stáhli. Přejmenování nezmění jedinou instrukci.

Třída a stroj odpovídají na různé otázky

Pole třídy říká, zda soubor používá 32bitové, nebo 64bitové struktury. Pole stroje pojmenovává instrukční sadu, pro kterou byl soubor přeložen. Číst jen to první je způsob, jakým sestavení x86 skončí na desce ARM s názvem souboru, který vypadá naprosto věrohodně. Obě hodnoty pocházejí ze stejného příkazu, a proto je tak snadné jednu přeskočit.

Stejný zmatek platí pro 64bitové popisky, kde aarch64 a x86-64 sdílejí velikost slova a žádnou instrukci. Stránka dodavatele, která uvádí jedno 64bitové stažení, popisuje jeho vlastní sestavení, ne váš stroj. Zkontrolujte hlavičku souboru, ne záhlaví sloupce na stránce.

readelf -h ./vendor-vpn
readelf -l ./vendor-vpn | head -20
file ./vendor-vpn

První příkaz vypíše hlavičku včetně třídy a stroje. Druhý ukáže programové hlavičky, kde sídlí požadavek na interpret. Třetí vám dá jeden řádek, když je tabulka víc, než potřebujete.

Přidání práva spouštět nebo záplatování kontroly distribuce nic nepřeloží. Emulace, kde ji platforma podporuje, je rozhodnutí o nasazení s vlastními náklady na výkon a závislosti.

Přečtěte si hlavičku, než spustíte instalátor

Prohlédněte si důvěryhodný artefakt, než z něj cokoli spustíte. Instalátor, který selže v polovině, může nechat nahrazené knihovny a nic funkční, což je horší výchozí bod než archiv, se kterým jste začali. Prohlídka hlavičky je jen pro čtení a vratná v tom smyslu, že se v systému nic nemění.

Porovnejte pole stroje s architekturou balíčků běžícího systému, ne s marketingovým názvem desky. 64bitový procesor provozující 32bitový uživatelský prostor potřebuje 32bitové sestavení a tento detail rozhoduje, které stažení je nativní. Schopnost desky není omezením; nainstalovaný uživatelský prostor je.

dpkg --print-architecture
uname -m
getconf LONG_BIT

První příkaz hlásí architekturu, pro kterou systém instaluje balíčky, a to je hodnota, která musí souhlasit. Další dva popisují jádro a velikost slova a mohou se s uživatelským prostorem rozejít při multiarch instalaci.

Když se tyto odpovědi rozcházejí, rozhodněte, kterou dodavatel podporuje, než stáhnete další archiv. Hádání vytváří smyčku instalací, z nichž každá selže v jiném místě, a každé selhání vypadá jako nový problém.

Zkontrolujte interpret, ne jen architekturu

Dynamický spustitelný soubor zaznamenává do programové hlavičky zavaděč, který očekává. V systému s jinou cestou zavaděče jádro odmítne soubor spustit, i když pole stroje přesně odpovídá. To je selhání, které posílá lidi hledat chybějící knihovny.

Chybová zpráva vám řekne, v jakém případě jste, a ty dva případy je snadné zaměnit. Odmítnutí kvůli formátu nebo architektuře se liší od chybějícího souboru nebo interpretu, a jen jeden z nich se opraví instalací jiného balíčku.

readelf -l ./vendor-vpn | grep -A1 INTERP
ls -l /lib64/ld-linux-x86-64.so.2

První příkaz ukáže cestu interpretu, kterou binární soubor požaduje. Druhý ověří, zda tato cesta existuje, což odděluje špatné sestavení od chybějícího zavaděče.

Nespouštějte výpis závislostí na nedůvěryhodném binárním souboru, protože některé implementace mohou spustit soubor, který prohlížejí. Udržujte prohlídku jen pro čtení a odolejte přidávání symbolických odkazů zavaděče, abyste spustili nepodporované sestavení.

Požádejte o sestavení s fakty v ruce

Pošlete dodavateli verzi OS, architekturu balíčků, hodnoty třídy a stroje a první chybovou zprávu. Taková kombinace si zaslouží užitečnou odpověď, zatímco snímek obrazovky obecného selhání si zaslouží šablonu podpory.

Držte otázku binárního souboru oddělenou od otázky konfigurace. Jakmile správné sestavení naběhne, profily, přihlašovací údaje a trasy jsou stále jejich vlastní problémy a žádné množství úprav profilu nespustí binární soubor špatné architektury.

Související články