CentOS 7 पर स्थानीय HTTP यम रिपॉजिटरी को कैसे सेटअप करें


एक सॉफ्टवेयर रिपॉजिटरी (" रेपो " संक्षेप में) सॉफ्टवेयर पैकेज रखने और बनाए रखने के लिए एक केंद्रीय फ़ाइल भंडारण स्थान है, जहां से उपयोगकर्ता पैकेजों को प्राप्त कर सकते हैं और अपने कंप्यूटर पर इंस्टॉल कर सकते हैं।

रिपॉजिटरी अक्सर इंटरनेट पर उदाहरण के लिए एक नेटवर्क पर सर्वर पर संग्रहीत की जाती है, जिसे कई उपयोगकर्ताओं द्वारा एक्सेस किया जा सकता है। हालाँकि, आप अपने कंप्यूटर पर एक स्थानीय रिपॉजिटरी बना और कॉन्फ़िगर कर सकते हैं और इसे एकल उपयोगकर्ता के रूप में एक्सेस कर सकते हैं या अपने LAN ( लोकल एरिया नेटवर्क ) पर अन्य मशीनों तक पहुँच की अनुमति दे सकते हैं।

स्थानीय रिपॉजिटरी की स्थापना का एक फायदा यह है कि आपको सोफ़वेयर पैकेजों को स्थापित करने के लिए इंटरनेट कनेक्शन की आवश्यकता नहीं होती है।

YUM (Yellowdog Updater Modified) RPM ( RedHat Package Manager ) आधारित लिनक्स सिस्टम के लिए व्यापक रूप से इस्तेमाल किया जाने वाला पैकेज मैनेजमेंट टूल है, जो Red Hat/पर सोफवेयर इंस्टॉलेशन को आसान बनाता है। CentOS लिनक्स।

इस लेख में, हम HTTP ( Nginx ) वेब सर्वर पर CentOS 7 VPS <पर एक स्थानीय YUM रिपॉजिटरी सेटअप करने का तरीका बताएंगे।/strong> और आपको क्लाइंट CentOS 7 मशीनों पर सॉफ़्टवेयर पैकेज खोजने और स्थापित करने का तरीका भी दिखाता है।

Yum HTTP Repository Server:	CentOS 7 [192.168.0.100]
Client Machine:		CentOS 7 [192.168.0.101]

चरण 1: Nginx वेब सर्वर स्थापित करें

1। सबसे पहले EPEL रिपॉजिटरी से NUMx HTTP सर्वर को स्थापित करके YUM पैकेज मैनेजर का उपयोग करके शुरू करें।

# yum install epel-release
# yum install nginx 

2। एक बार जब आप नगनेक्स वेब सर्वर स्थापित कर लेते हैं, तो आप इसे पहली बार शुरू कर सकते हैं और इसे सिस्टम बूट पर स्वचालित रूप से शुरू करने में सक्षम कर सकते हैं।

 
# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

3। अगला, आपको पोर्ट को खोलने की आवश्यकता है 80 और 443 वेब ट्रैक्स को नगीनक्स सेवा की अनुमति देने के लिए, इनबाउंड पैकेट को अनुमति देने के लिए सिस्टम फ़ायरवॉल नियमों को अपडेट करें। नीचे दिए गए आदेशों का उपयोग करके HTTP और HTTPS पर।

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload

4। अब आप पुष्टि कर सकते हैं कि निम्न URL का उपयोग करके आपका Nginx सर्वर ऊपर और चल रहा है; यदि आप डिफ़ॉल्ट Nginx वेब पेज देखते हैं, तो सब ठीक है।

http://SERVER_DOMAIN_NAME_OR_IP 

चरण 2: यम स्थानीय भंडार बनाएँ

5। इस चरण में, आपको अपने स्थानीय रिपॉजिटरी को बनाने, कॉन्फ़िगर करने और प्रबंधित करने के लिए आवश्यक पैकेज स्थापित करने की आवश्यकता है।

# yum install createrepo  yum-utils

