আরএইচসিএসএ সিরিজ: ইয়াম প্যাকেজ ম্যানেজমেন্ট, ক্রোন এবং মনিটরিং সিস্টেম লগ সহ স্বয়ংক্রিয় কার্যাদি - পার্ট 10


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

প্যাকেজগুলির মাধ্যমে ইউম পরিচালনা করুন

ইতিমধ্যে ইনস্টল না হওয়া সমস্ত নির্ভরতা সহ একটি প্যাকেজ ইনস্টল করতে, আপনি ব্যবহার করবেন:

# yum -y install package_name(s)

যেখানে প্যাকেজ_নাম (গুলি) কমপক্ষে একটি আসল প্যাকেজের নাম উপস্থাপন করে।

উদাহরণস্বরূপ, httpd এবং mlocon ইনস্টল করতে (সেই ক্রমে) টাইপ করুন।

# yum -y install httpd mlocate

দ্রষ্টব্য: উপরের উদাহরণে y অক্ষরটি নিশ্চিতকরণটিকে বাইপাস করে যা অনুরোধকৃত প্রোগ্রামগুলির প্রকৃত ডাউনলোড ও ইনস্টলেশন সম্পাদনের আগে ইয়াম উপস্থাপন করে। আপনি চাইলে এটি ছেড়ে দিতে পারেন।

ডিফল্টরূপে, yum ওএস আর্কিটেকচারের সাথে মেলে এমন আর্কিটেকচারের সাথে প্যাকেজটি ইনস্টল করবে, যদি না প্যাকেজ আর্কিটেকচারের নামে যুক্ত করে ওভাররাইড করা হয়।

উদাহরণস্বরূপ, একটি 64 বিট সিস্টেমে, yum ইনস্টল প্যাকেজটি প্যাকেজের x86_64 সংস্করণ ইনস্টল করবে, যেখানে yum ইনস্টল করা প্যাকেজ.এক্স 86 (উপলব্ধ থাকলে) 32-বিটটি ইনস্টল করবে।

এমন সময় আসবে যখন আপনি কোনও প্যাকেজ ইনস্টল করতে চান তবে এর সঠিক নামটি জানেন না। সমস্ত অনুসন্ধান বা অনুসন্ধান বিকল্পগুলি যথাক্রমে প্যাকেজের নাম এবং/অথবা এর বিবরণে একটি নির্দিষ্ট কীওয়ার্ডের জন্য বর্তমানে সক্ষম সঞ্চিত সংগ্রহগুলি অনুসন্ধান করতে পারে।

উদাহরণ স্বরূপ,

# yum search log

প্যাকেজগুলির জন্য তাদের নাম এবং সংক্ষিপ্তসার শব্দটি ব্যবহার করে ইনস্টল করা সংগ্রহস্থলগুলি অনুসন্ধান করবে

# yum search all log

প্যাকেজ বিবরণ এবং url ক্ষেত্রে একই কীওয়ার্ডটি সন্ধান করবে।

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

# yum info logwatch

আপনি নিম্নলিখিত কমান্ড সহ নিয়মিত আপডেটগুলি পরীক্ষা করতে পারেন:

# yum check-update

উপরের কমান্ডটি সমস্ত ইনস্টল করা প্যাকেজ ফিরিয়ে দেবে যার জন্য একটি আপডেট উপলব্ধ। নীচের চিত্রটিতে প্রদর্শিত উদাহরণে কেবল রেল -7-সার্ভার-আরপিএমের একটি আপডেট উপলব্ধ রয়েছে:

তারপরে আপনি সেই প্যাকেজটি একাই আপডেট করতে পারবেন,

# yum update rhel-7-server-rpms

যদি এমন বেশ কয়েকটি প্যাকেজ আপডেট করা যায় তবে ইয়াম আপডেটগুলি সেগুলি একবারে আপডেট করে।

এখন যখন আপনি এক্সিকিউটেবলের নাম যেমন পিএস 2 পিডিএফ জানেন তবে কী হবে তবে কোন প্যাকেজ এটি সরবরাহ করে তা জানেন না? আপনি ইয়ম হোয়াটপ্রোভিডস "*/[এক্সিকিউটেবল]" দ্বারা সন্ধান করতে পারবেন:

# yum whatprovides “*/ps2pdf”

এখন, যখন প্যাকেজটি মুছে ফেলার কথা আসে, আপনি yum অপসারণ প্যাকেজটি দিয়ে এটি করতে পারেন। সহজ, হাহ? এটি দেখায় যে ইয়াম সম্পূর্ণ এবং শক্তিশালী প্যাকেজ পরিচালক।

# yum remove httpd

আরও পড়ুন: আরএইচইএল 7 প্যাকেজ পরিচালনা পরিচালনা করার জন্য 20 ইয়াম কমান্ড

গুড ওল্ড প্লেইন আরপিএম

আরপিএম (ওরফে আরপিএম প্যাকেজ ম্যানেজার, বা মূলত রেডহ্যাট প্যাকেজ ম্যানেজার) প্যাকেজগুলি .rpm প্যাকেজ আকারে এলে ইনস্টল বা আপডেট করতে ব্যবহার করা যেতে পারে।

