VPN ආරම්භ වන විට කර්නල් Oops: රඳවා ගැනීම වටිනා සාක්ෂි
VPN ආරම්භයේදී සිදුවන ක්රැෂයට ගැළපෙන කර්නල් බිල්ඩය සහ පළමු ට්රේසය අවශ්යයි, අවසාන පේළියේ තිර රුවක් නොවේ. නැවත රීබූට් කිරීමට පෙර ගබඩා කළ යුත්තේ කුමක්දැයි තීරණය කරන්න.
VPN සේවාදායකය ආරම්භ කිරීම පහසු කාල මුද්රාවක් මිස හේතුවක් නොවේ, එම වෙනස ඊළඟට සිදුවන්නේ කුමක්ද යන්න තීරණය කරයි. එම මොහොත ආසන්නයේ කර්නල් Oops එකක් සිදු වූ විට, තේරීම වන්නේ භාවිතයට ගත හැකි දෝෂ වාර්තාවක් එකතු කිරීම හෝ නිෂ්පාදන යන්ත්රයක එම ක්රැෂයම තවත් පස් වතාවක් ඇති කිරීමයි. රීබූට් කිරීමට පෙර දේවල් හතරක් ගබඩා කරන්න: නිශ්චිත කර්නල් බිල්ඩය, පළමු දෝෂ ට්රේසය, taint තත්ත්වය සහ එම විනාඩියේදී වෙනස් වූ අනෙක් සියල්ලේ කෙටි විස්තරය. ඉතිරිය අර්ථ නිරූපණයකි, සාක්ෂි ආරක්ෂිත තැනක පවතින තෙක් අර්ථ නිරූපණයට රැඳී සිටිය හැක.
අවසාන පේළිය නොව, පළමු දෝෂය අල්ලන්න
ලොගයේ පළමු Oops එකයි වැදගත්, මන්ද පසුව එන සෑම දෝෂයක්ම දැනටමත් නිරෝගී නොවන කර්නලයක අතුරු හානියක් විය හැක. කැඳවුම් ට්රේසය සමඟ හෙඩරය පිටපත් කරන්න, මන්ද හෙඩරයේ දෝෂය ඇති කළ උපදෙස සහ කේත මාර්ගය හඳුනාගන්නා රෙජිස්ටර තත්ත්වය ඇත. අවසාන පේළියෙන් ආරම්භ වන වාර්තාවක් සතියකට පසු කියවන අයෙකුට ඉතා අල්ප වටිනාකමක් ඇත.
යන්ත්රය දැනටමත් රීබූට් වී ඇත්නම්, පෙර බූටයේ කර්නල් බෆරය බොහෝ විට තවමත් ජර්නලයේ ඇත, එකල ස්ථිර ගබඩාව සක්රීයව තිබුණේ නම්. වැඩ බර නැවත නිර්මාණය නොකර ගබඩා කළ ගොනුවෙන් එය කියවන්න, මන්ද දෙවන ප්රතිනිර්මාණය ඔබට අවශ්ය දේ පිටින් ලිවිය හැක. යන්ත්රයට රීබූට් අතර ජර්නලයක් තබා ගත නොහැකි තැන, ශ්රේණිගත කොන්සෝලයක් හෝ netconsole පමණක් දෝෂය කිසිදා දෘශ්යමාන වීමට ඇති එකම මාර්ගයයි.
කිසිදු සංකේතයක් කියවීමට පෙර බිල්ඩය නිර්ණය කරන්න
ශ්රිත නාම සහ ඕෆ්සෙට් අර්ථ දෙනුයේ ඒවා නිපදවූ ද්විමය ගොනුවට සාපේක්ෂව පමණි, එබැවින් කර්නල නිකුතු තන්තුව සහ බෙදාහැරීමේ බිල්ඩ හඳුනාගැනීම එකට සටහන් කරන්න. වෙනත් බිල්ඩයක සංකේත ගොනුවක් පූර්ණ විශ්වාසයෙන් වැරදි පේළිය පෙන්වයි, එය කිසිදු සංකේතයක් නොමැති වීමට වඩා නරකය. upstream අංකය පමණක් නොව කර්නල පැකේජයේ අනුවාදය රඳවා ගන්න, මන්ද බෙදාහැරීම් බොහෝ දේ ආපසු ගෙනයයි.
ගසෙන් පිටත මොඩියුල ලේඛනයේ තමන්ගේම පේළියක් ලැබීමට සුදුසුය, මන්ද taint කළ කර්නලයක් නඩත්තුකරුට ගත හැකි නිගමන සීමා කරයි. මොඩියුල ලැයිස්තුවෙන් අනුමාන නොකර taint අගය කියවන්න.
ශුන්ය නොවන taint චෝදනාවක් නොවේ, වාර්තාව නිෂ්ඵල ද නොකරයි. දෝෂය සිදු වූ විට කුමන සංරචක පූරණය වී තිබුණේදැයි එය කියවන්නාට කියයි, සමහර ධජ වාර්තාවක් විනිශ්චයෙන් නොව ප්රතිපත්තියෙන් පහත හෙළයි. අගය, මොඩියුල නාම සහ එම උපකරණ හා වැඩ බර ඒවා නොමැතිව කිසිදා කර්නලයක් ධාවනය කළේදැයි සටහන් කරන්න. එම අවසාන සංසන්දනයයි නව පසුබැසීමක් පැරණි දෝෂයකින් වෙන් කරන්නේ.
ප්රේරකය දෝෂයෙන් වෙන් කරන්න
උමං මාර්ගය ආරම්භ කිරීම සාමාන්යයෙන් දැනටමත් පැවති මාර්ගයක් භාවිත කරයි: ජාල ධාවකයක්, පෝලිම් විනයක්, offload විශේෂාංගයක් හෝ බල තත්ත්වයක්. ප්රේරකය දෝෂය පෙනෙන්නේ කවදාද යන්න පැහැදිලි කරයි, කුමන කේතය වැරදිද යන්න නොවේ, ප්රේරකය හේතුව ලෙස සැලකීම කිසිවක් නොවහන වින්යාස වෙනස්කම් මාලාවකට යොමු කරයි.
ක්රියා කළ පෙර රුවක් සාක්ෂියක් මිස සාධනයක් නොවේ. සංසන්දනය කරන විට සෑම බූටයකටම එක් සංරචකයක් වෙනස් කරන්න, ප්රතිඵල යන්ත්රයට පසුවත් රැඳෙන තැනක තබන්න.
නඩත්තුකරුට සැබවින්ම භාවිත කළ හැක්කේ කුමක්දැයි පරීක්ෂා කරන්න
යැවීමට පෙර අමුත්තෙකු කියවන ආකාරයට වාර්තාව කියවන්න. වින්යාසය, නිශ්චිත අනුපිළිවෙල සහ බිල්ඩ අනන්යතාවය තිබේ නම්, සහ අක්තපත්ර ඉවත් කර ඇත්නම්, වාර්තාව භාවිතයට ගත හැක. එය ස්ටැක් ට්රේසයක තිර රුවක් නම්, එම තොරතුරුම ඉල්ලා නැවත පැමිණේ. කර්නල දෝෂ සෙවීමේ මාර්ගෝපදේශය මෙතැන විස්තර කරන්නේ ප්රයෝජනවත් ට්රේසයක් සහ ගැළපෙන සංකේත කෙසේ දිස්වේද යන්නයි.
uname -r
cat /proc/sys/kernel/tainted
journalctl -k -b -1 --no-pager | sed -n '/BUG:/,/Call Trace/p'
dmesg -T | grep -A 40 'RIP:'
ඉහත සෑම විධානයක්ම කියවන්නේ තත්ත්වය පමණි, යන්ත්රයට තවමත් පිළිතුරු දිය හැකි නම් පළමු දෙක ඊළඟ රීබූට් එකට පෙර ධාවනය කළ යුතුය. ජර්නලය ස්ථිර නොවන තැන, එම දෙක පමණක් නැවත කිසිදා ක්රියා කරනු ඇත.
යතුරු, මුරපද සහ අදාළ නොවන ගමනාගමනය ඉවත් කරන්න, නමුත් ට්රේසය කියවීමට යමෙකුට අවශ්ය ශ්රිත නාම සහ ඕෆ්සෙට් රඳවා ගන්න. ද්රව්ය බෙදාහැරීමට හෝ කර්නලයට අදාළ වාර්තා මාර්ගයෙන් යවන්න, සත්කාරක නාමයක් අමුණා ඇති පොදු අලවීමකින් නොවේ. පසුව තවත් ක්රැෂ එකතු කරනවා වෙනුවට ප්රශ්නයක් එනතුරු රැඳී සිටින්න, මන්ද ගැළපෙන බිල්ඩයකට එරෙහිව ස්ථානගත කළ දෝෂයක් පමණක් වාර්තාව ඉදිරියට ගෙන යයි. කිසිවක් ආපසු නොඑන්නේ නම්, විකල්පය වන්නේ අමතර උපකරණවල පාලිත ප්රතිනිර්මාණයක්, වෙනත් අය රඳා පවතින යන්ත්රයේ කිසි විටෙකත් නොවේ.