मानक (आधिकारिक) आरएचईएल/सेंटोस रिपॉजिटरी कम संख्या में बुनियादी पैकेज प्रदान करते हैं जिनमें हमेशा कार्यक्रमों के नवीनतम संस्करण नहीं होते हैं। हालाँकि, आप Red Hat Enterprise Linux, CentOS, Oracle Linux और वैज्ञानिक Linux में नए प्रोग्राम स्थापित करने के लिए तृतीय-पक्ष सार्वजनिक या निजी रिपॉजिटरी का उपयोग कर सकते हैं। रेमी और ईपीईएल सबसे लोकप्रिय तृतीय-पक्ष भंडार हैं। इस लेख में, हम देखेंगे कि CentOS में yum (dnf) पैकेज मैनेजर के साथ अतिरिक्त रिपॉजिटरी को कैसे स्थापित, प्रबंधित और उपयोग किया जाए।
रिपॉजिटरी लिनक्स के लिए आरपीएम सॉफ्टवेयर पैकेज का एक अद्यतन योग्य स्टोर है। विभिन्न पैकेज प्रबंधक प्रोग्राम को स्थापित और अद्यतन करने के लिए नेटवर्क रिपॉजिटरी का उपयोग कर सकते हैं।
सेंटोस में ईपीईएल और रेमी रिपोजिटरी को कैसे सक्षम करें?
जब आप एक OS स्थापित करते हैं (हमारे उदाहरण में, यह CentOS 7) है, तो मूल भंडार डिफ़ॉल्ट रूप से स्थापित होते हैं। आप कमांड का उपयोग करके उनकी सूची देख सकते हैं:
yum repolist
जैसा कि आप स्क्रीनशॉट में देख सकते हैं, सिस्टम में 3 रिपॉजिटरी स्थापित हैं - आधार , अतिरिक्त , अपडेट . ये बुनियादी सॉफ़्टवेयर और अतिरिक्त रिपॉजिटरी स्थापित करना शुरू करने के लिए पर्याप्त हैं।
आइए विचार करें कि CentOS में अतिरिक्त रिपॉजिटरी कैसे स्थापित करें।
EPEL आज सबसे लोकप्रिय भंडार हो सकता है।
ईपीईएल (एंटरप्राइज लिनक्स के लिए अतिरिक्त पैकेज) फेडोरा टीम द्वारा प्रदान की गई एक खुली और मुफ्त रिपोजिटरी परियोजना है। इसमें Linux distros के लिए अतिरिक्त सॉफ़्टवेयर के उच्च-गुणवत्ता वाले पैकेज शामिल हैं। यह रिपॉजिटरी FTP सर्वर से लेकर PHP और सिस्टम मॉनिटरिंग टूल्स तक बड़ी संख्या में पैकेज होस्ट करती है। यह सबसे लोकप्रिय भंडार है। यह ध्यान देने योग्य है कि ईपीईएल पैकेज देशी सेंटोस / आरएचईएल पैकेजों के साथ विरोध नहीं करते हैं और उन्हें प्रतिस्थापित नहीं करते हैं।RPM पैकेज का उपयोग करके CentOS 7 (CentOS 6 के विपरीत) में EPEL को स्थापित करना बहुत आसान है (यह एक नया रेपो जोड़ने का सबसे आसान तरीका है):
yum install epel-release
स्थापित होने के बाद, रिपॉजिटरी बिना किसी क्रिया के रेपो सूची में दिखाई देती है (आपको यम कैश को साफ़ करने की आवश्यकता नहीं है)।
CentOS पर रेमी रिपॉजिटरी स्थापित करने के लिए, यह कमांड चलाएँ:
rpm -ivh https://rpms.famillecollet.com/enterprise/remi-release-7.rpm
यदि आपके लिए आवश्यक रिपॉजिटरी के लिए कोई RPM पैकेज नहीं है, तो आप इसे एक कॉन्फिग फाइल बनाकर जोड़ सकते हैं .repo /etc/yum.repos.d . में मैन्युअल रूप से (अगला लेख अनुभाग देखें)।
यह समझने के लिए कि संकुल किन भंडारों से संस्थापित किया गया है, आप संकुलों की पूरी सूची प्रदर्शित कर सकते हैं:
yum list installed
जैसा कि आप देख सकते हैं, प्रत्येक पैकेज में उस रिपॉजिटरी के बारे में जानकारी होती है जिससे इसे स्थापित किया गया है (नीचे स्क्रीनशॉट पर बेस, अपडेट, एपेल और एनाकोंडा रेपो हैं)।
आप एक विशिष्ट रेपो में संस्थापन के लिए उपलब्ध संकुलों की सूची प्रदर्शित कर सकते हैं:
yum repo-pkgs epel list
रिपॉजिटरी कॉन्फ़िगरेशन फ़ाइलें (*.repo)
सभी रिपॉजिटरी कॉन्फ़िगरेशन फ़ाइलें /etc/yum.repos.d/ . में स्थित हैं और *.repo . प्राप्त करें विस्तार। एक विशिष्ट कॉन्फ़िग फ़ाइल में निम्नलिखित पैरामीटर होते हैं:
- नाम — भंडार का नाम
- बेसुरल - एक रिपॉजिटरी का लिंक (यह ftp://address, https://address, https://address या file://address एक स्थानीय रेपो के लिए हो सकता है)
- सक्षम - क्या इस रेपो का उपयोग किया जाना चाहिए:1 - रेपो सक्षम है, 0 - रेपो अक्षम है;
- async - समानांतर पैकेज डाउनलोडिंग का उपयोग करना है या नहीं (ऑटो/ऑन/ऑफ)
- gpgcheck - GPG जांच करनी है या नहीं (1 — चेक चालू है)
- gpgkey — GPG कुंजी का लिंक
- बहिष्कृत करें — बहिष्कृत पैकेजों की सूची
- includekgs — शामिल पैकेजों की सूची
- दर्पण सूची - रिपोजिटरी मिरर की सूची
सबसे छोटी रेपो फ़ाइल इस तरह दिख सकती है:
[rep_name] name=rep_name baseurl=rep_url
उदाहरण के लिए, आपके द्वारा REMI रिपॉजिटरी स्थापित करने के बाद, कुछ रेमी (remi-*.repo) कॉन्फ़िगरेशन फ़ाइलें रिपॉजिटरी निर्देशिका में दिखाई देंगी।
जैसा कि आप देख सकते हैं, रेमी के पास प्रत्येक PHP संस्करण के लिए एक अलग कॉन्फ़िगरेशन फ़ाइल है। आपको कॉन्फ़िगरेशन फ़ाइल के माध्यम से आवश्यक PHP संस्करण को सक्षम करना होगा। उदाहरण के लिए, मेरे पास मेरे सर्वर पर PHP 7.3 स्थापित होगा, इसलिए मैंने संबंधित रेपो को सक्षम किया है (मैंने निर्दिष्ट किया है enabled=1
remi-php73.repo
. में ):
आप रिपॉजिटरी को मैन्युअल रूप से कनेक्ट कर सकते हैं। ऐसा करने के लिए, /etc/yum.repos.d/ में एक रिपोजिटरी कॉन्फ़िगरेशन फ़ाइल बनाएं। आइए मारियाडीबी रेपो जोड़ें।
nano /etc/yum.repos.d/mariadb.repo
इसमें MariaDB पैकेज डेवलपर द्वारा प्रदान किया गया डेटा जोड़ें:
[mariadb] name = MariaDB baseurl = https://yum.mariadb.org/10.4/centos73-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
CentOS में किसी रिपॉजिटरी को कैसे निष्क्रिय करें?
स्थापित रिपॉजिटरी में से किसी एक को अक्षम करने के लिए, यह निर्दिष्ट करने के लिए पर्याप्त है सक्षम =0 इसकी कॉन्फ़िगरेशन फ़ाइल में।
फिर यम कैशे साफ़ करें:
yum clean all
और इसे फिर से बनाएं:
yum makecache
उसके बाद जब आप पैकेज इंस्टॉल या अपडेट करेंगे तो रेमी-php73 रेपो का उपयोग नहीं किया जाएगा।
यदि आप केवल वर्तमान पैकेज अपडेट/इंस्टॉलेशन कमांड के लिए रिपॉजिटरी का उपयोग नहीं करना चाहते हैं, तो आप इसे यम कमांड में अक्षम कर सकते हैं, उदाहरण के लिए:
yum update —disablerepo=epel
इस उदाहरण में, हमने ईपीईएल को निष्क्रिय कर दिया है और स्थापित संकुल को अद्यतन किया है।
आप उन सभी रिपॉजिटरी को अस्थायी रूप से अक्षम कर सकते हैं जिनकी आपको आवश्यकता नहीं है। उदाहरण के लिए, केवल मारियाडीबी रिपॉजिटरी से पैकेज अपडेट करने के लिए, कमांड चलाएँ:
yum update --disablerepo "*" --enablerepo=mariadb
रेपो को अक्षम या हटाने के लिए, yum-config-manager जो yum-utils टूल से संबंधित है उसका उपयोग किया जाता है।
यम-बर्तन स्थापित करें:
yum -y install yum-utils
रिपॉजिटरी को अक्षम करें, उदाहरण के लिए, रेमी:
yum-config-manager --disable remi
रिपॉजिटरी को पूरी तरह से हटाने के लिए, आपको इसकी कॉन्फ़िगरेशन फ़ाइलों को हटाना होगा और यम कैशे को अपडेट करना होगा।
उपलब्ध पैकेज अपडेट के लिए रेपो की जांच कैसे करें?
आप उपलब्ध पैकेज अपडेट के लिए एक विशिष्ट रिपॉजिटरी की जांच कर सकते हैं।
yum check-update --disablerepo "*" --enablerepo=mariadb
इस प्रकार, आप अपने सर्वर पर कनेक्टेड रेपो को प्रबंधित कर सकते हैं। ध्यान दें कि विभिन्न रिपॉजिटरी में समान पैकेज हो सकते हैं, और अद्यतन के दौरान संस्करण विरोध हो सकता है। इसलिए केवल उन रिपॉजिटरी को छोड़ दें जिनके साथ आप सक्षम हैं।
CentOS और RHEL के लिए लोकप्रिय तृतीय पक्ष रिपॉजिटरी
मारियाडीबी रेपो, जैसा कि आप इसके नाम से अनुमान लगा सकते हैं, इसमें मारियाडीबी पैकेज शामिल हैं। रिपॉजिटरी को मारियाडीबी डेवलपर्स द्वारा बनाया गया है, यह लगातार समर्थित और अद्यतन है।
सिस्टम में इस रिपॉजिटरी को स्थापित करने के लिए, निम्नलिखित सामग्री के साथ एक .repo फ़ाइल बनाएँ:
[mariadb] name = MariaDB baseurl = https://yum.mariadb.org/10.4/centos73-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
पिछले भंडार की तरह, Nginx इसमें nginx HTTPD सर्वर से संबंधित पैकेज होते हैं।
nginx रेपो स्थापित करने के लिए, एक .repo फ़ाइल बनाएँ और निम्नलिखित पाठ यहाँ जोड़ें:
[nginx-stable] name=nginx stable repo baseurl=https://nginx.org/packages/CentOS/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key
रिपॉजिटरी की यह सूची तथाकथित LAMP स्टैक को nginx के साथ फ्रंट-एंड सर्वर के रूप में कॉन्फ़िगर करने के लिए पर्याप्त है।
यह भंडार सूची लगभग किसी भी उपयोगकर्ता के लिए पर्याप्त हो सकती है, हालांकि, मैं कुछ और उदाहरण दूंगा।
वेबटैटिक सीमित संख्या में विशेषज्ञों द्वारा समर्थित है, ज्यादातर यह एंडी थॉम्पसन है। इसमें PHP से संबंधित पैकेज शामिल हैं, लेकिन यह रेमी की तुलना में कम लोकप्रिय है, क्योंकि इस लेख के लिखे जाने तक इस रिपॉजिटरी में नवीनतम PHP संस्करण 7.2 हो चुका था।
yum repo-pkgs webtatic list | grep php7
mod_php71w.x86_64 7.1.31-1.w7 webtatic mod_php72w.x86_64 7.2.21-1.w7 webtatic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ php72w-tidy.x86_64 7.2.21-1.w7 webtatic php72w-xml.x86_64 7.2.21-1.w7 webtatic php72w-xmlrpc.x86_64 7.2.21-1.w7 webtatic
रिपॉजिटरी को सक्षम करने के लिए, निम्नलिखित RPM पैकेज स्थापित करें:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
MySQL वह है जिसे मैं याद दिलाना चाहता हूं। मैंने इसे लोकप्रिय लोगों के साथ नहीं रखा है, क्योंकि मुझे लगता है कि एक डेटाबेस सर्वर के रूप में MySQL ने अपनी स्थिति खो दी है। मारियाडीबी आमतौर पर इसके बजाय सर्वर पर स्थापित होता है। हालाँकि, अगर कोई MySQL स्थापित करना चाहता है, तो आप इस रेपो को सक्षम कर सकते हैं। उदाहरण के लिए, आप mysql 5.7 स्थापित करना चाहते हैं:
पैकेज डाउनलोड करें:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
और इसे स्थापित करें:
rpm -Uvh mysql57-community-release-el7-9.noarch.rpm
स्थापना के बाद मैं MySQL स्थापित कर सकता हूँ:
इस लेख में, हमने CentOS में रिपॉजिटरी प्रबंधन के कुछ पहलुओं को दिखाया है और कुछ उपयोगी रिपॉजिटरी का अध्ययन किया है।