« RPM: Création d'un dépôt personnel » : différence entre les versions
Page créée avec « {{ArticleHead|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 fai... » |
|||
(11 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{ArticleHead|Adadov}} | {{ArticleHead|Adadov|encours=1}} | ||
Un dépôt personnel devient très utile dés lors qu'on souhaite diffuser des RPM sur plusieurs machines. | Un dépôt personnel devient très utile dés lors qu'on souhaite diffuser des RPM sur plusieurs machines. | ||
Ligne 8 : | Ligne 8 : | ||
{{-}} | {{-}} | ||
== Structure des dépôts == | |||
Pour se laisser la possibilité d'héberger plusieurs dépôt, on va créer un dossier dans {{Path|/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: | |||
<pre> | |||
adadov | |||
├── 27 | |||
│ ├── i386 | |||
│ └── x86_64 | |||
├── 28 | |||
│ ├── i386 | |||
│ └── x86_64 | |||
└── 29 | |||
├── i386 | |||
└── x86_64 | |||
</pre>Si vous ajoutez beaucoup de RPM ou si simplement vous souhaitez de l'ordre, vous pouvez ajouter vos RPM dans des sous-dossiers. | |||
Comme le fait Fedora, par exemple, avec un dossier par lettre. | |||
== SELinux == | == SELinux == | ||
Ligne 18 : | Ligne 39 : | ||
La commande createrepo s'occupe de ça, il suffit de lui passer en paramètre la racine du dépôt. | La commande createrepo s'occupe de ça, il suffit de lui passer en paramètre la racine du dépôt. | ||
{{LxTerm|text=createrepo /export/repos{{param| | {{LxTerm|text=createrepo /export/repos/{{param|chemin_du_repos}}}} | ||
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 -regextype posix-egrep -regex '^.*/(i386|x86_64)$' -print -exec createrepo {} \; | |||
</syntaxhighlight> | |||
[[Catégorie:RPM]] | |||
[[Catégorie:Linux]] |
Dernière version du 15 novembre 2018 à 12:35
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 |
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[modifier | modifier le wikicode]
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
Si vous ajoutez beaucoup de RPM ou si simplement vous souhaitez de l'ordre, vous pouvez ajouter vos RPM dans des sous-dossiers.
Comme le fait Fedora, par exemple, avec un dossier par lettre.
SELinux[modifier | modifier le wikicode]
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[modifier | modifier le wikicode]
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 |
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 -regextype posix-egrep -regex '^.*/(i386|x86_64)$' -print -exec createrepo {} \;