Име на дистрибуција, glibc или компајлер: што проверува инсталаторот
Инсталатор што ја одбива вашата изведена дистрибуција може да чита име на дистрибуција, верзија на извршната околина или компајлер. Само едно од нив одлучува дали бинарната датотека може да работи.
Инсталаторот печати “unsupported distribution”, вие уредувате една низа и тој продолжува додека не падне една минута подоцна со грешка од вчитувачот. Таа секвенца е симптомот што вреди да се препознае: првиот неуспех беше проверка за препознавање, а вториот е граница на компатибилност. Тоа се два различни проблема што случајно се појавуваат во истиот терминал. Уредувањето на проверката може само да ве премести од првиот во вториот.
Симптомот: инсталаторот застанува на вашата изведена дистрибуција
Скрипта што чита име на дистрибуција и одбива да продолжи ви кажува дека нејзиниот автор не ја тестирал вашата изведена дистрибуција. Тоа е изјава за поддршка, а не технички факт, и често е погрешна во смисла дека пакетот би работел добро.
Проблемот почнува кога привременото решение станува план. Менувањето на датотека за идентитет ја поминува проверката, а пакетот потоа се вчитува, или не се вчитува, против извршната околина што е навистина инсталирана. Ако таму не успее, никакво понатамошно уредување на идентитетот нема да помогне.
Затоа корисниот чекор е да откриете кое прашање го поставил инсталаторот, а потоа да откриете дали одговорот би бил важен. Тоа се две одделни истраги и само втората предвидува дали пакетот ќе работи.
Три верзии што луѓето ја нарекуваат верзија на системот
Изданието на дистрибуцијата именува спакувана околина. Верзијата на C библиотеката именува имплементација на извршната околина и нејзиното издание. Верзијата на компајлерот именува синџир на алатки. Во разговор луѓето ги нарекуваат сите три “верзија на системот”, но во инсталатор тие не се заменливи.
cat /etc/os-release ldd --version | head -1 gcc --version | head -1 uname -m
Претходно изградена апликација очекува извршната околина што постоела кога била поврзана. Менувањето компајлери на домаќинот не ја поврзува повторно, а поновиот синџир на алатки не менува ништо во симболите на вчитувачот што ги бара бинарната датотека. Архитектурата повторно е важна одделно, бидејќи 32-битен пакет на 64-битен систем не успева од причини што ниту една низа за верзија не ги објаснува.
Чувајте ги четирите излези со извештајот. Нивното собирање трае десет секунди и тие одговараат на повеќето прашања што одржувачот инаку би ви ги поставил по е-пошта.
Читајте ја грешката, не проверката
Првата грешка при стартување е доказот. Порака за недостижен заеднички објект, или за верзија на симбол што вчитувачот не може да ја задоволи, е проблем со зависност од извршната околина. Порака што го повторува името на дистрибуцијата е повторно проверката за препознавање, на друго место.
документацијата на динамичкиот поврзувач опишува како функционира пребарувањето библиотеки и каде бара вчитувачот. Менувањето ознака на дистрибуција не додава директориум на таа патека за пребарување, и затоа вториот неуспех изгледа неврзан со првиот.
Не посегнувајте по ldd на преземена извршна датотека како обичен прв чекор. Нејзиниот сопствен прирачник предупредува дека под некои околности може да ја изврши програмата, а стартувањето недоверлив инсталатор е токму случајот за кој е тоа предупредување.
Зошто уредувањето на низата не помага
Фалсификувањето на идентитетот на оперативниот систем менува како секоја програма на машината се гледа себеси. Менаџерите на пакети, алатките за поддршка и другите апликации ја читаат истата датотека, а вредност што задоволува еден инсталатор може да збуни нешто друго месеци подоцна.
Замената на библиотеките на домаќинот со датотеки од друга дистрибуција е полоша. Може да скрши неврзан софтвер, невидлива е за менаџерот на пакети и бара план за одржување што никој не го запишува. Тие промени не се оправдани од еден рестриктивен инсталатор.
Ако проверката е навистина дефект во препознавањето, одржувачот може да го потврди и да ја опише поддржаната исправка. Ако не е дефект, поддржаниот пат е изградба за вашата платформа, и тој одговор не се менува затоа што низата е уредена.
Напишете извештај врз кој одржувачот може да дејствува
Запишете ја дистрибуцијата и изданието, архитектурата, изданието на VPN, точното условие што било одбиено и првата грешка од извршната околина ако стигнавте дотолку. Забележете дали сте измениле нешто, бидејќи извештај од изменет систем е друг извештај.
Оставете го оригиналниот инсталатор непроменет и опишете ја проверката наместо да ја заобиколувате. Таа разлика му овозможува на одржувачот да одвои премногу тесно правило за препознавање од вистинска граница на бинарна компатибилност, а тоа се два многу различни дефекти со две многу различни поправки.
Ако одговорот е дека вашата платформа не е поддржана, тоа е употреблив резултат. Ви кажува да барате поддржана изградба наместо да поминете уште една вечер на датотеки за идентитет што никогаш не биле проблемот.