Is dyn VPN-binêre boud foar dit CPU? Lês de ELF-kop
ELF-klasse en -masine binne ferskate fjilden, en de ynterpretearder is in tredde. Lês alle trije foardat jo in VPN-klant op in Pi of in oar board ynstallearje.
Beide bestannen binne 32-bit en mar ien fan harren rint op dyn board. In ELF32-bou foar Intel en in ELF32-bou foar ARM binne it iens oer it klassefjild en binne it net iens oer alles wat telt. In downloadside dy't in 32-bit-opsje biedt, hat jo hast neat ferteld oant jo de kop lêze fan it bestân dat jo wier downloade hawwe. It omneamen feroaret net ien ynstruksje.
Klasse en masine beantwurdzje ferskate fragen
It klassefjild seit oft it bestân 32-bit- of 64-bit-struktueren brûkt. It masinefjild neamt de ynstruksjeset dêr't it bestân foar kompilearre is. Allinnich it earste lêze is hoe't in x86-bou op in ARM-board telâne komt mei in bestânsnamme dy't folslein leaudber liket. Beide wearden komme fan itselde kommando, dêrom is it sa maklik om ien oer te slaan.
Deselde betizing jildt foar 64-bit-labels, dêr't aarch64 en x86-64 in wurdgrutte diele en hielendal gjin ynstruksjes. In side fan in leveransier dy't ien 64-bit-download listet, beskriuwt syn eigen bou, net dyn masine. Kontrolearje de kop fan it bestân ynstee fan de kolomkop op 'e side.
readelf -h ./vendor-vpn readelf -l ./vendor-vpn | head -20 file ./vendor-vpn
It earste kommando printsje de kop, ynklusyf klasse en masine. It twadde lit programmakoppen sjen, dêr't in ynterpretearderfersyk wennet. It tredde jout jo ien rigel as in tabel mear is as jo nedich hawwe.
Utfiertastimming tafoegje of in distribúsjekontrôle patchesje fertaalt neat. Emulaasje, dêr't it platfoarm it stipet, is in ynsetbeslút mei syn eigen kosten foar prestaasjes en ôfhinklikens.
Lês de kop foardat jo de ynstallearder rinne litte
Undersykje in fertroud artefakt foardat jo der eat fan útfiere. In ynstallearder dy't healwei mislearret, kin ferfongen biblioteken efterlitte en neat dat wurket, wat in slimmer útgongspunt is as it argyf dêr't jo mei begûn binne. Kopûndersyk is allinnich lêze en omkearber yn 'e sin dat neat op it systeem feroaret.
Fergelykje it masinefjild mei de pakketarsjitektuer fan it rinnende systeem, net mei de marketingnamme fan it board. In 64-bit-CPU dy't in 32-bit-brûkerslân rint, hat de 32-bit-bou nedich, en dat detail beslút hokker download natyf is. It fermogen fan it board is net de beheining; it ynstallearre brûkerslân is dat.
dpkg --print-architecture uname -m getconf LONG_BIT
It earste kommando rapportearret de arsjitektuer dêr't it systeem pakketten foar ynstallearret, en dat is de wearde dy't oerienkomme moat. De oare twa beskriuwe de kernel en de wurdgrutte, en se kinne fan it brûkerslân ôfwike by in multiarch-ynstallaasje.
As dy antwurden ferskille, beslút dan hokker de leveransier stipet foardat jo noch in argyf downloade. Rieden makket in loop fan ynstallaasjes dy't elk op in oar punt mislearje, en elke mislearring liket in nij probleem.
Kontrolearje de ynterpretearder, net allinnich de arsjitektuer
In dynamyske útfierbere bestân registrearret de lader dy't it ferwachtet yn in programmakop. Op in systeem mei in oar laderpaad wegeret de kernel it bestân te starten sels as it masinefjild krekt oerienkomt. Dat is de mislearring dy't minsken nei ûntbrekkende biblioteken stjoert.
De flatermelding fertelt yn hokker gefal jo binne, en de twa gefallen binne maklik te betizen. In formaat- of arsjitektuerôfwizing ferskilt fan in ûntbrekkend bestân of ynterpretearder, en mar ien fan harren wurdt reparearre troch in oar pakket te ynstallearjen.
readelf -l ./vendor-vpn | grep -A1 INTERP ls -l /lib64/ld-linux-x86-64.so.2
It earste kommando lit it ynterpretearderpaad sjen dat it binêre bestân oanfreget. It twadde kontrolearret oft dat paad bestiet, wat in ferkearde bou fan in ûntbrekkende lader skiedt.
Rin gjin ôfhinklikenslist tsjin in net fertroud binêr bestân, want guon ymplemintaasjes kinne it bestân útfiere dat se ûndersykje. Hâld it ûndersyk allinnich lêze en wjerstean de oantrekking om lader-symlinks ta te foegjen om in net-stipe bou starte te litten.
Freegje om in bou mei de feiten yn 'e hân
Stjoer de leveransier de OS-ferzje, de pakketarsjitektuer, de klasse- en masinewearden en de earste flatermelding. Dy kombinaasje fertsjinnet in nuttich antwurd, wylst in skermprint fan in algemiene mislearring in stipesjabloan fertsjinnet.
Hâld de fraach oer it binêre bestân apart fan de fraach oer de konfiguraasje. Sadree't de juste bou start, binne profilen, oanmeldgegevens en rûtes noch har eigen problemen, en gjin hoemannichte profylbewurking sil in binêr bestân mei de ferkearde arsjitektuer rinne litte.