GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer le serveur de référentiel APT local sur Ubuntu 20.04

L'une des raisons pour lesquelles vous pouvez envisager de configurer un serveur de référentiel apt local est de minimiser la bande passante requise si vous avez plusieurs instances d'Ubuntu à mettre à jour. Prenons par exemple une situation où vous avez une vingtaine de serveurs qui doivent tous être mis à jour deux fois par semaine. Vous pourriez économiser beaucoup de bande passante, car tout ce que vous avez à faire est de mettre à jour tous vos systèmes sur un réseau local à partir de votre serveur de référentiel local.

Dans ce guide, vous apprendrez à configurer un serveur de référentiel apt local sur Ubuntu 20.04 LTS.

Prérequis

  • Système Ubuntu 20.04 LTS
  • Serveur Web Apache
  • Au moins 170 Go d'espace disque disponible sur le système de fichiers /var/www/html
  • Connexion Internet stable

Étape 1) Créer un serveur Web Apache local

Tout d'abord, connectez-vous à votre Ubuntu 20.04 et configurez le serveur Web Apache comme indiqué.

$ sudo apt install -y apache2

Activez le service Apache2 afin qu'il soit persistant lors du redémarrage. Exécutez la commande suivante

$ sudo systemctl enable apache2

Le répertoire racine des documents par défaut d'Apache se trouve dans le chemin /var/www/html. Nous allons plus tard créer un répertoire de référentiel dans ce chemin qui contiendra les packages requis nécessaires.

Étape 2) Créer un répertoire de référentiel de packages

Ensuite, nous allons créer un répertoire de référentiel local appelé ubuntu dans le chemin /var/www/html.

$ sudo mkdir -p /var/www/html/ubuntu

Définissez les autorisations requises sur le répertoire créé ci-dessus.

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

Étape 3) Installez apt-mirror

L'étape suivante consiste à installer le package apt-mirror. Après avoir installé ce package, nous obtiendrons la commande ou l'outil apt-mirror qui téléchargera et synchronisera les packages debian distants avec le référentiel local sur notre serveur. Donc, pour l'installer, exécutez suivant

$ sudo apt update$ sudo apt install -y apt-mirror

Étape 4) Configurer les référentiels à mettre en miroir ou à synchroniser

Une fois apt-mirror installé, sa configuration ‘/etc/apt/mirror.list’ est créée automatiquement. Ce fichier contient la liste des référentiels qui seront téléchargés ou synchronisés dans le dossier local de notre serveur Ubuntu. Dans notre cas, le dossier local est '/var/www/html/ubuntu/'. Avant d'apporter des modifications à ce fichier, faisons d'abord une sauvegarde.

$ sudo cp /etc/apt/mirror.list /etc/apt/mirror.list-bak

Modifiez maintenant le fichier à l'aide de l'éditeur vi et mettez à jour base_path et les référentiels comme indiqué ci-dessous.

$ sudo vi /etc/apt/mirror.list############# config ###################set base_path    / var/www/html/ubuntuset nthreads     20set _tilde 0############# end config ##############deb http://archive.ubuntu.com /ubuntu focal main restreint univers \ multiversedeb http://archive.ubuntu.com/ubuntu focal-security main restreint \univers multiversedeb http://archive.ubuntu.com/ubuntu focal-updates main restreint \univers multiverseclean http:// archive.ubuntu.com/ubuntu

Enregistrez et quittez le fichier.

Au cas où vous auriez remarqué que j'ai utilisé les référentiels de packages Ubuntu 20.04 LTS et que j'ai commenté les référentiels de packages src car je n'ai pas assez d'espace sur mon système. Si vous souhaitez également télécharger ou synchroniser les packages src, décommentez les lignes qui commencent par "deb-src".

Étape 5) Commencez à mettre en miroir les référentiels distants dans le dossier local

Avant de commencer la mise en miroir ou la synchronisation, copiez d'abord le script postmirror.sh dans le dossier /var/www/html/ubuntu/var en utilisant la commande cp ci-dessous.

$ sudo mkdir -p /var/www/html/ubuntu/var$ sudo cp /var/spool/apt-mirror/var/postmirror.sh /var/www/html/ubuntu/var

Il est maintenant temps de commencer à mettre en miroir les packages des référentiels distants vers le dossier local de notre système. Exécutez ci-dessous :

$ sudo apt-miroir

La commande ci-dessus peut également être lancée en arrière-plan à l'aide de la commande nohup ci-dessous,

$ nohup sudo apt-mirror &

Pour surveiller la progression de la mise en miroir, utilisez ci-dessous,

$ tail nohup.out

Dans Ubuntu 20.04 LTS, apt-mirror synchronise le répertoire CNF et ses fichiers, nous devons donc télécharger et copier manuellement le dossier et ses fichiers. Donc, pour éviter de télécharger manuellement le répertoire CNF, créez un script shell avec le contenu ci-dessous,

