Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Linux

CentOS और RHEL पर YUM पैकेज मैनेजर का उपयोग

इस लेख में, हम YUM पैकेज मैनेजर पर विचार करेंगे जो प्रोग्राम (RPM पैकेज) की इंस्टॉलेशन, रिमूवल और अपडेटिंग को मैनेज करने, निर्भरताओं को ऑटोमैटिकली हल करने और अतिरिक्त रिपॉजिटरी मैनेज करने की अनुमति देता है। यह लेख शुरुआती Linux एडमिनिस्ट्रेटर के लिए yum चीट शीट के रूप में उपयोगी होगा।

Yum (Yellowdog Updater Modified) RPM पैकेज पर आधारित Linux डिस्ट्रो के लिए एक कंसोल पैकेज मैनेजर है (RedHat Package Manager)। इनमें RedHat, CentOS, Fedora, Oracle Linux, Scientific Linux जैसे लोकप्रिय OS शामिल हैं।

YUM का उपयोग करके पैकेज इंस्टॉल, अपडेट और रिमूव करना

कहां से शुरू करें? किसी भी अन्य मामले की तरह, आइए मदद से शुरू करें:

yum help — yum पर पूरी मदद

मैं सबसे लोकप्रिय yum कमांड्स को हाइलाइट करूंगा:

yum clean all — सभी पैकेज का कैश क्लीन करता है (आमतौर पर उपयोग किया जाता है यदि yum के साथ कोई समस्या हो)

yum makecache — पैकेज कैश रीक्रिएट करता है

yum repolist — सभी कनेक्टेड रिपॉजिटरी की सूची प्रदर्शित करता है, आउटपुट इस तरह दिखता है:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: 
* extras: 
* updates: 
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,019
extras/7/x86_64 CentOS-7 - Extras 435
updates/7/x86_64 CentOS-7 - Updates 2,500
repolist: 12,954

मेरे सिस्टम पर केवल स्टैंडर्ड CentOS 7 रिपॉजिटरी इंस्टॉल हैं: Base, Extras और Updates।

yum list available — इंस्टॉलेशन के लिए उपलब्ध सभी पैकेज की सूची प्रदर्शित करता है।

yum list installed — सिस्टम में इंस्टॉल सभी पैकेज की सूची दिखाता है।

yum list kernel — Linux कर्नेल से संबंधित पैकेज की सूची प्रदर्शित करता है।

आप चेक कर सकते हैं कि कोई विशिष्ट पैकेज आपके CentOS सर्वर पर इंस्टॉल है या नहीं (उदाहरण के लिए, apache पैकेज स्टेटस चेक करें):

yum list installed httpd
Installed Packages
httpd.x86_64 2.4.6-89.el7.centos.1 @updates

आप किसी विशिष्ट पैकेज के बारे में विस्तृत जानकारी प्राप्त कर सकते हैं। उदाहरण के लिए, आइए MariaDB पैकेज के बारे में अधिक जानकारी प्राप्त करें:

yum info mariadb

CentOS और RHEL पर YUM पैकेज मैनेजर का उपयोग

पैकेज इंस्टॉल करने के लिए, yum install का उपयोग किया जाता है। Apache वेब सर्वर इंस्टॉल करने के लिए, यह कमांड चलाएं:

yum install httpd

यदि किसी भी yum कमांड को चलाते समय आपको "Traceback (most recent call last):thread.error: can't start new thread" एरर दिखाई देता है, तो संभावना है कि आपके सर्वर पर पर्याप्त RAM नहीं है। कुछ RAM जोड़ने का प्रयास करें या yum प्लगइन्स डिसेबल करें (/etc/yum.conf में plugins=0 निर्दिष्ट करें)।

पैकेज इंस्टॉल करने से पहले, आप इस कमांड का उपयोग करके इसकी निर्भरताएं चेक कर सकते हैं:

yum deplist httpd

यदि आप कोई पैकेज इंस्टॉल करना चाहते हैं, लेकिन आप उसका पूरा नाम भूल गए हैं, तो आप * वाइल्डकार्ड का उपयोग कर सकते हैं। उदाहरण के लिए:

