Comment créer un serveur de référentiel Ubuntu
- 2347
- 430
- Thomas Richard
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
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
- 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 httpAssurez-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 caswww-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.
- 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
- 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'optionDé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 à
miroir.Fichier de configuration de la liste/ 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.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 /
- 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. - 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
- 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 pardeb-src
et contenantBionic 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 quelarchive.ubuntu.com
filer avecdix.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.
- 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