VPN ആരംഭിക്കുമ്പോഴുള്ള കേണൽ Oops: സൂക്ഷിക്കാൻ അർഹമായ തെളിവുകൾ
VPN ആരംഭിക്കുമ്പോഴുള്ള ക്രാഷിന് യോജിക്കുന്ന കേണൽ ബിൽഡും ആദ്യ ട്രേസും ആവശ്യമാണ്, അവസാന വരിയുടെ സ്ക്രീൻഷോട്ടല്ല. വീണ്ടും റീബൂട്ട് ചെയ്യുന്നതിന് മുമ്പ് എന്ത് സൂക്ഷിക്കണമെന്ന് തീരുമാനിക്കുക.
VPN ക്ലയന്റ് ആരംഭിക്കുന്നത് സൗകര്യപ്രദമായ ഒരു സമയ അടയാളമാണ്, കാരണമല്ല, ആ വ്യത്യാസമാണ് അടുത്തതായി എന്ത് സംഭവിക്കുമെന്ന് തീരുമാനിക്കുന്നത്. ആ നിമിഷത്തിന് സമീപം കേണൽ Oops സംഭവിക്കുമ്പോൾ, ഉപയോഗയോഗ്യമായ ഫോൾട്ട് റിപ്പോർട്ട് ശേഖരിക്കുകയും ഉത്പാദന യന്ത്രത്തിൽ അതേ ക്രാഷ് അഞ്ച് തവണ കൂടി ഉണ്ടാക്കുകയും ചെയ്യുന്നതിനിടയിലാണ് തിരഞ്ഞെടുപ്പ്. റീബൂട്ട് ചെയ്യുന്നതിന് മുമ്പ് നാല് കാര്യങ്ങൾ സൂക്ഷിക്കുക: കൃത്യമായ കേണൽ ബിൽഡ്, ആദ്യ ഫോൾട്ട് ട്രേസ്, taint അവസ്ഥ, അതേ മിനിറ്റിൽ മാറിയ ബാക്കിയെല്ലാറ്റിന്റെയും ചെറിയ വിവരണം. ബാക്കിയുള്ളത് വ്യാഖ്യാനമാണ്, തെളിവുകൾ സുരക്ഷിതമായ സ്ഥലത്തെത്തുന്നതുവരെ വ്യാഖ്യാനത്തിന് കാത്തിരിക്കാം.
അവസാന വരിയല്ല, ആദ്യ ഫോൾട്ട് പിടിക്കുക
ലോഗിലെ ആദ്യ Oops ആണ് പ്രധാനം, കാരണം തുടർന്നുള്ള ഓരോ ഫോൾട്ടും ഇതിനകം ആരോഗ്യമില്ലാത്ത കേണലിന്റെ പാർശ്വ നാശമായിരിക്കാം. കോൾ ട്രേസിനൊപ്പം ഹെഡർ പകർത്തുക, കാരണം ഹെഡറിൽ ഫോൾട്ട് ഉണ്ടാക്കിയ നിർദ്ദേശവും കോഡ് പാത്ത് തിരിച്ചറിയുന്ന രജിസ്റ്റർ അവസ്ഥയും ഉണ്ട്. അവസാന വരിയിൽ നിന്ന് തുടങ്ങുന്ന റിപ്പോർട്ട് ഒരു ആഴ്ച കഴിഞ്ഞ് വായിക്കുന്നയാൾക്ക് വളരെ കുറച്ച് മൂല്യമേ നൽകുന്നുള്ളൂ.
യന്ത്രം ഇതിനകം റീബൂട്ട് ചെയ്തിട്ടുണ്ടെങ്കിൽ, മുമ്പത്തെ ബൂട്ടിന്റെ കേണൽ ബഫർ പലപ്പോഴും ജേണലിൽ തന്നെ ഉണ്ട്, അപ്പോൾ സ്ഥിര സംഭരണം പ്രവർത്തനക്ഷമമായിരുന്നെങ്കിൽ. പ്രവൃത്തിഭാരം വീണ്ടും സൃഷ്ടിക്കുന്നതിനുപകരം അത് സൂക്ഷിച്ച ഫയലിൽ നിന്ന് വായിക്കുക, കാരണം രണ്ടാം പുനരുൽപ്പാദനം നിങ്ങൾക്ക് വേണ്ടത് മായ്ക്കാം. യന്ത്രത്തിന് റീബൂട്ടുകൾക്കിടയിൽ ജേണൽ സൂക്ഷിക്കാൻ കഴിയാത്തിടത്ത്, സീരിയൽ കൺസോളോ netconsole-ഓ മാത്രമാണ് ഫോൾട്ട് എപ്പോഴെങ്കിലും ദൃശ്യമാകാനുള്ള വഴി.
ഏതെങ്കിലും ചിഹ്നം വായിക്കുന്നതിന് മുമ്പ് ബിൽഡ് ഉറപ്പിക്കുക
ഫംഗ്ഷൻ നാമങ്ങൾക്കും ഓഫ്സെറ്റുകൾക്കും അവ സൃഷ്ടിച്ച ബൈനറിയുമായി മാത്രമേ അർത്ഥമുള്ളൂ, അതിനാൽ കേണൽ റിലീസ് സ്ട്രിംഗും വിതരണത്തിന്റെ ബിൽഡ് ഐഡന്റിഫയറും ഒരുമിച്ച് രേഖപ്പെടുത്തുക. മറ്റൊരു ബിൽഡിൽ നിന്നുള്ള സിംബൽ ഫയൽ പൂർണ്ണ ആത്മവിശ്വാസത്തോടെ തെറ്റായ വരിയിലേക്ക് ചൂണ്ടുന്നു, അത് സിംബൽ ഒട്ടും ഇല്ലാതിരിക്കുന്നതിനേക്കാൾ മോശമാണ്. അപ്സ്ട്രീം നമ്പർ മാത്രമല്ല, കേണൽ പാക്കേജിന്റെ പതിപ്പ് സൂക്ഷിക്കുക, കാരണം വിതരണങ്ങൾ ധാരാളം ബാക്ക്പോർട്ട് ചെയ്യുന്നു.
മരത്തിന് പുറത്തുള്ള മൊഡ്യൂളുകൾ രേഖയിൽ സ്വന്തം വരിക്ക് അർഹരാണ്, കാരണം 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:'
മുകളിലെ ഓരോ കമാൻഡും അവസ്ഥ മാത്രം വായിക്കുന്നു, യന്ത്രത്തിന് ഇപ്പോഴും ഉത്തരം നൽകാൻ കഴിയുമെങ്കിൽ ആദ്യ രണ്ടും അടുത്ത റീബൂട്ടിന് മുമ്പ് പ്രവർത്തിപ്പിക്കണം. ജേണൽ സ്ഥിരമല്ലാത്തിടത്ത്, ആ രണ്ട് മാത്രമാണ് ഇനി ഒരിക്കലും പ്രവർത്തിക്കുന്നത്.
കീകളും പാസ്വേഡുകളും അസംബന്ധ ട്രാഫിക്കും മായ്ക്കുക, പക്ഷേ ട്രേസ് വായിക്കാൻ ആർക്കെങ്കിലും ആവശ്യമായ ഫംഗ്ഷൻ നാമങ്ങളും ഓഫ്സെറ്റുകളും സൂക്ഷിക്കുക. മെറ്റീരിയൽ വിതരണത്തിനോ കേണലിനോ ബാധകമായ റിപ്പോർട്ടിംഗ് പാതയിലൂടെ അയയ്ക്കുക, ഹോസ്റ്റ്നാമോടുകൂടിയ പൊതു പേസ്റ്റ് വഴിയല്ല. പിന്നീട് കൂടുതൽ ക്രാഷുകൾ ശേഖരിക്കുന്നതിനുപകരം ചോദ്യത്തിനായി കാത്തിരിക്കുക, കാരണം യോജിക്കുന്ന ബിൽഡിനെതിരെ കണ്ടെത്തിയ ഫോൾട്ട് മാത്രമാണ് റിപ്പോർട്ടിനെ മുന്നോട്ട് നയിക്കുന്ന ഫലം. ഒന്നും തിരികെ വന്നില്ലെങ്കിൽ, ബദൽ എന്നത് അധിക ഹാർഡ്വെയറിൽ നിയന്ത്രിത പുനരുൽപ്പാദനമാണ്, മറ്റുള്ളവർ ആശ്രയിക്കുന്ന യന്ത്രത്തിൽ ഒരിക്കലുമല്ല.