এটি প্রায়শই -Uvh ফ্ল্যাগগুলির সাথে ব্যবহার করে এটি নির্দেশ করে যে এটি প্যাকেজটি ইতিমধ্যে উপস্থিত না থাকলে এটি ইনস্টল করা উচিত বা এটি ইনস্টল করা থাকলে (-U) তৈরি করে আপডেট করার চেষ্টা করছে ক্রিয়াকলাপ আউটপুট (-v) এবং অপারেশন চলাকালীন (-h) হ্যাশ চিহ্নযুক্ত একটি অগ্রগতি বার। উদাহরণ স্বরূপ,

# rpm -Uvh package.rpm

আরপিএম-এর আর একটি সাধারণ ব্যবহার হ'ল কোড> আরপিএম -কিউ (ইনস্টল করা সমস্ত প্যাকেজের সংক্ষিপ্ত) সহ বর্তমানে ইনস্টল হওয়া প্যাকেজগুলির একটি তালিকা তৈরি করা:

# rpm -qa

আরও পড়ুন: আরপিএল 7 এ প্যাকেজ ইনস্টল করার জন্য 20 আরপিএম কমান্ড

ক্রোন ব্যবহার করে সময় নির্ধারণের কাজগুলি

লিনাক্স এবং অন্যান্য ইউনিক্স-এর মতো অপারেটিং সিস্টেমে ক্রোন নামক একটি সরঞ্জাম অন্তর্ভুক্ত যা আপনাকে পর্যায়ক্রমিক ভিত্তিতে চালনার জন্য কার্যগুলি নির্ধারিত করতে (যেমন কমান্ড বা শেল স্ক্রিপ্টগুলি) অনুমতি দেয়। ক্রোন প্রতি মিনিটে ফাইলগুলি/var/spool/ক্রোন ডিরেক্টরি যাচাই করে/etc/পাসডাব্লুডে অ্যাকাউন্টগুলির নামে নামকরণ করে।

কমান্ডগুলি কার্যকর করার সময়, কোনও আউটপুট ক্রন্টাবের মালিককে (বা মাইলটো পরিবেশে ভেরিয়েবলের মধ্যে/etc/crontab উপস্থিত থাকে তবে এটি উপস্থিত থাকলে) মেল করা হয়।

ক্রন্টব ফাইলগুলি (যা ক্রন্টব -e টাইপ করে এবং এন্টার টিপে তৈরি করা হয়) এর নিম্নলিখিত ফর্ম্যাট থাকে:

সুতরাং, আমরা যদি স্থানীয় ফাইল ডাটাবেস আপডেট করতে চাই (যা নাম বা প্যাটার্ন অনুসারে ফাইলগুলি সনাক্ত করতে ব্যবহৃত হয়) সকাল সোয়া 2 টা বেজে, আমাদের নিম্নলিখিত ক্রন্টব এন্ট্রি যুক্ত করতে হবে:

15 02 2 * * /bin/updatedb

উপরের ক্রোনটব এন্ট্রিতে লেখা আছে, "সপ্তাহের দিন নির্বিশেষে বছরের সোয়া ২ টায় বছরের প্রতিটি মাসে মাসের দ্বিতীয় দিনে চালান/বিন/আপডেটবিডি"। যেহেতু আমি নিশ্চিত যে আপনি ইতিমধ্যে অনুমান করেছেন, তারার প্রতীকটি ওয়াইল্ডকার্ড চরিত্র হিসাবে ব্যবহৃত হবে।

ক্রোন জব যুক্ত করার পরে আপনি দেখতে পাবেন যে রুট নামের একটি ফাইল/var/spool/ক্রনের অভ্যন্তরে যুক্ত করা হয়েছিল, যেমনটি আমরা আগে উল্লেখ করেছি। সেই ফাইলটি ক্রন্ড ডেমনটি চালিত হওয়া সমস্ত কার্যগুলির তালিকা করে:

# ls -l /var/spool/cron

উপরের চিত্রটিতে, বর্তমান ব্যবহারকারীর ক্রন্টব্যাট বিড়াল/বর্ণ/স্পুল/ক্রোন/মূল ব্যবহার করে বা প্রদর্শিত হতে পারে,

# crontab -l

আপনার যদি আরও সূক্ষ্ম ভিত্তিতে কোনও কাজ চালানোর দরকার হয় (উদাহরণস্বরূপ, দিনে দুবার বা প্রতি মাসে তিনবার), ক্রোন আপনাকে এটি করতে সহায়তা করতে পারে।

উদাহরণস্বরূপ, প্রতিমাসের প্রথম এবং 15 তারিখে/আমার/স্ক্রিপ্ট চালনা করতে এবং/dev/নালকে যে কোনও আউটপুট প্রেরণ করতে, আপনি নীচে দুটি ক্রন্টব এন্ট্রি যুক্ত করতে পারেন:

01 00 1 * * /myscript > /dev/null 2>&1
01 00 15 * * /my/script > /dev/null 2>&1

তবে টাস্কটি বজায় রাখা আরও সহজ হওয়ার জন্য, আপনি উভয় এন্ট্রিগুলিকে একটিতে একত্রিত করতে পারেন:

01 00 1,15 * *  /my/script > /dev/null 2>&1

পূর্ববর্তী উদাহরণ অনুসরণ করে, আমরা প্রতি তিন মাসের প্রথম দিন সকাল সাড়ে ১১ টায়/আমার/অন্যান্য/স্ক্রিপ্ট চালাতে পারি:

30 01 1 1,4,7,10 * /my/other/script > /dev/null 2>&1

তবে যখন আপনাকে প্রতি "এক্স" মিনিট, ঘন্টা, দিন, বা মাসগুলিতে কোনও নির্দিষ্ট কাজটির পুনরাবৃত্তি করতে হয়, আপনি পছন্দসই ফ্রিকোয়েন্সি দ্বারা সঠিক অবস্থানটি ভাগ করতে পারেন। নিম্নলিখিত ক্রন্টব এন্ট্রিটির আগের মত একই অর্থ রয়েছে:

30 01 1 */3 * /my/other/script > /dev/null 2>&1

অথবা সম্ভবত আপনাকে একটি নির্দিষ্ট ফ্রিকোয়েন্সি বা সিস্টেম বুটের পরে একটি নির্দিষ্ট কাজ চালানো দরকার, উদাহরণস্বরূপ। আপনি যখন নিজের কাজ চালাতে চান ঠিক সময়টি নির্দেশ করতে আপনি পাঁচটি ক্ষেত্রের পরিবর্তে নিম্নলিখিত স্ট্রিংগুলির একটি ব্যবহার করতে পারেন:

@reboot    	Run when the system boots.
@yearly    	Run once a year, same as 00 00 1 1 *.
@monthly   	Run once a month, same as 00 00 1 * *.
@weekly    	Run once a week, same as 00 00 * * 0.
@daily     	Run once a day, same as 00 00 * * *.
@hourly    	Run once an hour, same as 00 * * * *.

আরও পড়ুন: আরএইচইএল 7 এ ক্রোন জবুলি শিডিয়ুল করার 11 টি কমান্ড

লগগুলি সনাক্ত এবং পরীক্ষা করা হচ্ছে

সিস্টেম লগগুলি/var/লগ ডিরেক্টরিতে অন্তর্ভুক্ত থাকে (এবং ঘোরানো হয়)। লিনাক্স ফাইল সিস্টেম হায়ারার্কি স্ট্যান্ডার্ড অনুসারে, এই ডিরেক্টরিতে বিবিধ লগ ফাইল রয়েছে যা এটিতে লেখা হয় বা সিস্টেমের অপারেশন চলাকালীন সংশ্লিষ্ট ডিমোন দ্বারা একটি উপযুক্ত সাব-ডাইরেক্টরি (যেমন নিচের চিত্রে নিরীক্ষণ, httpd, বা সাম্বা):

# ls /var/log

অন্যান্য আকর্ষণীয় লগগুলি হ'ল ডিমেজ (কর্নেল রিং বাফার থেকে সমস্ত বার্তা রয়েছে), সুরক্ষিত (লগ সংযোগের প্রচেষ্টা যা ব্যবহারকারীর অনুমোদনের প্রয়োজন হয়), বার্তা (সিস্টেম-ব্যাপী বার্তাগুলি) এবং ডাব্লুটিএমপি (সমস্ত ব্যবহারকারীর লগইন এবং লগআউটগুলির রেকর্ড)।

লগগুলি খুব গুরুত্বপূর্ণ যে এগুলি আপনাকে আপনার সিস্টেমে সর্বদা কী চলছে এবং অতীতে কী ঘটেছিল তার এক ঝলক দেখার অনুমতি দেয়। তারা একটি লিনাক্স সার্ভারের সমস্যা সমাধান এবং নিরীক্ষণের জন্য একটি অমূল্য সরঞ্জাম উপস্থাপন করে এবং এইভাবে ঘটনাগুলি ঘটতে ওঠার সাথে সাথে ঘটনাগুলি প্রদর্শন করার জন্য প্রায়শই টেল -f কমান্ড ব্যবহার করা হয় and

উদাহরণস্বরূপ, আপনি যদি কার্নেল-সম্পর্কিত ইভেন্টগুলি প্রদর্শন করতে চান তবে নিম্নলিখিত কমান্ডটি টাইপ করুন:

# tail -f /var/log/dmesg

আপনি যদি নিজের ওয়েব সার্ভারে অ্যাক্সেস দেখতে চান তবে একই:

# tail -f /var/log/httpd/access.log

সারসংক্ষেপ

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

আপনার যদি কোনও প্রশ্ন বা মন্তব্য থাকে তবে নীচের পরিচিতি ফর্মটি ব্যবহার করে আমাদের একটি লাইন ফেলে দিতে দ্বিধা করবেন না।