லினக்ஸ் கோர் டம்ப் இருப்பிடத்தை அமைத்தல்

Linaks Kor Tamp Iruppitattai Amaittal



லினக்ஸில் 'கோர் டம்ப்' என்றால் என்ன?

ஒரு செயல்முறை எதிர்பாராத விதமாக வெளியேறும் போது, ​​அது அடிக்கடி உங்கள் கணினியில் ஒரு 'கோர் டம்ப்' விட்டுச் செல்லும். இதனுடன் தொடர்புடைய செய்தி ஒன்றும் உள்ளது. ஒரு கோர் ஒரு பிழைத்திருத்த கருவியாக செயல்படுகிறது மேலும் இது பிழைத்திருத்த தகவல்களையும் உள்ளடக்கிய நினைவகத்தின் ஒரு படமாகும். நீங்கள் ஒரு நிரலை பிழைத்திருத்த விரும்பாத பயனராக இருந்தால், மையத்தை மட்டும் நீக்கலாம்:

$ rm கோர்

புதியது எப்போதாவது கொட்டப்பட்டால் பழைய கோர் மேலெழுதப்படுவதால், நீங்கள் அதைத் தொடாமல் விட்டுவிடலாம். பின்வரும் கட்டளையுடன் கோர் டம்பிங்கை செயலிழக்கச் செய்யலாம்:







$ குறையும் -சி 0

தேவைக்கேற்ப முக்கிய டம்ப்களை உருவாக்கலாம் (உதாரணமாக, பிழைத்திருத்தி மூலம்) அல்லது அவை நிறுத்தப்பட்டவுடன் தானாகவே உருவாக்கப்படும். நிரல் திடீரென வெளியேறியதன் விளைவாக கர்னல் கோர் டம்ப்களைத் தொடங்குகிறது. கூடுதல் செயல்பாடுகளுக்காக இவை வேறு சில நிரல்களுக்கு (systemd-coredump போன்றவை) அனுப்பப்படலாம்.



வழக்கமாக நடப்பது போல, சிறந்த நிலைப்புத்தன்மை மற்றும் சரிசெய்தல் மற்றும் பிழைத்திருத்தத் தரவிலிருந்து முக்கியமான தகவலை வெளிப்படுத்தும் ஆபத்து ஆகியவற்றிற்காக தரவைச் சேகரிப்பதற்கு இடையே ஒரு பரிமாற்றம் உள்ளது.



நாம் எதை மறைப்போம்?

இந்த கட்டுரையில், Ubuntu 20.04 OS இல் கோர் டம்ப்களின் இருப்பிடத்தை எவ்வாறு அமைப்பது என்பதைப் பார்ப்போம். இப்போது தொடங்குவோம்.





ஒரு கோர் டம்பை உருவாக்குகிறது

முதலில் கோர் டம்பை எவ்வாறு உருவாக்குவது என்று பார்ப்போம். இதற்கு, Linux kill கட்டளையைப் பயன்படுத்துகிறோம். முதலில், ஒரு செயல்முறையின் PID ஐக் கண்டுபிடித்து, பின்னர் ஒரு கொலை சமிக்ஞையை அனுப்பவும். எடுத்துக்காட்டாக, தூக்கச் செயல்முறையைத் தொடங்கி, அதன் PID மூலம் அதைக் கொல்வோம்:

$ தூங்கு 500

$ கொல்ல -கள் SIGTRAP $ ( பிடியில் தூங்கு )



கோர் டம்பை எவ்வாறு உருவாக்குவது என்பதை இப்போது நீங்கள் கற்றுக்கொண்டீர்கள், பின்வரும் பிரிவுகளில் அதைப் பயன்படுத்தலாம்.

அவர்கள் எங்கு செல்கிறார்கள்?

கோர் டம்ப் கோப்பு இயல்பாகவே core.pid என பெயரிடப்பட்டு, பயன்பாட்டின் செயல்பாட்டு கோப்பகத்தில் உருவாக்கப்பட்டது. இங்கே, pid என்பது செயல்முறை ஐடி.

யூலிமிட் கருவி மூலம், தற்போதைய ஷெல் மற்றும் அதற்குப் பின் வரும் ஷெல்களுக்கான கணினி ஆதார வரம்புகளைப் பெறலாம் அல்லது மாற்றலாம். முக்கிய கோப்பு அளவு வரம்பை சரிபார்க்க அல்லது கட்டமைக்க, பின்வரும் கட்டளையைப் பயன்படுத்தவும்:

$ குறையும் -சி

முக்கிய கோப்பை வரையறுப்பது அல்லது துண்டிக்கப்படுவதைத் தவிர்ப்பதற்காக, வரம்பு உலகளவில் 'வரம்பற்றது' [1] என அமைக்கப்பட்டுள்ளதை உறுதிசெய்யவும். பின்வரும் வரியைச் சேர்ப்பதன் மூலம் /etc/security/limits.conf இல் இதைச் செய்யலாம்:

ரூட் - கோர் வரம்பற்றது

* - முக்கிய வரம்பற்ற

இப்போது, ​​உங்கள் அமர்வுக்கு வரம்புகள் பயன்படுத்தப்படுவதற்கு வெறுமனே வெளியேறி மீண்டும் உள்நுழையவும்.

கோர் டம்பின் இருப்பிடத்தைத் தனிப்பயனாக்குதல்

“sysctl kernel.core_pattern” கட்டளை அல்லது “/proc/sys/kernel/core_pattern” பொதுவாக கோர் டம்ப்கள் செல்லும் இடத்தை அமைக்கப் பயன்படுகிறது.

தற்போதைய மைய வடிவத்திற்கான அமைப்புகளைப் பார்க்க பின்வரும் கட்டளையை உள்ளிடவும்:

$ பூனை / proc / sys / கர்னல் / மைய_முறை

வழக்கமாக, இங்கே 'கோர்' என பட்டியலிடப்பட்ட இயல்புநிலை மதிப்பைக் காணலாம்.

கோர் டம்ப் இருப்பிடத்தை அமைக்க “/proc/sys/kernel/core_pattern” ஐப் பயன்படுத்துதல்

'/proc/sys/kernel/core_pattern' கோப்பைப் பயன்படுத்தி, கோர் டம்ப்களை ஒரு புதிய இடத்திற்கு தற்காலிகமாக திருப்பி விடுவோம், /tmp/dumps/core [2] [3]. இப்போது, ​​பின்வரும் படிகளைப் பின்பற்றவும்:

படி 1 . முதலில், கோர் டம்ப்களை சேமிக்க ஒரு கோப்பகத்தை உருவாக்கவும்:

$ mkdir -ப / tmp / திணிப்பு / கருக்கள் /

படி 2 . இந்த கோப்பகத்திற்கு தேவையான அனுமதிகளை வழங்கவும்:

$ chmod a+x / tmp / திணிப்பு / கருக்கள் /

படி 3 . இப்போது, ​​கோர் டம்ப் பாதையை தற்காலிகமாக அமைக்கவும்:

$ எதிரொலி '/tmp/dump/cores/core' | சூடோ டீ / proc / sys / கர்னல் / மைய_முறை

மீண்டும், உலக அளவில் வரம்பற்ற எல்லையை அமைக்கவும்.

இங்கே, பின்வருவனவற்றில் காட்டப்பட்டுள்ளபடி கோப்பின் பெயருடன் வேறு சில தகவல்களைச் சேர்க்கலாம்:

$ எதிரொலி '/tmp/dump/cores/core_%e.%p_%t' | சூடோ டீ / proc / sys / கர்னல் / மைய_முறை

இங்கே பயன்படுத்தப்படும் ஒவ்வொரு அளவுருவையும் பின்வருமாறு வரையறுக்கலாம்:

% மற்றும்: க்கான செயல்படுத்தக்கூடியது கோப்பு பெயர்

% ப: க்கான செயல்முறை ஐடி அல்லது pid.

% t: க்கான நேர முத்திரையைச் சேர்த்தல்

படி 4 . அடுத்து, முந்தைய அமைப்புகளை நிரந்தரமாகப் பயன்படுத்த “/etc/sysctl.conf” கோப்பை மாற்ற வேண்டும். இந்தக் கோப்பைத் திறக்கவும்:

$ சூடோ நானோ / முதலியன / sysctl.conf

இப்போது, ​​இந்த கோப்பில் பின்வரும் வரியைச் சேர்க்கவும்:

kernel.core_pattern = / tmp / திணிப்பு / கருக்கள் / கோர்

மேலும், இந்த வரிக்கு பதிலாக, நீங்கள் இதைச் சேர்க்கலாம்:

kernel.core_pattern= '/tmp/dump/cores/core_%e.%p_%t'

