165 votes

Comment faire tr / min auto installer les dépendances

J'ai construit deux paquets RPM

  • proj1-1.0-1.x86_64.rpm
  • libtest1-1.0-1.x86_64.rpm

proj1 dépend du fichier libtest1.so d'être présent, et c'est reflétée correctement dans les packages RPM comme on le voit ici:

user@my-pc:~$ rpm -qp --requires proj1-1.0-1.x86_64.rpm
libtest1.so()(64bit)

user@my-pc:~$ rpm -qp --provides libtest1-1.0-1.x86_64.rpm
libtest1.so()(64bit)

L'installation d' proj1 échoue en raison d'une dépendance manquante.

user@my-pc:~$ rpm -ivh proj1-1.0-1.x86_64.rpm
error: Failed dependencies:
libtest1.so()(64bit) is needed by proj1-1.0-1.x86_64.rpm

Comment puis-je m'assurer que libtest1-1.0-1.x86_64.rpm est installé automatiquement lors de l' l'installation d' proj1-1.0-1.x86_64.rpm?

J'ai essayé de l' --aid option avec rpm -i comme décrit ici, mais il ne fonctionne pas pour moi.

Est-il un autre moyen?

Merci pour toute aide.

221voto

Matthew Points 1104

Le link @gertvdijk révèle un moyen rapide pour atteindre les résultats souhaités sans configuration d'un dépôt local:

$ yum --nogpgcheck localinstall packagename.arch.rpm

Il suffit de changer packagename.arch.rpm à la vitesse de rotation nom de fichier que vous souhaitez installer.

Modifier Juste une clarification, parce que @AaronD.Marasco ne semble pas comprendre ce qui se passe, cela va automatiquement installer toutes les dépendances qui sont déjà dans le système de dépôts.

Si vous avez des dépendances satisfaites par les autres rpm qui ne sont pas dans l'OS repos, cette méthode ne fonctionnera pas, sauf si chacune des tours est spécifié sur la commande d'installation.

117voto

gertvdijk Points 2934

Créer un (local) dépôt et utiliser yum de l'avoir de résoudre les dépendances pour vous.

CentOS wiki a une belle page fournissant un mode d'emploi sur cette. CentOS wiki Howto/CreateLocalRepos.


Résumés et plus réduite (pas idéal, mais plus rapide):

  1. Créer un répertoire pour vous référentiel local, par exemple, /home/user/repo.
  2. Déplacer le Rpm dans le répertoire.
  3. Correction de certains à la propriété et les permissions du système de fichiers:

    # chown -R root.root /home/user/repo
    
  4. Installer l' createrepo package si pas encore installé, et exécuter

    # createrepo /home/user/repo
    # chmod -R o-w+r /home/user/repo
    
  5. Créer un référentiel de fichier de configuration, par exemple, /etc/yum.repos.d/myrepo.repo contenant

    [local]
    name=My Awesome Repo
    baseurl=file:///home/user/repo
    enabled=1
    gpgcheck=0
    
  6. Installer votre package à l'aide de

    # yum install packagename
    

10voto

Rajaram Points 11

J'ai trouvé une solution plus simple. Si vous avez tous les Rpm dans le même répertoire, tout ce que vous devez faire est de,

rpm-i *.tr / min

rpm semble trouver le bon ordre pour installer ces et installe le Rpm.

0voto

Chux Uzoeto Points 134

@Matthieu réponse est la bonne façon de gérer ce .. Il n'y a absolument pas besoin de créer d'abord un local repo.

Donc, je suis surpris de voir que la réponse incorrecte a attiré plus de voix que la réponse correcte.

yum résoudre (lire: télécharger et installer) les dépendances requises pour un fichier rpm installer, si nous offre avec "--nogpgcheck localinstall' .. tant que ces dépendances sont satisfiable de la configuration actuelle de repos dans le système.

-1voto

Boghopper Points 1

Oui, si vous pouvez avoir *.tr / min dans un répertoire, mais ils ne seront pas auto install. Vous pouvez toutefois installer un par un, si cela est spécifié dans le bon de dépendance satisfaisant).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X