Forum Linux.général RPM dans un RPM

Posté par . Licence CC by-sa.
Tags :
0
3
mar.
2015

Bonjour,

Je souhaiterais faire un RPM pour déployer des installations et pouvoir gérer les versions logicielles.

J'ai trouvé plein de tuto mais sur le fond, je ne trouve pas de réponse à une question.

J'ai des fichiers de configuration et j'ai des paquets RPM de mes outils avec les dépendances dans un répertoire.

J'aimerais pouvoir avec 1 RPM, installer tous mes paquets et les dépendances.

J'ai déjà fais des tests, je n'ai pas de soucis pour mes déploiements de fichiers de configurations mais pour les RPM je ne comprends pas l'approche.

Est ce qu'il est possible de tous empaqueter ? dans ce cas quelle est l'approche a adopter ?

J'ai essayer des truc farfelus comme :

-lancer la commande rpm -vih RPM/*.rpm dans ma SPEC mais quand compile le rpm ca s installe a priori (dans le labo, je lis la liste des paquets qui s'installe) mais quand j execute les paquets s installent pas (J'ai 100% en 5 secondes alors que j'ai une centaine de paquets a installer). Est ce que ce que j'ai essayé est une hérésie ? ou dois je persister dans cette voie ?

-Jouer avec Requires, Provides, je me disais que peut etre il irait chercher les dépendances nécessaire il semblerait pas je n'ai que des fichiers de messages informatifs.

Je sais que je pourrais faire un script shell mais je ne voudrais qu'un fichier pour l'installation.

Merci d'avance pour vos conseils.

  • # Ebauches de solutions

    Posté par . Évalué à 2.

    Des RPM dans un RPM… c'est assez acrobatique.

    Tu peux essayer de faire un script shell qui contient tout, avec Makeself ou équivalent.

    Si les machines cibles sont sur un réseau local tu as d'autres options. Par exemple, tu peux créer un dépôt RPM sur un serveur HTTP et envoyer la configuration sur les machines cibles sous la forme d'un RPM (qui ajoute les fichiers qui vont bien dans /etc/yum/repos.d). Ensuite, tu peux déployer les RPM grâce à un meta-package RPM qui contient uniquement les Requires de ce qui t'intéresse, ou alors avec une solution comme Puppet ou Chef.

    • [^] # Re: Ebauches de solutions

      Posté par . Évalué à 2.

      Le méta-paquetage qui ne contient que des « Requires », c'est le cas de git-all chez Fedora. La première fois que je l'ai installé, les différents prérequis des « sous-paquets » étaient correctement gérés.

  • # Dépendances entre rpm

    Posté par (page perso) . Évalué à 6.

    Jouer avec Requires, Provides, je me disais que peut etre il irait chercher les dépendances nécessaire il semblerait pas je n'ai que des fichiers de messages informatifs.

    C'est, à priori, la bonne solution. Par contre rpm n'installe pas les dépendances tout seul.
    Il vérifie les 'Requires' et échoue si ils ne sont pas présent. Mais il ne va pas chercher les rpm qui fournissent les dép.

    C'est pour ma qu'on a des outils de types yum/dnf/urpmi/etc…

    Avec yum, si tu as un paquet qui a tout les bons 'Requires' et tout les rpm dans le même dossier, tu peux faire :

    cd <dossier_rpms>
    yum localinstall paquet_avec_requires.rpm
    

    Pour une solution plus générale, il faudra créer un repo pour que yum soit capable de résoudre les dépendances.

    Matthieu Gautier|irc:starmad

    • [^] # Re: Dépendances entre rpm

      Posté par . Évalué à 1.

      Bonjour,

      Merci pour vos réponses. je vais me pencher sur yum avec le localinstall et le dépôt

      Je vous ferais un retour de mes essais.

      Merci encore :)

  • # La suite

    Posté par . Évalué à 1.

    J'ai réalisé un dépôt local ,j'ai même crée un groupe pour faciliter l'installation.
    mes 150 paquets qui s'installent tous seuls.
    quand je fais yum groupinstall TOTO

    le problème que j'ai maintenant c'est que je créée mon propre rpm pour déployer ma configuration. Idéalement, j'aurais aimé ne pas devoir lancé ma commande yum groupisntall TOTO mais j'aimerais lancé mon propre rpm et qu'il installe tous les paquets dont j'ai besoin depuis mon dépôt local. J'ai utilisé le paramètre Requires mais a part me dire j'ai des dépendances à gérer, il ne fait rien d'autre…

    j'ai fait :

    Requires : paquet1 paquet2 paquet3 … paquet150

    Est-ce que mon idée est illusoire ? est ce que je m'y prend mal ?

    Merci d'avance pour votre aide

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.