$ vi cnf.sh#!/bin/bashfor p in "${1:-focal}"{,-{security,updates}}\/{main,restricted,universe,multiverse};do>&2 echo "${p}"wget ​​-q -c -r -np -R "index.html*"\ "http://archive.ubuntu.com/ubuntu/dists/${p}/cnf/Commands-amd64. xz"wget ​​-q -c -r -np -R "index.html*"\ "http://archive.ubuntu.com/ubuntu/dists/${p}/cnf/Commands-i386.xz"done 

enregistrez et fermez le script.

Exécutez le script pour télécharger le répertoire CNF et ses fichiers.

$ chmod +x cnf.sh$ bash  cnf.sh

Ce script créera un dossier avec le nom 'archive.ubuntu.com' dans le répertoire de travail actuel. Copiez ce dossier dans le dossier miroir,

$ sudo cp -av archive.ubuntu.com  /var/www/html/ubuntu/mirror/

Remarque : Si nous ne synchronisons pas le répertoire cnf, nous obtiendrons les erreurs suivantes sur les machines clientes. Pour résoudre ces erreurs, nous devons donc créer et exécuter le script ci-dessus.

E :Échec de la récupération de http://x.x.x.x/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/\focal/restricted/cnf/Commands-amd64  404  Introuvable [IP :169.144.104.219 80]E :Échec de la récupération de http://x.x.x.x/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/\focal-updates/main/cnf/Commands-amd64  404  Introuvable [IP :169.144.104.219 80]E :Échec pour récupérer http://x.x.x.x/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/\focal-security/main/cnf/Commands-amd64  404  Not Found [IP:169.144.104.219 80]

Planification de la synchronisation automatique des référentiels

Configurez une tâche cron pour mettre à jour automatiquement nos référentiels apt locaux. Il est recommandé de configurer cette tâche cron la nuit tous les jours.

Exécutez 'crontab -e' et ajoutez la commande suivante à exécuter tous les jours à 1h00 du matin.

$ sudo crontab -e00 01 * * * /usr/bin/apt-mirror

Enregistrez et fermez.

Remarque :Si le pare-feu est exécuté sur Ubuntu Server, autorisez le port 80 à l'aide de la commande suivante

$ sudo ufw allow 80

Étape 6) Accéder au référentiel APT local via un navigateur Web

Pour accéder à notre référentiel apt configuré localement via un navigateur Web, saisissez l'URL suivante :

http:///ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/

Étape 7) Configurez le client Ubuntu 20.04 pour utiliser le serveur de référentiel apt local

Pour tester et vérifier si notre serveur de référentiel apt fonctionne correctement ou non, j'ai un autre système Ubuntu 20.04 lts où je mettrai à jour le fichier /etc/apt/sources.list afin que la commande apt pointe vers les référentiels locaux au lieu de distants.

Alors, connectez-vous au système, modifiez les éléments suivants dans sources.list

http://archive.ubuntu.com/ubuntutohttp://169.144.104.219/ubuntu/mirror/archive.ubuntu.com/ubuntu

Ici '169.144.104.219' est l'adresse IP de mon serveur de référentiel apt, remplacez cette adresse IP qui convient à votre environnement.

Assurez-vous également de commenter tous les autres référentiels qui ne sont pas mis en miroir sur notre serveur de référentiel apt. Ainsi, après avoir apporté les modifications au fichier sources.list, cela ressemblerait à ceci :

Maintenant, exécutez la commande 'apt update' pour vérifier que la machine cliente reçoit la mise à jour de notre serveur de référentiel apt local,

Mise à jour $ sudo apt

Parfait, la sortie ci-dessus confirme que la machine cliente est en mesure de se connecter avec succès à notre référentiel pour récupérer les packages et les mises à jour. C'est tout de cet article, j'espère que ce guide vous aidera à configurer le serveur de référentiel apt local sur le système Ubuntu 20.04.

Lire aussi  :14 exemples de commande "ls" utiles sous Linux


Ubuntu
  1. Configuration du serveur WebDAV sur Ubuntu Linux

  2. Comment configurer le serveur Rsyslog sur Ubuntu 18.04 LTS

  3. 4 étapes pour configurer le référentiel local dans Ubuntu à l'aide d'APT-mirror

  4. Comment configurer le serveur NTP sur Ubuntu et LinuxMint

  5. Configurer Rsyslog Server sur Ubuntu 20.04 - Comment faire ?

Comment configurer le serveur Mosquitto MQTT sur Ubuntu 16.04

Comment configurer le serveur multijoueur Minecraft sur Ubuntu 16.04

Comment configurer OpenVPN sur Ubuntu Server

Comment configurer le serveur Git sur Ubuntu 20.04

Comment configurer le serveur Rsyslog sur Ubuntu

Comment configurer le serveur DHCP sur Ubuntu