কম্পিউটার টিউটোরিয়াল

উবুন্টু এরর লগস মাস্টার করুন: ভিউইং ও মনিটরিং-র ধাপে ধাপ গাইড

উবুন্টু এরর লগস মাস্টার করুন: ভিউইং ও মনিটরিং-র ধাপে ধাপ গাইড

প্রকাশিত: জুন ১১, ২০২৩, ২:৪৫ PM EDT

হান্নার লিনাক্সের প্রতি প্রেম প্রথম জাগল CyberPatriot-এ কমপিট করার সময়। তিনি প্রোগ্রামিং এবং কম্পিউটার রিপেयर সাধ্য disquesীয় বয়স থেকে পড়েছেন, যাতে ভালো ডকুমেন্টেশনয়ের মান বুঝতে পারেন — এবং কিছু ডকুমেন্টেশন অভিজ্ঞতা ছাড়া লোকদের জন্য কতটাও হেল্পফুল নয়। সেই অভিজ্ঞতাই তাকে সরল, উপকারী ডকুমেন্টেশন তৈরি করার দিকে অনুপ্রাণিত করল। তিনি কাম্পিউটার সায়েন্স পড়ছেন, প্রোগ্রামিং এবং লিনাক্স সাব-ডিসিপ্লিনে ফোকাস করে, Eastern New Mexico University-তে।

হান্না MakeUseOf-এ April ২০২৩ থেকে লিখছেন, Linux, Programming, DIY, এবং Buyer's Guides ভер্টিক্যালে ফোকাস করে। লোকাল পাবলিকেশনস seperti ENMU-এর The Chase নিউজপেপারে অবদান রাখার পাশাপাশি, হান্না نيو মেক্সিকোর লোকালদের জন্য প্রাসঙ্গিক, সাম্প্রতিক, এবং সঠিক নিউজ ডেলিভার করার প্যাশন রাখেন KENW News 3-এ।

আপনার কম্পিউটার ঠিকমতো কাজ না করলে এবং কেন না করলে সেটা না জানা একদম চিড়াচিড়ি করে দেয়। উবুন্টুতে আপনার সম্মুখীন হতে পারে এমন সব ইস্যুর জন্য সহজ সমাধান নেই, কিন্তু আপনি উবুন্টু এরর লগস ব্যবহার করে ট্রাবলশুট ও ডায়াগনোজ করতে পারেন।

উবুন্টু লগস কী?

উবুন্টু লগস ব্যাপক ফাইল যা আপনার কম্পিউটারে ঘটা সকল ইভেন্টের রেকর্ড সংরক্ষণ করে। এতে আপনার হার্ডওয়ার, অপারেটিং সিস্টেম, এবং এমনকি কিছু সফটওয়্যারের লগ্ড ইনফরমেশন থাকে।

এই লগগুলো ট্রাবলশুটিং ও ডায়াগনোসিস প্রসেসের জন্য অত্যন্ত মূল্যবান। এগুলো টাইমস্ট্যাম্প, কনটেক্সট, এবং আপনার সিস্টেম জুড়ে ঘটা ইভেন্টের গভীর ডিটেইল প্রদান করে। এই লগগুলো ব্যবহার করতে হলে আপনাকে সবচেয়ে গুরুত্বপূর্ণ টাইপগুলো জানতে হবে।

উবুন্টু লগের ধরনসমূহ

সকল ইনফরমেশন একটি লগে না লিখে, উবুন্টু আলাদা আলাদা উদ্দেশ্যে আলাদা লগে ইনফরমেশন রেকর্ড করে। লগগুলো খুব বেশি, তাই সব লিস্ট করা সম্ভব নয়, কিন্তু ট্রাবলশুটিংয়ের জন্য ব্যবহার করার আগে আপনাকে কয়েকটি গুরুত্বপূর্ণ লগ (এবং লগ টাইপ) সম্পর্কে জানা উচিত।

উবুন্টু এরর লগস মাস্টার করুন: ভিউইং ও মনিটরিং-র ধাপে ধাপ গাইড

