Abi faili ir 32 bitu, un tikai viens no tiem darbojas jūsu platē. ELF32 būvējums Intel un ELF32 būvējums ARM sakrīt klases laukā un atšķiras visā, kam ir nozīme. Lejupielādes lapa, kas piedāvā 32 bitu opciju, jums gandrīz neko nav pateikusi, kamēr neizlasāt tā faila galveni, kuru jūs faktiski lejupielādējāt. Pārdēvēšana nemaina nevienu instrukciju.

Klase un mašīna atbild uz dažādiem jautājumiem

Klases lauks norāda, vai fails izmanto 32 bitu vai 64 bitu struktūras. Mašīnas lauks nosauc instrukciju kopu, kurai fails tika kompilēts. Lasīt tikai pirmo ir ceļš, kā x86 būvējums nonāk ARM platē ar pilnīgi ticamu faila nosaukumu. Abas vērtības nāk no vienas komandas, tāpēc vienu izlaist ir tik viegli.

Tā pati sajaukšanās attiecas uz 64 bitu etiķetēm, kur aarch64 un x86-64 dala vārda izmēru un nemaz nedala instrukcijas. Pārdevēja lapa, kurā uzskaitīta viena 64 bitu lejupielāde, apraksta savu būvējumu, nevis jūsu mašīnu. Pārbaudiet faila galveni, nevis lapas kolonnas virsrakstu.

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

Pirmā komanda izdrukā galveni, tostarp klasi un mašīnu. Otrā parāda programmas galvenes, kur atrodas interpretatora pieprasījums. Trešā dod jums vienu rindu, kad tabula ir vairāk, nekā jums vajag.

Izpildes atļaujas pievienošana vai izplatīšanas pārbaudes labošana neko netulko. Emulācija, kur platforma to atbalsta, ir izvietošanas lēmums ar savām veiktspējas un atkarību izmaksām.

Izlasiet galveni pirms instalētāja palaišanas

Pārbaudiet uzticamu artefaktu, pirms kaut ko no tā izpildāt. Instalētājs, kas neizdodas pusceļā, var atstāt aizvietotas bibliotēkas un neko strādājošu, kas ir sliktāks sākumpunkts nekā arhīvs, ar kuru sākāt. Galvenes pārbaude ir tikai lasāma un atgriezeniska tādā nozīmē, ka sistēmā nekas nemainās.

Salīdziniet mašīnas lauku ar darbojošās sistēmas pakotņu arhitektūru, nevis ar plates mārketinga nosaukumu. 64 bitu procesoram, kas darbina 32 bitu lietotāja vidi, vajag 32 bitu būvējumu, un šī detaļa izšķir, kura lejupielāde ir vietējā. Plates iespējas nav ierobežojums; instalētā lietotāja vide ir.

dpkg --print-architecture
uname -m
getconf LONG_BIT

Pirmā komanda ziņo arhitektūru, kurai sistēma instalē pakotnes, un tā ir vērtība, kurai jāsakrīt. Pārējās divas apraksta kodolu un vārda izmēru, un tās var atšķirties no lietotāja vides vairāku arhitektūru instalācijā.

Kad šīs atbildes atšķiras, izlemiet, kuru pārdevējs atbalsta, pirms lejupielādējat citu arhīvu. Minēšana rada instalāciju cilpu, no kurām katra neizdodas citā vietā, un katra neveiksme izskatās kā jauna problēma.

Pārbaudiet interpretatoru, ne tikai arhitektūru

Dinamisks izpildāmais fails programmas galvenē ieraksta ielādētāju, kuru tas gaida. Sistēmā ar citu ielādētāja ceļu kodols atsakās palaist failu, pat ja mašīnas lauks sakrīt precīzi. Tā ir neveiksme, kas liek cilvēkiem meklēt trūkstošas bibliotēkas.

Kļūdas ziņojums pasaka, kurā gadījumā jūs esat, un abus gadījumus ir viegli sajaukt. Formāta vai arhitektūras noraidījums atšķiras no trūkstoša faila vai interpretatora, un tikai viens no tiem tiek izlabots, instalējot citu pakotni.

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

Pirmā komanda parāda interpretatora ceļu, kuru pieprasa binārais fails. Otrā pārbauda, vai šis ceļš pastāv, kas atšķir nepareizu būvējumu no trūkstoša ielādētāja.

Nepalaidiet atkarību saraksta rīku uz neuzticamu bināro failu, jo dažas implementācijas var izpildīt failu, kuru tās pārbauda. Turiet pārbaudi tikai lasāmu un pretojieties kārdinājumam pievienot ielādētāja simboliskās saites, lai neatbalstīts būvējums sāktu darboties.

Palūdziet būvējumu ar faktiem rokā

Nosūtiet pārdevējam OS versiju, pakotņu arhitektūru, klases un mašīnas vērtības un pirmo kļūdas ziņojumu. Šī kombinācija pelna noderīgu atbildi, savukārt vispārīgas neveiksmes ekrānuzņēmums pelna atbalsta veidni.

Turiet binārā faila jautājumu atsevišķi no konfigurācijas jautājuma. Kad pareizais būvējums sāk darboties, profili, akreditācijas dati un maršruti joprojām ir viņu pašu problēmas, un neviens profila rediģēšanas apjoms neliks nepareizas arhitektūras binārajam failam darboties.

Saistītie raksti