Distro nosaukums, glibc vai kompilators: ko pārbauda instalētājs
Instalētājs, kas noraida jūsu atvasināto distributīvu, var lasīt distro nosaukumu, izpildlaika versiju vai kompilatoru. Tik viens no tiem nosaka, vai binārais fails var darboties.
Instalētājs izdrukā “unsupported distribution”, jūs izlabojat vienu virkni, un tas turpinās, līdz pēc minūtes neizdodas ar ielādētāja kļūdu. Šī secība ir simptoms, ko ir vērts atpazīt: pirmā neveiksme bija atpazīšanas pārbaude, bet otrā ir saderības robeža. Tās ir divas dažādas problēmas, kas nejauši parādās vienā terminālī. Pārbaudes labošana var tikai pārvietot jūs no pirmās uz otro.
Simptoms: instalētājs apstājas pie jūsu atvasinātā distributīva
Skripts, kas nolasa distributīva nosaukumu un atsakās turpināt, jums saka, ka tā autors nav pārbaudījis jūsu atvasināto distributīvu. Tas ir atbalsta paziņojums, nevis tehnisks fakts, un tas bieži ir nepareizs tādā nozīmē, ka pakotne darbotos labi.
Problēma sākas, kad apiešanas risinājums kļūst par plānu. Identitātes faila maiņa ļauj pārbaudei iziet, un pakotne pēc tam ielādējas vai neielādējas pret faktiski instalēto izpildlaiku. Ja tur neizdodas, nekāda turpmāka identitātes labošana nepalīdzēs.
Tāpēc lietderīgais solis ir noskaidrot, kādu jautājumu instalētājs uzdeva, un pēc tam noskaidrot, vai atbildei būtu bijusi nozīme. Tie ir divi atsevišķi izmeklējumi, un tikai otrais paredz, vai pakotne darbosies.
Trīs versijas, ko cilvēki sauc par sistēmas versiju
Distributīva izlaidums nosauc iepakotu vidi. C bibliotēkas versija nosauc izpildlaika implementāciju un tās izlaidumu. Kompilatora versija nosauc rīku ķēdi. Sarunā cilvēki visas trīs sauc par “sistēmas versiju”, un instalētājā tās nav savstarpēji aizstājamas.
cat /etc/os-release ldd --version | head -1 gcc --version | head -1 uname -m
Iepriekš būvēta lietotne sagaida izpildlaiku, kas pastāvēja, kad tā tika saistīta. Kompilatoru maiņa uz resursdatora to nesaista no jauna, un jaunāka rīku ķēde neko nemaina ielādētāja simbolos, ko pieprasa binārais fails. Arhitektūra atkal ir svarīga atsevišķi, jo 32 bitu pakotne 64 bitu sistēmā neizdodas tādu iemeslu dēļ, kurus neizskaidro neviena versijas virkne.
Saglabājiet četras izvades kopā ar ziņojumu. To savākšana aizņem desmit sekundes, un tās atbild uz lielāko daļu jautājumu, ko uzturētājs citādi uzdotu e-pastā.
Lasiet kļūdu, nevis pārbaudi
Pirmā palaišanas kļūda ir pierādījums. Ziņojums par trūkstošu koplietotu objektu vai par simbola versiju, ko ielādētājs nevar apmierināt, ir izpildlaika atkarības problēma. Ziņojums, kas atkārto distributīva nosaukumu, atkal ir atpazīšanas pārbaude, citā vietā.
dinamiskā linkera dokumentācija apraksta, kā darbojas bibliotēku meklēšana un kur meklē ielādētājs. Distributīva etiķetes maiņa nepievieno mapi šim meklēšanas ceļam, tāpēc otrā neveiksme izskatās nesaistīta ar pirmo.
Neizmantojiet ldd lejupielādētā izpildāmajā failā kā parastu pirmo soli. Tās pašas rokasgrāmata brīdina, ka noteiktos apstākļos tā var palaist programmu, un neuzticama instalētāja palaišana ir tieši tas gadījums, par ko ir šis brīdinājums.
Kāpēc virknes labošana nepalīdz
Operētājsistēmas identitātes viltošana maina to, kā katra programma mašīnā redz sevi. Pakotņu pārvaldnieki, atbalsta rīki un citas lietotnes lasa to pašu failu, un vērtība, kas apmierina vienu instalētāju, pēc mēnešiem var sajaukt ko citu.
Resursdatora bibliotēku aizstāšana ar citas distributīva failiem ir sliktāka. Tā var salauzt nesaistītu programmatūru, tā ir neredzama pakotņu pārvaldniekam, un tai vajag uzturēšanas plānu, ko neviens neuzraksta. Šos labojumus neattaisno viens ierobežojošs instalētājs.
Ja pārbaude patiešām ir atpazīšanas defekts, uzturētājs to var apstiprināt un aprakstīt atbalstīto labojumu. Ja tas nav defekts, atbalstītais ceļš ir būvējums jūsu platformai, un šī atbilde nemainās tāpēc, ka virkne tika labota.
Uzrakstiet ziņojumu, pēc kura uzturētājs var rīkoties
Pierakstiet distributīvu un izlaidumu, arhitektūru, VPN izlaidumu, precīzo noraidīto nosacījumu un pirmo izpildlaika kļūdu, ja tik tālu nonācāt. Atzīmējiet, vai kaut ko mainījāt, jo ziņojums no mainītas sistēmas ir cits ziņojums.
Atstājiet oriģinālo instalētāju nemainītu un aprakstiet pārbaudi, nevis apiet to. Šī atšķirība ļauj uzturētājam atdalīt pārāk šauru atpazīšanas noteikumu no īstas binārās saderības robežas, un tās ir divas ļoti atšķirīgas kļūdas ar diviem ļoti atšķirīgiem labojumiem.
Ja atbilde ir, ka jūsu platforma netiek atbalstīta, tas ir lietojams rezultāts. Tas saka meklēt atbalstītu būvējumu, nevis pavadīt vēl vienu vakaru pie identitātes failiem, kas nekad nav bijuši problēma.