ડિસ્ટ્રો નામ, glibc કે કમ્પાઇલર: ઇન્સ્ટોલર શું ચકાસે છે
તમારા ડેરિવેટિવને નકારતું ઇન્સ્ટોલર ડિસ્ટ્રો નામ, રનટાઇમ આવૃત્તિ કે કમ્પાઇલર વાંચી શકે છે. તેમાંથી ફક્ત એક જ નક્કી કરે છે કે બાઇનરી ચાલી શકે છે કે નહીં.
ઇન્સ્ટોલર “unsupported distribution” છાપે છે, તમે એક સ્ટ્રિંગ સંપાદિત કરો છો અને તે આગળ વધે છે, જ્યાં સુધી એક મિનિટ પછી લોડર ભૂલ સાથે નિષ્ફળ ન જાય. એ ક્રમ એ લક્ષણ છે જે ઓળખવા યોગ્ય છે: પહેલી નિષ્ફળતા ઓળખ ચકાસણી હતી અને બીજી સુસંગતતાની સીમા છે. આ બે અલગ સમસ્યાઓ છે જે એક જ ટર્મિનલમાં આકસ્મિક રીતે દેખાય છે. ચકાસણી સંપાદિત કરવાથી તમે ફક્ત પહેલીથી બીજી તરફ જઈ શકો છો.
લક્ષણ: ઇન્સ્ટોલર તમારા ડેરિવેટિવ પર અટકે છે
જે સ્ક્રિપ્ટ ડિસ્ટ્રિબ્યુશન નામ વાંચે છે અને આગળ વધવાનો ઇનકાર કરે છે તે તમને કહે છે કે તેના લેખકે તમારું ડેરિવેટિવ પરીક્ષણ નથી કર્યું. તે ટેકાની ઘોષણા છે, ટેકનિકલ તથ્ય નથી, અને તે ઘણી વાર ખોટી હોય છે એ અર્થમાં કે પેકેજ સારી રીતે ચાલ્યું હોત.
મુશ્કેલી ત્યારે શરૂ થાય છે જ્યારે વૈકલ્પિક ઉપાય જ યોજના બની જાય. ઓળખ ફાઇલ બદલવાથી ચકાસણી પાસ થાય છે, અને પછી પેકેજ ખરેખર ઇન્સ્ટોલ થયેલા રનટાઇમ સામે લોડ થાય છે, અથવા લોડ થવામાં નિષ્ફળ જાય છે. જો ત્યાં નિષ્ફળ જાય, તો વધુ ઓળખ સંપાદન કોઈ મદદ કરશે નહીં.
તેથી ઉપયોગી પગલું એ છે કે ઇન્સ્ટોલરે કયો પ્રશ્ન પૂછ્યો તે શોધવું, અને પછી જવાબનું મહત્ત્વ હોત કે નહીં તે શોધવું. આ બે અલગ તપાસ છે અને ફક્ત બીજી જ અનુમાન કરે છે કે પેકેજ ચાલશે કે નહીં.
ત્રણ આવૃત્તિઓ જેને લોકો સિસ્ટમ આવૃત્તિ કહે છે
ડિસ્ટ્રિબ્યુશન રિલીઝ પેકેજ કરેલા પર્યાવરણનું નામ આપે છે. C લાઇબ્રેરી આવૃત્તિ રનટાઇમ અમલીકરણ અને તેની રિલીઝનું નામ આપે છે. કમ્પાઇલર આવૃત્તિ ટૂલચેઇનનું નામ આપે છે. વાતચીતમાં લોકો ત્રણેયને “સિસ્ટમ આવૃત્તિ” કહે છે, અને ઇન્સ્ટોલરમાં તે એકબીજાના બદલે વાપરી શકાતા નથી.
cat /etc/os-release ldd --version | head -1 gcc --version | head -1 uname -m
પહેલેથી બનેલી એપ્લિકેશન તે રનટાઇમની અપેક્ષા રાખે છે જે તેને લિંક કરવામાં આવી ત્યારે હાજર હતું. હોસ્ટ પર કમ્પાઇલર બદલવાથી તે ફરી લિંક થતું નથી, અને નવી ટૂલચેઇન બાઇનરી જે લોડર સિમ્બોલ માગે છે તેમાં કંઈ બદલતી નથી. આર્કિટેક્ચર ફરીથી અલગથી મહત્ત્વનું છે, કારણ કે 64-બિટ સિસ્ટમ પર 32-બિટ પેકેજ એવા કારણોસર નિષ્ફળ જાય છે જે કોઈ આવૃત્તિ સ્ટ્રિંગ સમજાવતું નથી.
ચાર આઉટપુટ અહેવાલ સાથે રાખો. તેમને એકત્ર કરવામાં દસ સેકન્ડ લાગે છે અને તે મોટાભાગના પ્રશ્નોના જવાબ આપે છે જે જાળવણીકાર બીજી રીતે ઈમેલથી પૂછ્યા હોત.
ભૂલ વાંચો, ચકાસણી નહીં
પહેલી લોન્ચ ભૂલ જ પુરાવો છે. ખૂટતા શેર કરેલા ઑબ્જેક્ટ વિશે, અથવા લોડર સંતોષી ન શકે તેવી સિમ્બોલ આવૃત્તિ વિશેનો સંદેશ રનટાઇમ નિર્ભરતાની સમસ્યા છે. જે સંદેશ ડિસ્ટ્રિબ્યુશન નામનું પુનરાવર્તન કરે છે તે ફરીથી ઓળખ ચકાસણી છે, બીજી જગ્યાએ.
ડાયનેમિક લિંકરનું દસ્તાવેજીકરણ સમજાવે છે કે લાઇબ્રેરી શોધ કેવી રીતે કામ કરે છે અને લોડર ક્યાં શોધે છે. ડિસ્ટ્રિબ્યુશન લેબલ બદલવાથી તે શોધ માર્ગમાં કોઈ ડિરેક્ટરી ઉમેરાતી નથી, અને તેથી બીજી નિષ્ફળતા પહેલી સાથે અસંબંધિત લાગે છે.
ડાઉનલોડ કરેલી એક્ઝિક્યુટેબલ પર ldd નો ઉપયોગ સામાન્ય પહેલા પગલા તરીકે ન કરો. તેનું પોતાનું મેન્યુઅલ ચેતવે છે કે કેટલીક પરિસ્થિતિઓમાં તે પ્રોગ્રામ ચલાવી શકે છે, અને અવિશ્વસનીય ઇન્સ્ટોલર ચલાવવો એ બરાબર એ જ કેસ છે જેના વિશે તે ચેતવણી છે.
સ્ટ્રિંગ સંપાદિત કરવાથી કેમ મદદ નથી થતી
ઓપરેટિંગ સિસ્ટમની ઓળખ ખોટી રીતે દર્શાવવાથી મશીન પરનો દરેક પ્રોગ્રામ પોતાને કેવી રીતે જુએ છે તે બદલાય છે. પેકેજ મેનેજર, ટેકા સાધનો અને અન્ય એપ્લિકેશનો એ જ ફાઇલ વાંચે છે, અને એક ઇન્સ્ટોલરને સંતોષતું મૂલ્ય મહિનાઓ પછી બીજા કંઈકને ગૂંચવી શકે છે.
હોસ્ટ લાઇબ્રેરીઓને બીજા ડિસ્ટ્રિબ્યુશનની ફાઇલોથી બદલવી વધુ ખરાબ છે. તે અસંબંધિત સોફ્ટવેર તોડી શકે છે, પેકેજ મેનેજર માટે અદૃશ્ય છે, અને એવી જાળવણી યોજના માગે છે જે કોઈ લખતું નથી. તે બદલાવ એક પ્રતિબંધક ઇન્સ્ટોલર દ્વારા ન્યાયી ઠરતા નથી.
જો ચકાસણી ખરેખર ઓળખ ખામી હોય, તો જાળવણીકાર તેની પુષ્ટિ કરી શકે છે અને સમર્થિત સુધારો વર્ણવી શકે છે. જો તે ખામી ન હોય, તો સમર્થિત માર્ગ તમારા પ્લેટફોર્મ માટેનું બિલ્ડ છે, અને સ્ટ્રિંગ સંપાદિત થવાને કારણે એ જવાબ બદલાતો નથી.
એવો અહેવાલ લખો જેના પર જાળવણીકાર કાર્ય કરી શકે
ડિસ્ટ્રિબ્યુશન અને રિલીઝ, આર્કિટેક્ચર, VPN રિલીઝ, નકારેલી ચોક્કસ શરત અને જો તમે ત્યાં સુધી પહોંચ્યા હો તો પહેલી રનટાઇમ ભૂલ નોંધો. તમે કંઈ બદલ્યું છે કે નહીં તે જણાવો, કારણ કે બદલાયેલી સિસ્ટમનો અહેવાલ બીજો અહેવાલ છે.
મૂળ ઇન્સ્ટોલર અબદલ રાખો અને તેની આસપાસ ફરવાને બદલે ચકાસણીનું વર્ણન કરો. એ ભેદ જાળવણીકારને અતિ સાંકડો ઓળખ નિયમ અને વાસ્તવિક બાઇનરી સુસંગતતા સીમા વચ્ચે અલગ પાડવા દે છે, જે બે ખૂબ જ અલગ બગ્સ અને બે ખૂબ જ અલગ સુધારા છે.
જો જવાબ આવે કે તમારું પ્લેટફોર્મ સમર્થિત નથી, તો તે વાપરી શકાય તેવું પરિણામ છે. તે તમને કહે છે કે સમર્થિત બિલ્ડ શોધો, જે ઓળખ ફાઇલો ક્યારેય સમસ્યા ન હતી તેના પર બીજી સાંજ ન વિતાવો.