Comment créer un serveur de référentiel Ubuntu

Comment créer un serveur de référentiel Ubuntu

Ce guide montrera comment configurer un serveur de référentiel local basé sur Ubuntu Bionic, mais il peut être adapté à une version précédente d'Ubuntu ou même à n'importe quelle distribution utilisant l'aptitude comme système de gestion des packages, comme Debian ou Mint. Vous pouvez généralement vouloir configurer un référentiel local pour enregistrer la bande passante Internet.

Dans ce tutoriel, vous apprendrez:

  • Comment installer le logiciel requis sur le serveur
  • Comment sélectionner les référentiels à refléter sur le serveur
  • Comment refléter la sélection des référentiels localement sur le serveur
  • Comment configurer le client Linux pour utiliser le serveur de référentiel local

Comme indiqué ci-dessus, nous ne considérons pas un miroir public ou country pour ce tutoriel, mais si vous voulez l'implémenter, considérez cela:

  • Votre bande passante de réseau devient très importante
  • Vous devez enregistrer le référentiel à la liste des miroirs Ubuntu
  • Vous devez synchroniser le miroir au moins quatre fois par jour
  • Parce que vous devez refléter toutes les versions précédentes, vous pourriez avoir besoin de 2 To ou plus d'espace disque

Mise à jour de la liste des packages à partir des références locales.

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Ubuntu 18.04.2 (castor bionique) LTS
Logiciel Apache http 2.X, apt-mirreur
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande, minimum 200 Go d'espace disque pour le référentiel
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Comment créer un serveur de référentiel Ubuntu étape par étape

  1. Installation du logiciel requis sur le serveur.

    En première étape, nous devons installer le serveur HTTP Apache qui est sous le package nommé apache2, avec la commande:

    $ sudo apt install apache2


    Installation d'Apache http

    Assurez-vous ensuite que le service fonctionne au démarrage:

    $ sudo systemctl activer apache2 

    Si tout va bien, nous passerons au répertoire documentroot par défaut (qui est / var / www / html).
    Là, nous pouvons alors créer le sous-répertoire / var / www / html / ubuntu et attribuez-le au propriétaire approprié, dans ce cas www-data (l'utilisateur sous lequel Apache Http s'exécute).

    $ sudo mkdir -p / var / www / html / ubuntu $ sudo chown www-data: www-data / var / www / html / ubuntu 

    Il est fortement recommandé que le documentroot ou du moins le sous-dossier Ubuntu se trouve sur un système de fichiers appartenant à un volume logique; De cette façon, nous pouvons l'agrandir en ligne, sans temps d'arrêt.
    Au moment de mes tests 171.5 gib sont l'espace minimum absolu nécessaire pour refléter les packages SRC; Donc, pour planifier l'avenir, il est recommandé d'avoir au moins 300 gib d'espace disque.

    Il s'agit principalement d'une estimation si le choix d'une version d'Ubuntu; S'il est nécessaire pour refléter des packages pour différentes versions, les exigences de l'espace augmenteront considérablement.

  2. L'outil principal qui nous permet de créer un référentiel local est miroir, Pour l'installer, exécutez:
    $ sudo apt install apt-mirror 

    Dans le cas où le colis n'est pas trouvé, assurez-vous de rafraîchir la liste des packages avec:

    $ sudo apt mise à jour 
  3. Sélection des référentiels à refléter sur le serveur.

    Une fois apt-mirror installé, nous pouvons faire une copie de sauvegarde de son fichier de configuration / etc / apt / miroir.liste, Après cela, vous vous assurez que la ligne contenant l'option Définir Base_Path pointe vers le chemin correct pour notre référentiel (par défaut est / var / spool / apt-mirror).

    $ sudo cp / etc / apt / miroir.liste / etc / apt / miroir.liste.org 

    Vous pouvez donc maintenant utiliser votre éditeur préféré (VI ou Nano par exemple) pour modifier l'option Base_Path dans le miroir.Liste du fichier à / var / www / html / ubuntu; Vous devez également spécifier que vous reflétez la distribution bionique (modifiez en conséquence si vous avez une version Ubuntu différente), toujours dans le miroir.Fichier de configuration de liste.

    miroir.Fichier de configuration de la liste

    Dans le cas où vous n'avez pas beaucoup d'espace sur le disque, vous pouvez choisir de ne pas refléter les packages SRC; Vous commencherez donc les lignes relatives:

    miroir.Fichier de configuration de la liste

    Ensuite, vous copiez un script important dans / var / www / html / ubuntu / var /

    $ sudo mkdir -p / var / www / html / ubuntu / var $ sudo cp / var / spool / apt-mirror / var / postmirror.sh / var / www / html / ubuntu / var / 
  4. Reflétant localement les référentiels sélectionnés sur le serveur.

    Il est maintenant temps de créer un miroir local, gardez à l'esprit qu'une mise en miroir initiale (de archive.ubuntu.com uniquement pour ce tutoriel) peut prendre beaucoup de temps et ralentir votre connexion, donc je vous suggère de commencer ce travail la nuit.
    Pour commencer à refléter les packages Remote Repos sur le serveur local, exécutez simplement la commande:

    $ sudo apt-mirror 

    Si vous en avez besoin, vous pouvez interrompre ce processus (avec le combo Ctrl + C classique) et le redémarrer plus tard; il reprendra d'où restait.

    Finalement, nous arriverons au point où le nettoyage.SH et Postmiror.Les scripts SH sont exécutés, c'est un signe que le processus de mise en miroir a été achevé.

    Fin du processus de miroir.
  5. Configuration du processus de synchronisation automatique à l'aide de Cron Scheduler.

    Une fois notre première synchronisation terminée, nous devons créer un travail cron pour nous assurer que nous avons un référentiel local à jour automatique; Par exemple, nous voulons que cette tâche fonctionne tous les soirs à 2h00 et donc:

    $ sudo crontab -e 

    Ensuite, nous modifions le crontab pour ajouter la ligne suivante:

    00 02 * * * / usr / bin / apt-mirror 

    Et enregistrer et quitter (en utilisant VI, nano ou tout éditeur est défini).