yum install epel-*
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be installed
--> Finished Dependency Resolution
Install 1 Package
Total download size: 15 k
Installed size: 24 k
Is this ok [y/d/N]:

यदि आप बस दर्ज करते हैं:

yum install epel
No package epel available.
Error: Nothing to do

आपको कोई पैकेज उपलब्ध नहीं दिखाई देगा।

Yum एक साथ कई पैकेज इंस्टॉल कर सकता है:

yum install httpd php wget rsyslog

पैकेज को रीइंस्टॉल करने के लिए:

yum reinstall proftpd

Yum के साथ इंस्टॉल किए गए पैकेज को हटाने के लिए, remove पैरामीटर का उपयोग किया जाता है:

yum remove httpd

किसी भी पैकेज को हटाने से पहले, इसकी निर्भरताएं चेक करने की अनुशंसा की जाती है (ऐसे पैकेज हैं जो उन्हें हटाने का प्रयास करते समय कुछ अन्य पैकेज को हटाने का कारण बनते हैं)।

yum deplist proftpd

CentOS और RHEL पर YUM पैकेज मैनेजर का उपयोग

नाम या विवरण से पैकेज खोजने के लिए:

yum search nginx

Provides ऑप्शन का उपयोग करके, आप विशिष्ट फ़ाइल वाले पैकेज ढूंढ सकते हैं, उदाहरण के लिए:

yum provides */squid.conf

सभी इंस्टॉल किए गए पैकेज अपडेट करने के लिए, यह कमांड चलाएं:

yum update

आप पैकेज को उसके नाम से अपडेट कर सकते हैं:

yum update php

आप इस कमांड के साथ चेक कर सकते हैं कि आपके सिस्टम के लिए कोई उपलब्ध अपडेट हैं या नहीं:

yum check-update

उपलब्ध सुरक्षा अपडेट के बारे में जानकारी प्राप्त करने के लिए:

yum updateinfo list security

कुछ मामलों में, पैकेज या सर्विस अपडेट करने के बाद समस्याएं हो सकती हैं। उदाहरण के लिए, php संस्करण अपडेट करने के बाद आपकी साइट काम करना बंद कर देती है। आप yum का उपयोग करके पिछले पैकेज संस्करण पर वापस जा सकते हैं:

yum downgrade php

आप grouplist के साथ पैकेज की ग्रुप इंस्टॉलेशन का भी उपयोग कर सकते हैं। रिपॉजिटरी में अलग-अलग प्रोग्राम सेट के साथ कुछ पूर्वनिर्धारित पैकेज ग्रुप होते हैं। आप इन ग्रुप की सूची प्रदर्शित कर सकते हैं:

yum grouplist

आइए देखते हैं कि यह "Basic Web Server" सूची के उदाहरण पर कैसे काम करता है। ग्रुप और इसके पैकेज के बारे में अधिक जानने के लिए:

yum groupinfo "Basic Web Server"

CentOS और RHEL पर YUM पैकेज मैनेजर का उपयोग

चेक करने के बाद हम देखते हैं कि वेब सर्वर के लिए पैकेज और सर्विस का सेट इंस्टॉल किया जाएगा।

यहां एक और उपयोगी ग्रुप सूची है — "System Administration Tools":

yum groupinfo "System Administration Tools"

CentOS और RHEL पर YUM पैकेज मैनेजर का उपयोग

जैसा कि आप देख सकते हैं, सूची में मॉनिटरिंग और डीबगिंग टूल्स हैं।

आप इस कमांड का उपयोग करके ग्रुप सूची इंस्टॉल कर सकते हैं:

yum groupinstall "System Administration Tools"

इंस्टॉल किए गए पैकेज एक अलग ब्लॉक ("Installed Groups") में दिखाई देंगे:

CentOS और RHEL पर YUM पैकेज मैनेजर का उपयोग

YUM History कमांड का उपयोग

आप yum इंस्टॉलेशन हिस्ट्री (ट्रांजेक्शन की सूची) इस कमांड का उपयोग करके प्रदर्शित कर सकते हैं:

yum history list