நாம் செய்ய வேண்டியது அவ்வளவுதான். இப்போது, ​​'ஜெனரேட்டிங் எ கோர் டம்ப்' பிரிவில் குறிப்பிட்டுள்ளபடி ஒரு கோர் டம்பை உருவாக்கவும். இதற்குப் பிறகு, எங்கள் முக்கிய கோப்பு உருவாக்கப்பட்டதா இல்லையா என்பதை நாங்கள் சரிபார்க்கலாம்:

$ ls -எல் / tmp / திணிப்பு / கருக்கள் /

கோர் டம்ப் இருப்பிடத்தை அமைக்க “Sysctl” கட்டளையைப் பயன்படுத்தவும்

முன்பு குறிப்பிட்டபடி, அதே நோக்கத்திற்காக sysctl கட்டளையையும் பயன்படுத்தலாம். கோர் டம்ப் இருப்பிடத்தையும் கோர் கோப்பின் வடிவமைப்பையும் மாற்றுவோம்:

படி 1 . புதிய கோப்பகத்தை உருவாக்கி தேவையான அனுமதிகளை வழங்கவும்:

$ mkdir -ப / tmp / mydumps

$ chmod a+rwx / tmp / mydumps

படி 2 . இப்போது, ​​பின்வரும் கட்டளையை இயக்கவும்:

$ சூடோ sysctl -இல் kernel.core_pattern= / tmp / mydumps / கோர்_ % மற்றும். % ப_ % டி

படி 3 . இப்போது, ​​​​மீண்டும், முன்பு செய்ததைப் போலவே கோர் டம்பை உருவாக்கவும். இதற்குப் பிறகு, முக்கிய கோப்பு உருவாக்கப்பட்டதா இல்லையா என்பதைச் சரிபார்க்கவும்:

$ ls -எல் / tmp / mydumps /

உபுண்டு கணினிகளில், கோர் டம்ப்கள் பெரும்பாலும் Apport க்கு அனுப்பப்படுகின்றன. Red Hat-அடிப்படையிலான கணினிகளுக்கு, இது தானியங்கி பிழை அறிக்கையிடல் கருவிக்கு (ABRT) அனுப்பப்படலாம். ஆரம்பத்தில், கோர் டம்ப் இருப்பிடத்தை உள்ளமைப்பதில் சிக்கலை எதிர்கொண்டேன், எனவே உபுண்டு 20.04 இல் பயன்பாட்டை முழுமையாக முடக்க வேண்டியிருந்தது. ஒருவேளை, இது Red Hat மற்றும் பிறவற்றிலும் இருக்கலாம்.

முடிவுரை

இந்த கட்டுரையில், உபுண்டு 20.04 OS இல் கோர் டம்ப்களின் இருப்பிடத்தை எவ்வாறு தனிப்பயனாக்கலாம் என்பதைப் பார்த்தோம். முக்கிய டம்ப்கள் என்ன தவறு என்பதைக் கண்டறிய உதவும், ஆனால் அவை முக்கியமான தரவைக் கசியவிடுவது பயங்கரமானது. கோர் டம்ப்கள் தேவையில்லாத போதெல்லாம் முடக்கப்பட வேண்டும் மற்றும் முற்றிலும் தேவைப்படும் போது மட்டுமே இயக்கப்படும். அத்தகைய சூழ்நிலையில், சாதாரண பயனர்கள் தரவை அணுக முடியாதபடி கோப்புகள் பாதுகாப்பாக சேமிக்கப்பட்டுள்ளன என்பதை உறுதிப்படுத்தவும். மேலும், உங்கள் முடிவைப் பொருட்படுத்தாமல், உங்கள் உள்ளமைவை நீங்கள் எப்போதும் சோதிக்க வேண்டும், அது விரும்பியபடி செயல்படுகிறதா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.

கோர் டம்ப்கள் மற்றும் இயல்புநிலை கட்டமைப்புகள் பல்வேறு இயக்க முறைமைகளால் வித்தியாசமாக கையாளப்படுகின்றன. சமீப காலங்களில், பெரும்பாலான லினக்ஸ் அமைப்புகள் systemd ஐ ஏற்றுக்கொள்கின்றன, இது சில சிறிய விதி மாற்றங்களைக் கொண்டு வந்துள்ளது. உங்கள் கணினி எவ்வாறு கட்டமைக்கப்பட்டுள்ளது என்பதைப் பொறுத்து, நீங்கள் கோர் டம்ப்களைத் தேட வேண்டியிருக்கும்.