সর্বাধিক প্রমিনেন্ট লগ হচ্ছে systemd journal। systemd লিনাক্সে একটি ইন্টিগ্রাল সার্ভিস ম্যানেজার। ফলে, বিভিন্ন অপারেটিং সিস্টেম সার্ভিসের ইস্যু systemd journal-এ রেকর্ড হয়। আপনি journalctl কমান্ড দিয়ে এই লগ নেভিগেট করতে পারেন।

সিস্টেম লগগুলোও খুব গুরুত্বপূর্ণ। এগুলো সরাসরি উবুন্টুর বিভিন্ন অংশের সাথে সম্পর্কিত এবং সিস্টেম মেসেজ সার্বিব থাকতে পারে। কিছু সিস্টেম লগ:

  • The Authorization Log: যেকোনো প্রসেস যেটি অথরাইজেশন দরকার (যেমন sudo কমান্ড বা ইউজার লগইন), সেটি এই লগে রেকর্ড হয়।
  • The Daemon Log: এই লগ ব্যাকগ্রাউন্ড সার্ভিস (অথবা ডিমন) যেমন ব্লুটুথ এবং SSH-র সাথে সম্পর্কিত।
  • The Debug Log: এই লগ সিস্টেম এবং syslogd-এ লগ করার অ্যাপ্লিকেশন থেকে ডিবাগিং ইনফরমেশন দেয়।
  • The Kernel Log: এই লগ লিনাক্স কার্নেল জড়িত এক্টিভিটির রেকর্ড রাখে।
  • The System Log: এই লগ আপনার সিস্টেমে প্রায় সব ধরনের গ্লোবাল এক্টিভিটির রেকর্ড স্টোর করে।
  • The Fail Log: এই লগ ফেলড লগইনের রেকর্ড রাখে, যা সিস্টেমে ব্রেক-ইন অটেমপ্ট চেক করার জন্য খুব হেল্পফুল।

আপনার কম্পিউটারে অ্যাপ্লিকেশন লগও থাকতে পারে (যেমন Apache লগ ফাইল বা MySQL লগ ফাইল) /var/log ডিরেক্টরিতে। আপনি ls কমান্ড দিয়ে আপনার কম্পিউটারে স্টোরড সকল লগ ফাইল দেখতে পারেন:

ls /var/log

উবুন্টুতে লগ পড়ার পদ্ধতি

এখন আপনি আপনার সিস্টেমের বিভিন্ন লগ টাইপের সাথে পরিচিত, তাই সেগুলোর সংরক্ষিত ইনফরমেশনে ডুব মারার প্রস্তুতি। শুরু করার আগে নোট করুন, সব সিস্টেম লগ একইভাবে লেখা হয় না।

কিছু লগ প্লেইনটেক্সট ফাইল হিসেবে স্টোর হয়, অন্যগুলো বাইনারি ফাইল হিসেবে। আপনাকে দুটো টাইপের ফাইল — এবং সেগুলোর সাথে জোড়া কমান্ড-লাইন টুলগুলো — পরিচিত হতে হবে যদি আপনি কার্যকরভাবে আপনার সিস্টেমের রেকর্ডগুলো পার্স করতে চান।

প্লেইনটেক্সট ফাইল লগ RSYSLOG_TraditionalFileFormat নামক টেমপ্লেট ব্যবহার করে এবং চারটি বেসিক ফিল্ড রয়েছে: টাইমস্ট্যাম্প, হোস্টনেম, অ্যাপ্লিকেশন, এবং মেসেজ। উদাহরণস্বরূপ, কার্নেল লগ এই টেমপ্লেট ব্যবহার করে:

উবুন্টু এরর লগস মাস্টার করুন: ভিউইং ও মনিটরিং-র ধাপে ধাপ গাইড

প্লেইনটেক্সট লগের বিপরীতে, বাইনারি ফাইল লগ সহজে পড়া যায় না। utmp, wtmp, এবং btmp পড়তে আপনাকে who, last, এবং lastb কমান্ড-লাইন ইউটিলিটি ব্যবহার করতে হবে। utmpdump utmp ভ্যারিয়েন্টের জন্য এবং systemctl journald-র জন্য বাইনারি লগ ইনফরমেশন রিডেবল ফরম্যাটে প্রিন্ট করার জন্য ডিজাইন করা।