6। अगला, आवश्यक निर्देशिकाएं (यम रिपॉजिटरी) बनाएं जो पैकेज और किसी भी संबंधित जानकारी को संग्रहीत करेगा।

# mkdir -p /var/www/html/repos/{base,centosplus,extras,updates}

7। फिर CentOS YUM रिपोजिटरी को स्थानीय निर्देशिका में सिंक्रनाइज़ करने के लिए reposync उपकरण का उपयोग करें।

# reposync -g -l -d -m --repoid=base --newest-only --download-metadata --download_path=/var/www/html/repos/
# reposync -g -l -d -m --repoid=centosplus --newest-only --download-metadata --download_path=/var/www/html/repos/
# reposync -g -l -d -m --repoid=extras --newest-only --download-metadata --download_path=/var/www/html/repos/
# reposync -g -l -d -m --repoid=updates --newest-only --download-metadata --download_path=/var/www/html/repos/
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.fibergrid.in
 * epel: mirror.xeonbd.com
 * extras: mirrors.fibergrid.in
 * updates: mirrors.fibergrid.in
base/7/x86_64/group                                                    | 891 kB  00:00:02     
No Presto metadata available for base
(1/9911): 389-ds-base-snmp-1.3.7.5-18.el7.x86_64.rpm                   | 163 kB  00:00:02     
(2/9911): 389-ds-base-devel-1.3.7.5-18.el7.x86_64.rpm                  | 267 kB  00:00:02     
(3/9911): ElectricFence-2.2.2-39.el7.i686.rpm                          |  35 kB  00:00:00     
(4/9911): ElectricFence-2.2.2-39.el7.x86_64.rpm                        |  35 kB  00:00:00     
(5/9911): 389-ds-base-libs-1.3.7.5-18.el7.x86_64.rpm                   | 695 kB  00:00:04     
(6/9911): GConf2-devel-3.2.6-8.el7.i686.rpm                            | 110 kB  00:00:00     
(7/9911): GConf2-devel-3.2.6-8.el7.x86_64.rpm                          | 110 kB  00:00:00     
(8/9911): GConf2-3.2.6-8.el7.i686.rpm                                  | 1.0 MB  00:00:06     

उपरोक्त आदेशों में, विकल्प:

  • -g – enables removing of packages that fail GPG signature checking after downloading.
  • -l – enables yum plugin support.
  • -d – enables deleting of local packages no longer present in repository.
  • -m – enables downloading of comps.xml files.
  • --repoid – specifies the repository ID.
  • --newest-only – tell reposync to only pull the latest version of each package in the repos.
  • --download-metadata – enables downloading all the non-default metadata.
  • --download_path – specifies the path to download packages.

8। अगला, यह सुनिश्चित करने के लिए अपने स्थानीय निर्देशिकाओं की सामग्री की जांच करें कि सभी पैकेज स्थानीय रूप से सिंक्रनाइज़ किए गए हैं।

# ls -l /var/www/html/repos/base/
# ls -l /var/www/html/repos/base/Packages/
# ls -l /var/www/html/repos/centosplus/
# ls -l /var/www/html/repos/centosplus/Packages/
# ls -l /var/www/html/repos/extras/
# ls -l /var/www/html/repos/extras/Packages/
# ls -l /var/www/html/repos/updates/
# ls -l /var/www/html/repos/updates/Packages/

9। अब निम्नलिखित आदेशों को चलाकर स्थानीय रिपॉजिटरी के लिए एक नया रिपोडाटा बनाएं, जिसमें ध्वज -g का उपयोग निर्दिष्ट का उपयोग करके पैकेज समूह जानकारी को अपडेट करने के लिए किया गया है .xml फ़ाइल।

# createrepo -g comps.xml /var/www/html/repos/base/  
# createrepo -g comps.xml /var/www/html/repos/centosplus/	
# createrepo -g comps.xml /var/www/html/repos/extras/  
# createrepo -g comps.xml /var/www/html/repos/updates/  

