Repository locale CentOS 7 (mirror)

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
  • nuvola
  • 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 !!!


11 commenti, lascia il tuo

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   elenilnarsil suddetto

    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.

    1.    brodidalle suddetto

      È molto stabile, è davvero una buona opzione. Grazie per il tuo commento

    2.    HO2Gi suddetto

      Caro elendilnarsil usa Fedora come utente finale con centos devi lavorare molto ed è un server molto stabile.

  2.   Gonzalo martinez suddetto

    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)

    1.    brodidalle suddetto

      Non sono d'accordo con te, ci sono repository ufficiali orientati a questo scopo, come epel e nux https://wiki.centos.org/TipsAndTricks/MultimediaOnCentOS7

  3.   Gonzalo martinez suddetto

    Andando all'articolo, ottimo !!

    Quando si dispone di un gran numero di computer Linux, le installazioni diventano molto più veloci e pratiche.

    1.    brodidalle suddetto

      esatto, grazie per il tuo commento

  4.   alexmanafan suddetto

    Ciao collega, posso annullare e riprendere il download del repo? continuare da dove ho lasciato?
    grazie

  5.   luis suddetto

    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

  6.   odhnamra suddetto

    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 /

  7.   Immagine segnaposto Daniel Morales suddetto

    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