বেশিরভাগ পরিস্থিতিতে, টার্মিনালে এই লগগুলো ইফেক্টিভলি পার্স করা জানা গুরুত্বপূর্ণ। আপনি grep এবং tail কমান্ড ব্যবহার করে সিস্টেম লগের সমগ্রতা পড়তে না গিয়ে স্পেসিফিক ইনফরমেশন খুঁজে বের করতে পারেন।

সর্বোত্তম কিছু কমান্ড:

  • grep: একটি ফাইলে ক্যারেক্টার স্ট্রিং সার্চ করে
  • tail: একটি ফাইলের শেষ থেকে ১০ লাইন প্রিন্ট করে
  • head: একটি ফাইলের শুরু থেকে ১০ লাইন প্রিন্ট করে
  • sort: আপনার স্পেসিফিকেশন অনুযায়ী ফাইল রি-অর্গানাইজ করে প্রিন্ট করে

utmpdump এবং systemctl সरीখे কমান্ড-লাইন টুলগুলোর কিছু হেল্পফুল ফ্ল্যাগ আছে যেগুলো টার্মিনালে কাজ করার সময় মনে রাখা উচিত। এই ফ্ল্যাগগুলো কমান্ড মডিফাই করে আউটপুটের ওপর বেড়া কন্ট্রোল দেয়।

journalctl কমান্ডের কিছু বিশেষ হেল্পফুল ফ্ল্যাগ:

  • -b: journalctl কে লাস্ট রিবুটের পর সংগৃহীত এন্ট্রি মাত্র রিটার্ন করতে বাধ্য করে
  • --since “YYYY-MM-DD HH:MM:SS” --until “YYYY-MM-DD HH:MM:SS”: journalctl কে নির্দিষ্ট তারিখের আগে/পরে এন্ট্রি মাত্র রিটার্ন করতে নির্দেশ করে
  • -p NUM: সিসলগ প্রায়োরিটি লেভেল (০/emerg থেকে ৭/debug) অনুযায়ী এন্ট্রি ফিল্টার করে

উবুন্টু লগস দিয়ে এরর ট্রাবলশুটিং

এখন আপনি বিভিন্ন সিস্টেম লগ টাইপ এবং সেগুলো ইফেক্টিভলি পড়ার পদ্ধতি জানেন, বাকি হলো সংগৃহীত ইনফরমেশন ট্রাবলশুটিং প্রসেসে অ্যাপ্লাই করা। এই প্রসেস সাধারণত কিছু ক্রিয়েটিভিটি চায়।

ট্রাবলশুটিং অ্যাপ্রোচ করার ভালো পদ্ধতি হচ্ছে আপনার সম্মুখীন ইস্যুর প্রমুখ বৈশিষ্ট্যগুলো চিন্তা করা। ইস্যুটি কি নির্দিষ্ট অ্যাপ্লিকেশন খোলার সময় হয়? ইস্যু ঘটলে সিস্টেম কি ক্র্যাশ করে এবং রিবুট হয়?

ইস্যুর বৈশিষ্ট্য চিন্তা করলে স্বাভাবিকভাবে আপনাকে সেরা কিছু লগ तरफ নিয়ে যাবে যেখান থেকে সেটা সম্পর্কে ইনফরমেশন मिलবে। উদাহরণস্বরূপ, যদি আপনার সিস্টেম বুট প্রসেসে সমস্যা হয়, journald-এ বুট এন্ট্রি রেফারেন্স করে কিছু হেল্পফুল ইনফরমেশন পাওয়া যাবে।

journald-এ লগড সব বুট প্রিন্ট করতে নিচের কমান্ড দিন:

journalctl --list-boots

