Hər iki fayl 32 bitdir və yalnız biri lövhənizdə işləyir. Intel üçün ELF32 qurulusu və ARM üçün ELF32 qurulusu sinif sahəsində razılaşır və vacib olan hər şeydə fərqlənir. 32 bit seçim təklif edən yükləmə səhifəsi, həqiqətən yüklədiyiniz faylın başlığını oxuyana qədər sizə demək olar ki, heç nə deməmişdir. Adını dəyişmək bir təlimatı belə dəyişmir.

Sinf və maşın fərqli suallara cavab verir

Sinf sahəsi faylın 32 bit yoxsa 64 bit strukturlar istifadə etdiyini bildirir. Maşın sahəsi faylın hansı təlimat dəsti üçün tərtib edildiyini göstərir. Yalnız birincisini oxumaq, x86 qurulusunun tam inandırıcı görünən fayl adı ilə ARM lövhəsinə düşməsinin yoludur. Hər iki dəyər eyni əmrdən gəlir, buna görə birini atlamaq çox asandır.

Eyni qarışıqlıq 64 bit etiketlərə də aiddir, burada aarch64 və x86-64 söz ölçüsünü paylaşır və heç bir təlimatı paylaşmır. Bir 64 bit yükləmə sadalayan satıcı səhifəsi öz qurulusunu təsvir edir, sizin maşınınızı yox. Səhifədəki sütun başlığına deyil, faylın başlığına baxın.

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

Birinci əmr başlığı çap edir, o cümlədən sinif və maşın. İkincisi proqram başlıqlarını göstərir, interpretator tələbi orada yaşayır. Üçüncüsü cədvəl ehtiyacınızdan çox olduqda sizə bir sətir verir.

İcra icazəsi əlavə etmək və ya distributiv yoxlamasını yamaq heç nəyi tərcümə etmir. Emulyasiya, platforma dəstəklədiyi yerdə, öz performans və asılılıq xərci olan yerləşdirmə qərarıdır.

Quraşdırıcını işə salmadan əvvəl başlığı oxuyun

Etibarlı bir artefaktı ondan heç nə icra etməzdən əvvəl yoxlayın. Yarı yolda uğursuz olan quraşdırıcı kitabxanaları dəyişdirilmiş və heç nə işləməyən vəziyyətdə qoya bilər ki, bu, başladığınız arxivdən daha pis başlanğıc nöqtəsidir. Başlıq yoxlaması yalnız oxunuşdur və sistemdə heç nəyin dəyişməməsi mənasında geri qaytarıla bilər.

Maşın sahəsini lövhənin marketinq adı ilə deyil, işləyən sistemin paket arxitekturası ilə müqayisə edin. 32 bit istifadəçi mühiti işlədən 64 bit prosessor 32 bit qurulusuna ehtiyac duyur və bu detal hansı yükləmənin doğma olduğunu müəyyən edir. Lövhənin qabiliyyəti məhdudiyyət deyil; quraşdırılmış istifadəçi mühiti məhdudiyyətdir.

dpkg --print-architecture
uname -m
getconf LONG_BIT

Birinci əmr sistemin paketləri hansı arxitektura üçün quraşdırdığını bildirir və uyğun olmalı olan dəyər budur. Digər ikisi nüvəni və söz ölçüsünü təsvir edir və çoxarxitekturalı quraşdırmada istifadəçi mühiti ilə fərqlənə bilər.

Bu cavablar fərqləndikdə, başqa arxiv yükləməzdən əvvəl satıcının hansını dəstəklədiyinə qərar verin. Təxmin etmək hər biri fərqli nöqtədə uğursuz olan quraşdırmalar dövrü yaradır və hər uğursuzluq yeni problem kimi görünür.

Interpretatoru yoxlayın, yalnız arxitekturanı deyil

Dinamik icra olunan fayl gözlədiyi yükləyicini proqram başlığında qeyd edir. Yükləyici yolu fərqli olan sistemdə nüvə maşın sahəsi tam uyğun gəlsə belə faylı başlatmaqdan imtina edir. İnsanları itkin kitabxanalar axtarmağa göndərən uğursuzluq budur.

Xəta mesajı hansı halda olduğunuzu bildirir və iki hali qarışdırmaq asandır. Format və ya arxitektura rəddi itkin fayl və ya interpretatordan fərqlənir və onlardan yalnız biri başqa paket quraşdırmaqla düzəlir.

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

Birinci əmr binarnın tələb etdiyi interpretator yolunu göstərir. İkincisi həmin yolun mövcud olub-olmadığını yoxlayır, bu da səhv qurulusu itkin yükləyicidən ayırır.

Etibarsız binar üzərində asılılıq siyahısı işlətməyin, çünki bəzi tətbiqlər yoxladıqları faylı icra edə bilər. Yoxlamanı yalnız oxunuşda saxlayın və dəstəklənməyən qurulusu başlatmaq üçün yükləyici simvolik keçidləri əlavə etməyə müqavimət göstərin.

Faktları əldə tutaraq qurulus istəyin

Satıcıya əməliyyat sistemi buraxılışını, paket arxitekturasını, sinif və maşın dəyərlərini və ilk xəta mesajını göndərin. Bu birləşmə faydalı cavab qazanır, ümumi uğursuzluğun ekran görüntüsü isə dəstək şablonu qazanır.

Binar sualını konfiqurasiya sualından ayrı saxlayın. Düzgün qurulus başladıqdan sonra profillər, etimad məlumatları və marşrutlar hələ də öz problemləridir və profili redaktə etməyin heç bir miqdarı səhv arxitekturalı binanı işlətməyəcək.

Əlaqəli məqalələr