Vi har allerede vist deg hvordan du oppretter en lokal repository på Ubuntu-systemer. I dag skal vi lære om å sette opp lokale yum repository på CentOS 6.4 og andre RPM baserte distribusjoner.
Som jeg nevnt i min forrige tutorial om lokale repository, hvis du har til installert programvare, sikkerhetsoppdateringer og feilrettinger ofte i flere systemer i lokalnettet, så har en lokal depot er en effektiv måte. Fordi alle nødvendige pakkene er lastet ned over den raske LAN-tilkobling fra din lokale server, slik at det vil spare din Internett-båndbredde og reduserer årlige kostnaden for Internet
I denne opplæringen bruker jeg to systemene som beskrevet nedenfor.
Yum Server OS: CentOS 6.4 (minimumsinstallering) Yum Server IP Address: 192.168.1.200Client OS: CentOS 6.3 (minimumsinstallering) Client IP-adresse: 192.168.1.201Forutsetninger
Først montere CentOS 6.4 installasjon DVD (s). Du vil sannsynligvis ha to DVD-er for CentOS:
[root @ server ~] # mount /dev /cdrom /mnt /Nå CentOS installasjon DVD er montert under /mnt katalogen. Neste installere vsftpd pakke og gjøre pakkene tilgjengelig over FTP til lokale kunder
For å gjøre denne endringen til /mnt /Pakke katalogen:.
[root @ server ~] # cd /mnt /Pakker /Nå installere vsftpd pakke:
[root @ server pakker] # rpm ivh vsftpd-2.2.2-11.el6_3.1.i686.rpm advarsel: vsftpd-2.2.2-11 .el6_3.1.i686.rpm: Header V3 RSA /SHA1 Signatur, key ID c105b9de: NOKEYPreparing ... ########################## ################# [100%] 1: vsftpd ########################## ################# [100%]Start-FTP-tjeneste, og la den tjenesten som skal startes automatisk på hver omstart:
[root @ server Pakker ] # /etc/init.d/vsftpd startStarting vsftpd for vsftpd: [OK] [root @ server Pakker] # chkconfig vsftpd påVi trenger en pakke kalt "createrepo" for å lage vår lokale depotet. Så la oss installere det også. Hvis du gjorde en minimal CentOS installasjon, så må du kanskje installere følgende avhengig først:
[root @ server Pakker] # rpm ivh libxml2-python-2.7.6-8.el6_3.4.i686 rpm advarsel: [root @ server Pakker] # rpm ivh deltarpm-3.5-0.5.20090913git.el6.i686.rpm [root @ server Pakker] # rpm ivh python-deltarpm-3.5-0.5.20090913git.el6.i686 rpmNå installerer "createrepo" pakken:
[root @ server Pakker] # rpm ivh createrepo-0.9.9-17.el6.noarch.rpmBygg Lokal Repository Anmeldelser
Det er på tide å bygge vår lokale depotet. Lag en lagringskatalogen til å lagre alle pakker fra CentOS DVD-er.
Som jeg nevnt ovenfor, vi kommer til å bruke en FTP-server for å betjene alle pakker til klientsystemer. Så la oss lage et lagringssted i vår FTP-server pub-katalogen.
[root @ server ~] # mkdir /var /ftp /pub /localrepoNå kopiere alle filene fra CentOS DVD (s) dvs. for /mnt /Pakke katalogen til "localrepo" katalogen:
[root @ server ~] # cp -ar /mnt/Packages/*.* /var /ftp /pub /localrepo /Igjen, montere installasjonen CentOS DVD to og kopiere alle filene til /var /ftp /pub /localrepo katalogen.
Når du har kopiert alle filer, opprette et depot fil som heter "localrepo.repo" under /etc /yum.repos.d/katalog og legge til følgende linjer i filen. Du kan kalle denne filen som du vil ha det:
[root @ server ~] # vi /etc/yum.repos.d/localrepo.repo[localrepo]name=Unixmen Repositorybaseurl = file: ///var /ftp /pub /localrepogpgcheck = 0enabled = 1Merk:. Bruk tre skråstreker i baseURL
Nå begynne å bygge lokale repository:
[root @ server ~] # createrepo v /var /ftp /pub /localrepo /Nå depotet byggeprosessen starter. Utgangen blir som vist nedenfor:
Når du har opprettet depotet, deaktivere eller endre navn på eksisterende repositories
Nå oppdaterer depotet filene.
[root @ server ~] # yum clean all [root @ server ~] # yum oppdateringClient Side Configuration
Nå kan du gå til klientsystemer. Opprett et nytt depot fil som vist ovenfor under /etc/yum.repos.d/katalog og legge følgende innhold:
[root @ klient ~] # vi /etc/yum.repos.d/localrepo [ ,,,0],localrepo] name = Unixmen Repositorybaseurl = ftp: //192.168.1.200/pub/localrepogpgcheck=0enabled=1Merk:. Bruk doble skråstreker i baseURL og 192.168.1.200 er yum server IP-adresse
Nå deaktivere eller endre navn på eksisterende repositories og oppdatere de lokale depotet filer:
[root @ klient ~] # yum clean all [root @ klient ~] # yum oppdateringSannsynligvis vil du få en feilmelding som vist nedenfor :
ftp://192.168.1.200/pub/localrepo/repodata/repomd.xml:. [Errno 14] PYCURL FEIL 7 - "kunne ikke koble til host" Prøver andre speiletDette er fordi brannmuren og SELinux kan hindre din klient å få tilgang til det lokale oppbevarings server. Så kjøre følgende kommandoer i serversiden. Tillat standard brannmur port 21 gjennom Brannmur /Ruter:
[root @ server ~] # vi /etc/sysconfig/iptables[...]-A INPUT -p udp -m state --state NEW --dport 21 -j ACCEPT-A INPUT -p tcp -m state --state NEW --dport 21 -j ACCEPT [...]Og oppdatere SELinux booleans for FTP-tjenesten:
[root @ server ~] # setsebool -P ftp_home_dir påNå kan du prøve på nytt ved å oppdatere depotet:
[root @ klient ~] # yum oppdatering
Som du sett i ovennevnte utgang, nå klienten vil få oppdateringer fra vår server "localrepo" depotet, ikke fra andre eksterne lagringssteder.
La oss prøve å installere en pakke. For eksempel jeg gjør httpd pakkeinstallasjonen.
[root @ klient ~] # yum install httpd
Nå kan du være i stand til å installere programvare fra serveren din lokale repository Anmeldelser