টার্মিনাল রেকর্ডেড বুটের তালিকা প্রিন্ট করবে; সাম্প্রতিক বুটগুলো লিস্টের নিচে থাকবে। প্রতিটি বুটের রেকর্ডেড ডেট ও টাইম দেখুন যতক্ষণ ইয়ে Aurora該当する বুট খুঁজে পান।

বাম কলাম থেকে NUM নম্বর নিন এবং নিচের কমান্ড দিয়ে বুট সম্পর্কে আরও ইনফরমেশন পান:

journalctl -b -NUM -n

বুট সম্পর্কে ব্যাপক রেকর্ড ডিসপ্লে হবে। বুট প্রসেসে কোনো অস্বাভাবিক এরর হলে, এই রেকর্ড থেকে ইনফরমেশন নিয়ে আপনি এক ধাপ aurrাগে যেতে পারবেন ট্রাবলশুটিং-এ।

উবুন্টু এরর লগস মাস্টার করুন: ভিউইং ও মনিটরিং-র ধাপে ধাপ গাইড

এই নীতিটি অনেক অন্যান্য ইশুর জন্যও প্রযোজ্য। যদি আপনি আপনার কম্পিউটারের ইস্যু সম্পর্কে খুব কম জানেন, তবে কোথা থেকে শুরু করবেন সেটা জানা কঠিন হতে পারে। কিছু লগ আছে যা উবুন্টু সিস্টেমের ব্যাপক রেঞ্জের ইশুর জন্য অত্যন্ত হেল্পফুল।

syslog ট্রাবলশুটিং প্রসেসে শুরু করার সেরা লগ। যেহেতু এটি ইফেক্টিভলি একটি গ্লোবাল লগ, আপনার সম্মুখীন ইস্যু সম্পর্কে কিছু ইনফরমেশন থাকার সম্ভাবনা বেশি। আপনি যদি অথেন্টিকেশন ইশু ফেস করেন (যেমন sudo পাসওয়ার্ড কাজ না করা) বা বুটিং ইশু, তবে auth.log বা boot.log চেক করুন।

আপনার সমস্যা রিলেটেড কিওয়ার্ড দিয়ে সবচেয়ে রিলেভেন্ট লগগুলো সার্চ করুন। উদাহরণস্বরূপ, অথেন্টিকেশন ইশু থাকলে auth.log থেকে নিচের কমান্ড দিয়ে রেকর্ড পুল করুন:

cat /var/log/auth.log | grep 'Authentication failure'

অবশেষে, আপনি নিশ্চিতরূপে এমন ইনফরমেশন পাবেন যা চমৎকার ইনসাইট দেবে। এরর লগ থেকে ইনফরমেশন পেয়ে ওয়েব রিসার্চের সাথে মিলিয়ে দিলে, আপনি খুব দ্রুত আপনার সিস্টেমের ইস্যু রেজলভ করার রিসোর্স পাবেন।

লিনাক্স এরর ট্রাবলশুট করতে অনলাইন রিসোর্স রেফারেন্স করুন

আপনাকে ট্রাবলশুটিং প্রসেস একা চালাতে হবেনা। আপনার কম্পিউটারের ইস্যু সম্পর্কে ইনফরমেশন গ্যাথার করার সাথে সাথে, Ask Ubuntu এবং MakeUseOf-র বিস্তারিত গাইড সरीখে অনলাইন রিসোর্স ব্যবহার করুন যাতে অবশেষে আপনার PC ডায়াগনোজ ও রিপেयर করতে পারেন।


  1. জ্যাঙ্ক ফাইল দক্ষতার সাথে রিমুভ করুন: Advanced PC Cleanup গাইড

  2. Windows 11/10-এ ডেস্কটপ কনটেক্সট মেনুতে Default Apps যোগ/হ্রাস করার পদ্ধতি

  3. AD ইউজার পাসওয়ার্ড এক্সপায়ার হওয়ার আগে পাসওয়ার্ড চেঞ্জ নোটিফিকেশন

  4. Microsoft Authenticator দিয়ে পাসওয়ার্ডলেস উইন্ডোজ ১১ সিকিউর করুন: ধাপে ধাপে গাইড