10। वेब ब्राउज़र के माध्यम से उनमें रिपॉजिटरी और पैकेज देखने को सक्षम करने के लिए, एक Nginx सर्वर ब्लॉक बनाएं जो आपके रिपॉजिटरी के रूट को इंगित करता है जैसा कि दिखाया गया है।

# vim /etc/nginx/conf.d/repos.conf 

निम्न कॉन्फ़िगरेशन ओटी फ़ाइल जोड़ें repos.conf

server {
        listen   80;
        server_name  repos.test.lab;	#change  test.lab to your real domain 
        root   /var/www/html/repos;
        location / {
                index  index.php index.html index.htm;
                autoindex on;	#enable listing of directory index
        }
}

फ़ाइल को सहेजें और इसे बंद करें।

11। फिर अपने Nginx सर्वर को पुनरारंभ करें और निम्न URL का उपयोग करके वेब ब्राउज़र से रिपॉजिटरी देखें।

http://repos.test.lab

चरण 3: क्रोन जॉब को सिंक्रोनाइज़ करने और रिपोजिटरी बनाने के लिए

12। इसके बाद, एक क्रॉन जॉब जोड़ें जो अपडेट और सुरक्षा पैच को हथियाने के लिए आधिकारिक CentOS रेपो के साथ स्वचालित रूप से आपके स्थानीय रीपोज़ को सिंक्रनाइज़ करेगा।

# vim /etc/cron.daily/update-localrepos

इन कमांड्स को स्क्रिप्ट में जोड़ें।

#!/bin/bash
##specify all local repositories in a single variable
LOCAL_REPOS=”base centosplus extras updates”
##a loop to update repos one at a time 
for REPO in ${LOCAL_REPOS}; do
reposync -g -l -d -m --repoid=$REPO --newest-only --download-metadata --download_path=/var/www/html/repos/
createrepo -g comps.xml /var/www/html/repos/$REPO/  
done

स्क्रिप्ट को सहेजें और इसे बंद करें और उस पर उपयुक्त अनुमतियाँ सेट करें।

# chmod 755 /etc/cron.daily/update-localrepos

चरण 4: क्लाइंट मशीनों पर स्थानीय यम रिपॉजिटरी सेटअप करें

13। अब आपके CentOS क्लाइंट मशीनों पर, अपने स्थानीय रेपो को YUM कॉन्फ़िगरेशन में जोड़ें।

# vim /etc/yum.repos.d/local-repos.repo

फ़ाइल में नीचे दिए गए कॉन्फ़िगरेशन को कॉपी और पेस्ट करें स्थानीय-repos.repo (जहां आवश्यक हो बदलाव करें)।

[local-base]
name=CentOS Base
baseurl=http://repos.test.lab/base/
gpgcheck=0
enabled=1

[local-centosplus]
name=CentOS CentOSPlus
baseurl=http://repos.test.lab/centosplus/
gpgcheck=0
enabled=1

[local-extras]
name=CentOS Extras
baseurl=http://repos.test.lab/extras/
gpgcheck=0
enabled=1

[local-updates]
name=CentOS Updates
baseurl=http://repos.test.lab/updates/
gpgcheck=0
enabled=1

फ़ाइल को सहेजें और अपने स्थानीय YUM दर्पण का उपयोग शुरू करें।

14। इसके बाद, क्लाइंट मशीनों पर उपलब्ध YUM रिपो की सूची में अपने स्थानीय प्रतिनिधि को देखने के लिए निम्न आदेश चलाएँ।

#  yum repolist
OR
# yum repolist all

बस इतना ही! इस लेख में, हमने समझाया है कि कैसे एक स्थानीय YUM रिपॉजिटरी को CentOS 7. पर सेटअप किया जाए। हमें उम्मीद है कि आपको यह मार्गदर्शिका उपयोगी लगी होगी। यदि आपके पास कोई प्रश्न, या कोई अन्य विचार साझा करने के लिए है, तो नीचे दिए गए टिप्पणी फ़ॉर्म का उपयोग करें।