« RPM: Création d'un dépôt personnel » : différence entre les versions

De Adadov.net wiki
Aucun résumé des modifications
Ligne 26 : Ligne 26 :
     ├── i386
     ├── i386
     └── x86_64
     └── x86_64
</pre>
</pre>Chaque dossier ''i386'' et ''x86_64'' sera à considérer comme un dépôt séparé. Il faudra donc penser à mettre à jour les métadonnées du dépôt lors d'une modification.
 
Ce script mettra à jour les métadonnées de chaque dossier nommé ''i386'' ou ''x86_64''.<syntaxhighlight lang="bash">
#!/usr/bin/env bash
 
find /export/repos -type d -name i386 -exec createrepo {} \;
find /export/repos -type d -name x86_64 -exec createrepo {} \;
</syntaxhighlight>


== SELinux ==
== SELinux ==

Version du 15 novembre 2018 à 12:25

Article en cours de rédaction ou de modification !
Le présent article est actuellement en cours de rédaction ou de modification.
Adressez-vous à la personne en charge pour toute proposition ou modification.
Auteur / Editeur : Adadov
Dernière édition : 15/11/2018
Ecrit Par : Adadov

Un dépôt personnel devient très utile dés lors qu'on souhaite diffuser des RPM sur plusieurs machines.

Il peut contenir aussi bien des RPM fait maison que des RPM récupérés ailleurs et simplement diffusés ...

On oubliera pas d'installer la nouvelle version d'un RPM sur une machine vu que DNF s'en occupera ...

Structure des dépôts

Pour se laisser la possibilité d'héberger plusieurs dépôt, on va créer un dossier dans /export/repos dans mon cas je l'ai simplement nommé adadov.

Il faut ensuite créer dans ce dossier l'arborescence qui permettra de séparer les différentes versions de la distribution. J'ai choisi de coller au fonctionnement de Fedora.

Ce qui nous donne la structure suivante:

adadov
├── 27
│   ├── i386
│   └── x86_64
├── 28
│   ├── i386
│   └── x86_64
└── 29
    ├── i386
    └── x86_64

Chaque dossier i386 et x86_64 sera à considérer comme un dépôt séparé. Il faudra donc penser à mettre à jour les métadonnées du dépôt lors d'une modification. Ce script mettra à jour les métadonnées de chaque dossier nommé i386 ou x86_64.

#!/usr/bin/env bash

find /export/repos -type d -name i386 -exec createrepo {} \;
find /export/repos -type d -name x86_64 -exec createrepo {} \;

SELinux

Les fichiers du dépôt se trouveront dans /export/repos il faut donc dire à SELinux que ce dossier sera autorisé pour Apache:

[root@linux] # semanage fcontext -a -t httpd_sys_content_t '/export/repos(/.*)?'dblclick to copy
[root@linux] # restorecon -rv /export/repos

Création des métadonnées

Une fois les RPM en place, il faut générer les métadonnées pour chaque dépôt que vous souhaitez rendre accessible.

La commande createrepo s'occupe de ça, il suffit de lui passer en paramètre la racine du dépôt.

[root@linux] # createrepo /export/repos/<chemin_du_repos>dblclick to copy