आउटपुट में 5 कॉलम होते हैं, पहला वाला ट्रांजेक्शन ID दिखाता है जिसका उपयोग ट्रांजेक्शन डिटेल्स (इंस्टॉल किए गए पैकेज, निर्भरताएं) देखने के लिए किया जा सकता है।

उदाहरण के लिए:

yum history info 10

CentOS और RHEL पर YUM पैकेज मैनेजर का उपयोग

इसके अलावा, आप इस कमांड का उपयोग करके ट्रांजेक्शन को पूर्ववत कर सकते हैं:

yum history undo 10

मेरे मामले में, 4 पैकेज हटाए गए होते:

CentOS और RHEL पर YUM पैकेज मैनेजर का उपयोग

आप /var/log/yum.log में yum पैकेज इंस्टॉलेशन/रिमूवल के बारे में जानकारी देख सकते हैं:

cat /var/log/yum.log

उपयोगी YUM कमांड ऑप्शन

Yum के कुछ उपयोगी ऑप्शन हैं जिनकी आपको पैकेज मैनेज करने के लिए अक्सर आवश्यकता हो सकती है। सभी yum आउटपुट को एरर के अलावा दबाने के लिए -y ऑप्शन का उपयोग करें। उदाहरण के लिए:

yum update -y
yum install httpd -y

नहीं कहने के लिए, इस ऑप्शन का उपयोग करें:

--assumeno

Yum को किसी भी प्लगइन के बिना उपयोग करने या उनमें से एक को डिसेबल करने के लिए, पैरामीटर का उपयोग करें:

--noplugins
--disableplugin=fastestmirror

डिसेबल प्लगइन को इनेबल करने के लिए:

--enableplugin=fastestmirror

डिसेबल रेपो का उपयोग करने के लिए:

yum update --enablerepo=atomic

Yum में किसी विशिष्ट रिपॉजिटरी को डिसेबल करने के लिए:

yum update --disablerepo=atomic

YUM कॉन्फिगरेशन फ़ाइल /etc/yum.conf

YUM कॉन्फिगरेशन फ़ाइल /etc/yum.conf है।

मुख्य कॉन्फिग फ़ाइल पैरामीटर हैं:

  • cachedir — लोकल पैकेज कैश (डिफ़ॉल्ट रूप से, /var/cache/yum)
  • logfile — yum लॉग फ़ाइल का पथ
  • obsoletes — अप्रचलित पैकेज अपडेट करना है या नहीं (1 — हां, 0 — नहीं)
  • gpgcheck — इंस्टॉलेशन से पहले पैकेज वेरिफाई करना है या नहीं (1 — हां, 0 — नहीं)
  • keepcache — कैश रखना है या नहीं (1 — हां, 0 — नहीं)
  • cachedir — yum कैश स्टोर करने की डायरेक्टरी (डिफ़ॉल्ट रूप से, /var/cache/yum)
  • debuglevel — डीबग लेवल 1-10
  • plugins — yum प्लगइन्स इनेबल करना (1 — हां, 0 — नहीं)
  • bugtracker_url — वह लिंक जहां yum एरर रजिस्टर किए जाएंगे
  • installonly_limit — एक पैकेज के लिए इंस्टॉल किए जा सकने वाले संस्करणों की अधिकतम संख्या

उपयोगी YUM प्लगइन्स

Yum में प्लगइन्स की आवश्यकता क्यों है? हर जगह की तरह, वे हमारा काम आसान बनाते हैं।

यहां कुछ लोकप्रिय प्लगइन्स और उनका विवरण दिया गया है:

  • yum-plugin-fastestmirror — मिरर स्पीड मापता है और पैकेज इंस्टॉल करने के लिए सबसे तेज़ वाला प्रदान करता है।
  • yum-plugin-security — केवल सुरक्षा अपडेट की सूची प्रदान करता है।
  • yum-plugin-keys — keys, keys-info, keys-data, keys-remove पैरामीटर का उपयोग करने की अनुमति देता है

वह डायरेक्टरी जहां सभी प्लगइन्स स्टोर होते हैं, /etc/yum/ है।

  • yum-plugin-versionlock — चयनित पैकेज को अपडेट होने से रोकता है

उपलब्ध yum प्लगइन्स की सूची प्रदर्शित करने के लिए, यह कमांड चलाएं:

yum search yum-plugin
=======================================================================
N/S matched: yum-plugin =======================================================================
PackageKit-yum-plugin.x86_64 : Tell PackageKit to check for updates when yum exits
fusioninventory-agent-yum-plugin.noarch : Ask FusionInventory agent to send an inventory when yum exits
kabi-yum-plugins.noarch : The CentOS Linux kernel ABI yum plugin
yum-plugin-aliases.noarch : Yum plugin to enable aliases filters
yum-plugin-auto-update-debug-info.noarch : Yum plugin to enable automatic updates to installed debuginfo packages
yum-plugin-changelog.noarch : Yum plugin for viewing package changelogs before/after updating
yum-plugin-copr.noarch : Yum plugin to add copr command
yum-plugin-fastestmirror.noarch : Yum plugin which chooses fastest repository from a mirrorlist
yum-plugin-filter-data.noarch : Yum plugin to list filter based on package data
yum-plugin-fs-snapshot.noarch : Yum plugin to automatically snapshot your filesystems during updates
yum-plugin-keys.noarch : Yum plugin to deal with signing keys
yum-plugin-list-data.noarch : Yum plugin to list aggregate package data
yum-plugin-local.noarch : Yum plugin to automatically manage a local repo. of downloaded packages
yum-plugin-merge-conf.noarch : Yum plugin to merge configuration changes when installing packages
yum-plugin-ovl.noarch : Yum plugin to work around overlayfs issues
yum-plugin-post-transaction-actions.noarch : Yum plugin to run arbitrary commands when certain pkgs are acted on
yum-plugin-pre-transaction-actions.noarch : Yum plugin to run arbitrary commands when certain pkgs are acted on
yum-plugin-priorities.noarch : plugin to give priorities to packages from different repos
yum-plugin-protectbase.noarch : Yum plugin to protect packages from certain repositories.
yum-plugin-ps.noarch : Yum plugin to look at processes, with respect to packages
yum-plugin-remove-with-leaves.noarch : Yum plugin to remove dependencies which are no longer used because of a removal
yum-plugin-rpm-warm-cache.noarch : Yum plugin to access the rpmdb files early to warm up access to the db
yum-plugin-show-leaves.noarch : Yum plugin which shows newly installed leaf packages
yum-plugin-tmprepo.noarch : Yum plugin to add temporary repositories
yum-plugin-tsflags.noarch : Yum plugin to add tsflags by a commandline option
yum-plugin-upgrade-helper.noarch : Yum plugin to help upgrades to the next distribution version
yum-plugin-verify.noarch : Yum plugin to add verify command, and options
yum-plugin-versionlock.noarch : Yum plugin to lock specified packages from being updated

आप yum install का उपयोग करके किसी अन्य पैकेज की तरह प्लगइन इंस्टॉल कर सकते हैं:

yum install yum-plugin-changelog
yum -y install yum-versionlock

प्लगइन का उपयोग करके पैकेज अपडेट ब्लॉक करने के लिए, निम्न कमांड चलाएं:

yum versionlock nginx

ब्लॉक किए गए पैकेज की सूची प्रदर्शित करने के लिए:

yum versionlock list

ब्लॉक सूची से पैकेज हटाने के लिए:

yum versionlock delete nginx

CentOS और RHEL पर YUM पैकेज मैनेजर का उपयोग

यदि आप प्लगइन का उपयोग नहीं करना चाहते हैं, तो आप इसे yum कमांड में निम्न ऑप्शन जोड़कर डिसेबल कर सकते हैं:

--disableplugin=fastestmirror

या आप सभी yum प्लगइन्स डिसेबल कर सकते हैं:

--noplugins

YUM के लिए प्रॉक्सी कैसे कॉन्फिगर करें?

Yum पैकेज रिपॉजिटरी के साथ इंटरैक्ट करने के लिए HTTP/1.1 प्रोटोकॉल का उपयोग करता है। यदि आपका Linux सर्वर केवल HTTP प्रॉक्सी सर्वर के माध्यम से इंटरनेट एक्सेस कर सकता है, तो आप अपने /etc/yum.conf फ़ाइल के [main] सेक्शन में प्रॉक्सी सर्वर का नाम निर्दिष्ट कर सकते हैं:

proxy=https://proxy_server_name:3128

यदि आपके प्रॉक्सी सर्वर को ऑथेंटिकेशन की आवश्यकता है, तो ये लाइनें भी जोड़ें:

proxy_username=proxy_user
proxy_password=proxy_user_passw0rd

यह सुनिश्चित करने के लिए कि yum प्रॉक्सी सर्वर के माध्यम से काम करता है, इस कमांड का उपयोग करें:

yum clean all && yum search nginx

इसे चेक करने के लिए, मैंने एक जर्मन पब्लिक प्रॉक्सी सर्वर एड्रेस निर्दिष्ट किया, और इंस्टॉलेशन के दौरान fastestmirror प्लगइन ट्रिगर हुआ और इसने सबसे तेज़ स्पीड वाले मिरर ढूंढे:

CentOS और RHEL पर YUM पैकेज मैनेजर का उपयोग

यदि आप केवल कुछ रिपॉजिटरी के लिए प्रॉक्सी का उपयोग करना चाहते हैं, तो आपको /etc/yum.conf फ़ाइल में परिवर्तन करने की आवश्यकता नहीं है। आप इसके बजाय रिपॉजिटरी कॉन्फिगरेशन फ़ाइल /etc/yum.repos.d/your_config.repo में प्रॉक्सी सर्वर सेटिंग्स निर्दिष्ट कर सकते हैं।

तो हमने Linux CentOS/RHEL में RPM पैकेज मैनेजर, yum की बेसिक विशेषताओं पर विचार किया। अगले लेख में, हम दिखाएंगे कि YUM/DNF रिपॉजिटरी को अधिक विस्तार से कैसे मैनेज किया जाए।

  1. RHEL, CentOS और Fedora के बीच अंतर RHEL, CentOS और Fedora के बीच अंतर

    Linux डिस्ट्रीब्यूशन कार मॉडल की तरह हैं। चुनने के लिए टन हैं, हर दिन नए सामने आते हैं, और उनमें से कुछ के बीच अंतर निर्धारित करना कठिन है। विशेष रूप से, Linux कंपनी, Red Hat, और उसके तीन मुख्य डिस्ट्रीब्यूशन के आसपास के काम के बारे में बहुत सारी सामान्य जानकारी है जिनका यह मालिक है और प्रायोजित कर

  1. CentOS/RHEL पर बैश ऑटो-कंप्लीशन सक्षम करें: चरण-दर-चरण मार्गदर्शिका CentOS/RHEL पर बैश ऑटो-कंप्लीशन सक्षम करें: चरण-दर-चरण मार्गदर्शिका

    Bash (बोर्न अगेन शेल) निस्संदेह वहां सबसे लोकप्रिय लिनक्स शेल है, कोई आश्चर्य नहीं कि यह कई लिनक्स डिस्ट्रीब्यूशन पर डिफ़ॉल्ट शेल है। इसकी सबसे आकर्षक विशेषताओं में से एक अंतर्निहित ऑटो-कंप्लीशन समर्थन है। कभी-कभी TAB कंप्लीशन के रूप में संदर्भित, यह सुविधा आपको कमांड संरचना को आसानी से पूरा करने की

  1. Chocolatey मास्टर करें: Windows 10 के प्रमुख पैकेज मैनेजर को इंस्टॉल और उपयोग करने की चरण-दर-चरण मार्गदर्शिका Chocolatey मास्टर करें: Windows 10 के प्रमुख पैकेज मैनेजर को इंस्टॉल और उपयोग करने की चरण-दर-चरण मार्गदर्शिका

    कल्पना करें: आपको अपने Windows PC पर कुछ नया सॉफ़्टवेयर इंस्टॉल करने की आवश्यकता है। संभावना है, आप एक वेबसाइट पर जाएंगे, पेज पर जंक पर क्लिक न करने की कोशिश करेंगे, और फिर एक ग्राफिकल इंस्टॉलर के माध्यम से क्लिक करेंगे, सबसे अधिक संभावना डिफ़ॉल्ट सेटिंग्स का उपयोग करके। यह एक दिनचर्या है जिससे आप