Se è così, qui ti porto come creare uno specchio di CentOS 7. Quali sono i vantaggi di questo? Tra questi, risparmi larghezza di banda Internet, tieni una copia locale dei tuoi repository con i quali i download e le installazioni sono molto più veloci, e il principale di tutti è molto utile come server di aggiornamento se hai 10 server o 1000 workstation con CentOS penso che questa sia la tua migliore opzione perché puoi offrire un servizio di aggiornamento veloce e con la velocità della tua rete LAN.
Ora puoi fare il tuo specchio in circa 10 modi ma ti dirò quello che secondo me è il più veloce e comodo, beh puoi creare il tuo mirror in qualsiasi distribuzione che supporti rsync. Yesiiiiii! chiunque, puoi leggere solo la parte rsync, creare un repository CentOS locale su ubuntu, debian, fedora, redhat, slackware, supportano tutti rsync
rsync è un'applicazione gratuita per sistemi di tipo Unix e Microsoft Windows che offre una trasmissione efficiente di dati incrementali, che opera anche con dati compressi e crittografati. Utilizzando una tecnica di codifica delta, consente di sincronizzare file e directory tra due macchine su una rete o tra due posizioni sulla stessa macchina, riducendo al minimo il volume di dati trasferiti.
Procediamo con l'installazione di rsync
# yum install rsync
Una volta installato devi solo cercare nell'elenco dei file Specchi CentOS qualche mirror vicino alla tua località che funziona con rsync (è la sesta colonna) Posizione Rsync
Crea una cartella in cui posizionare il repository, ho realizzato solo un mirror di CentOS 7, completo di isos e di tutte le cartelle disponibili, che occupavano 38 GB, quindi tieni in considerazione se hai intenzione di fare un mirror parziale di altre versioni di centOS o uno specchio pieno. Quanto spazio occuperà? È qualcosa che dovresti valutare.
# mkdir -p /home/repo/CentOS/7
Il repository ha tutte queste cartelle:
- atomico
- centosplus
- Cloud
- cr
- extra
- corsia preferenziale
- iso
- os
- sclò
- conservazione
- aggiornamenti
- virt
rsync funziona come segue:
# rsync --delete-excluded --exclude "local" --exclude "isos" --exclude "*.iso"
- Con il tag cancella - escluso ed - escludi puoi ignorare cartelle o file, esempio cartella iso, o file .iso, molto facile, vero?
# rsync -aqzH --delete msync.centos.org::CentOS /path/to/local/mirror/root
- Con opzione -Elimina, eliminerà i file che non esistono più nell'origine.
- -a archiviare e archiviare
- -q modalità silenziosa, sopprime i messaggi non di errore
- -z comprimere i dati durante il trasferimento
- -H mantieni gli hard link, se lo desideri ti consiglierei anche l'opzione -l per contenere collegamenti simbolici
Come l'ho fatto? semplice come questo:
# rsync -avzqlH --delete --delay-updates rsync://ftp.osuosl.org/centos/7/ /home/repo/CentOS/7
Non abbiate fretta, vi spiego perché l'ho fatto così.
- –Delay-updates Posiziona tutti i file aggiornati alla fine dell'intero download, mi hai capito? Cioè non si aggiorna ogni volta che scarica un nuovo file, ma al contrario, se c'erano 100 nuovi file, dopo aver terminato i 100 nuovi file, rsincronizzali posto sul posto
- rsync: //ftp.osuosl.org/centos/7/ perché voglio solo fare CentOS 7
- / var / www / html / repo / CentOS / 7 dove metterò tutti i miei file che ho copiato dall'origine.
Non è necessario, ma consiglio il pacchetto crearerepo, semplicemente quello che fa è dargli la caratteristica http e creare un indice per il tuo repository
# yum install createrepo
Quindi esegui il comando che punta al tuo repository
# createrepo /home/repo/CentOS/7
Ora una volta finito devi condividerlo in qualche modo, io uso sempre un server http, proseguendo con CentOS 7, puoi installare un web server di base come segue (usa httpd, non è apache)
# yum group install -y "Basic Web Server
Creare un collegamento simbolico dal sito del repository effettivo alla cartella "www"
# ln -s /home/repo /var/www/html/repo
Creiamo le cartelle site-available e sites-enabled
# mkdir /etc/httpd/sites-available
# mkdir /etc/httpd/sites-enabled
Modifichiamo il file httpd.conf per aggiungere tutti i nostri siti abilitati ai siti attivi
# vi /etc/httpd/conf/httpd.conf
Aggiungi questa riga alla fine del file
IncludeOptional sites-enabled / *. Conf
Creiamo e modifichiamo il nostro sito web
# vi /etc/httpd/sites-available/repocentos.conf
NomeServer repocentos.com
#ServerAlias example.com
DocumentRoot / var / www / html / repo / CentOS /
ERRORLOG /VAR/LOG/HTTPD/ERROR.LOG.
CustomLog /var/log/httpd/requests.log combinato
Attiviamo il nostro sito creando un collegamento simbolico
# ln -s /etc/httpd/sites-available/repocentos.conf /etc/httpd/sites-enabled/repocentos.conf
Cambiamo il proprietario e il gruppo di file e cartelle per Apache
# chown apache. www/ -R
Eseguiamo il seguente comando in modo che il server web si avvii dal momento in cui abbiamo avviato la macchina
# systemctl enable httpd.service
Riavvia il web server con il seguente comando
# systemctl restart httpd
Come possiamo usarlo?
Crea un file in /etc/yum.repos.d/local.repo e incolla le seguenti righe:
[os] name = master - Baseurl di base = http: //ip o URL/ repo / CentOS / $ releasever / os / $ basearch / gpgcheck = 1 gpgkey = file: /// etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-7 [aggiornamenti] nome = master - Aggiorna baseurl = http: //ip o URL/ repo / CentOS / $ releasever / updates / $ basearch / gpgcheck = 1 gpgkey = file: /// etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-7 [extra] nome = master - Extra baseurl = http: //ip o URL/ repo / CentOS / $ releasever / extras / $ basearch / gpgcheck = 1 gpgkey = file: /// etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-7 [centosplus] name = master - CentosPlus baseurl = http: //ip o URL/ repo / CentOS / $ releasever / centosplus / $ basearch / gpgcheck = 1 gpgkey = file: /// etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-7
Aggiorniamo i repository con:
# yum clean all
# yum repolist all
# yum update
Bene, questo è tutto per questa volta. Come sempre ricordati di seguire da vicino il mio post e questo sito. Commenta e così condividiamo le nostre conoscenze, fino alla prossima volta !!!
Centos è adatto per l'uso su un PC desktop dell'utente finale? O è uno spreco di risorse? L'ho testato tramite Live-usb e mi è piaciuto molto.
È molto stabile, è davvero una buona opzione. Grazie per il tuo commento
Caro elendilnarsil usa Fedora come utente finale con centos devi lavorare molto ed è un server molto stabile.
Il potere può. Ma non è molto inteso per i desktop di utenti normali.
Non sorprenderti se il Wifi non ti prende o qualche sub di non so, web camera, (visto che include driver più che niente di server hard), che nel repo non ci sono pacchetti di Non so, codec, office automation, o qualcosa del genere, o che i pacchetti sono vecchi (ma stabili come il ferro)
Non sono d'accordo con te, ci sono repository ufficiali orientati a questo scopo, come epel e nux https://wiki.centos.org/TipsAndTricks/MultimediaOnCentOS7
Andando all'articolo, ottimo !!
Quando si dispone di un gran numero di computer Linux, le installazioni diventano molto più veloci e pratiche.
esatto, grazie per il tuo commento
Ciao collega, posso annullare e riprendere il download del repo? continuare da dove ho lasciato?
grazie
un amico dubbioso, poiché consumo il repo da http, cioè vedi la struttura del repo da httpd
http://172.16.1.9 Ottengo la pagina apache ma voglio mettere http://172.16.1.9/??? per vedere la struttura tramite http.
grazie
Ho bisogno di fare una domanda per i dubbi che sono sorti ...
rsync -avzqlH –delete –delay-updates rsync:…. Anche lì va bene ma non devo metterlo dove verrà copiato in seguito?
Ad esempio: rsync -avzqlH –delete –delay-updates rsync:…. / run / media / miuser / Data / repository / centos7 / 7 /
Caro buon pomeriggio
Cercando informazioni sul Web ho trovato questo interessante manuale che hai scritto, Congratulazioni per questo. La mia domanda sorge perché voglio creare un Mirror con diverse distribuzioni Linux, Centos, OracleLinux, Debian, tutte con le loro ultime versioni che ho installato in azienda. Ma come posso fare in modo che lo stesso server mirror memorizzi più distribuzioni e versioni? Devo creare un'altra cartella con il nome delle distribuzioni e così via? Questi repository vengono aggiornati automaticamente o devo eseguire un comando ogni tanto? Guarda i tuoi commenti. Giorno felice