Configuration du client Linux pour utiliser le serveur de référentiel local

  1. Configuration de la liste du référentiel local.

    Dans tout client qui va utiliser notre référentiel local, nous devons modifier le fichier de configuration / etc / apt / sources.liste Spécification de notre répension locale et désactiver n'importe quel éloigné.

    Dans notre cas, les référentiels suivants ont été téléchargés:

    Référentiels locaux du serveur

    NOTE

    Il est recommandé de commenter n'importe quelle ligne dans le / etc / apt / sources.liste Fichier faisant référence à des référentiels non reflétés dans notre serveur, par exemple, dans ce cas, toute ligne commençant par deb-src et contenant Bionic Backports ont été commentés.

    Si vous ne le faites pas, vous pourriez obtenir l'erreur
    Le fichier de libération n'a pas été trouvé Lors de l'exécution de la mise à jour de la commande sur le client.

    Tout d'abord, nous remplaçons toutes les archives de cordes.ubuntu.com avec notre miroir local IP, dans ce cas 10.0.0.42. Bien sûr, votre adresse IP locale pourrait être différente.

    $ sudo sed -i.bak0 "s / archive \.Ubuntu \.com / 10 \.0 \.0 \.\ 42 / g "/ etc / apt / sources.liste 

    Cette commande créera le fichier de sauvegarde / etc / apt / sources.liste.bak0 et remplacer n'importe quel archive.ubuntu.com filer avec dix.0.0.42.

    Un autre ajustement est à nouveau en cours d'exécution de cette manière:

    $ sudo sed -i.bak1 "s / ubuntu / ubuntu \ / mirror \ / archive \.Ubuntu \.com \ / ubuntu / g "\ / etc / apt / sources.liste 

    Ceci est nécessaire car apt-mirror ajoute le chemin miroir / archive.ubuntu.com / ubuntu à notre chemin de base. Ici, il sera créé un autre fichier de sauvegarde

    / etc / apt / sources.liste.bak1. 

    Aux fins de ce tutoriel, nous ne mettons que des packages ou des référentiels en refléte des archives.ubuntu.com; Bien sûr, vous pouvez ajouter d'autres référentiels non officiels dans le miroir.Répertoriez le fichier dans le serveur, mais vous devez ensuite réécrire APT-miroir et modifier sur n'importe quel client les sources.Liste le fichier en conséquence.

  2. Mettre à jour l'index du référentiel local.
    Vous devez maintenant vous assurer que le port 80 n'est pas bloqué par le pare-feu client, puis vous pouvez courir:
    $ sudo apt mise à jour 

    Et tu es prêt à partir.

    Mise à jour de la liste des packages à partir des références locales.

Conclusion

La configuration d'un référentiel local à Ubuntu n'est pas difficile comme cela peut sembler et cela peut être utile à condition que vous ayez un réseau local adéquat et des ressources de disque.

Tutoriels Linux connexes:

  • Miroirs Ubuntu
  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Comment rechercher des outils de piratage supplémentaires sur Kali
  • Ubuntu 20.04 Guide
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Choses à installer sur Ubuntu 22.04
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Ubuntu 22.04 Guide
  • Ubuntu 20.04 astuces et choses que vous ne savez peut-être pas