5 votes

Le RPM ignore les conflits

Existe-t-il un moyen d'ignorer les conflits de versions de rpm en conservant la dernière version installée ?

Par exemple. Je veux installer gawk sous AIX. J'ai tous les rpms nécessaires dans un dossier

bash-4.2-11.aix5.1.ppc.rpm
gawk-4.0.2-1.aix5.1.ppc.rpm
gettext-0.10.40-8.aix5.2.ppc.rpm
info-4.13a-2.aix5.1.ppc.rpm
libsigsegv-2.10-1.aix5.2.ppc.rpm
readline-6.2-4.aix5.1.ppc.rpm

J'essaie de les installer avec rpm qui donne rpm -ivh *.rpm afin que rpm s'occupe automatiquement de l'ordre d'installation.

Mais je comprends :

package bash-4.2-11 is already installed
package gettext-0.17-7 (which is newer than gettext-0.10.40-8) is already installed
package info-5.0-1 (which is newer than info-4.13a-2) is already installed
package readline-6.2-4 is already installed
file /opt/freeware/bin/msgcomm from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/msgfmt from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/msgmerge from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/msgunfmt from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/ngettext from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/xgettext from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/lib/libintl.a from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/gettext from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/msgcmp from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/share/locale/locale.alias from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/info/info-stnd.info.gz from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /opt/freeware/info/info.info.gz from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /etc/X11/applnk/Utilities/info.desktop from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /opt/freeware/man/man1/info.1 from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /opt/freeware/man/man1/infokey.1 from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /opt/freeware/man/man1/install-info.1 from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /opt/freeware/man/man5/info.5 from install of info-4.13a-2 conflicts with file from package info-5.0-

Alors, y a-t-il un moyen d'ignorer le conflit entre gettext et info en ne faisant rien ? Je ne veux pas utiliser la force et les remplacer par des versions plus anciennes.

Je sais que si j'essaie d'installer les rpms manuellement un par un sans installer les rpms gettext et info, l'installation de gawk réussira.

Je veux trouver une solution qui ne m'oblige pas à installer manuellement les rpms dans le bon ordre.

éditer : J'ai de vrais -Uvh Le problème avec rpm -Uvh *.rpm est qu'au lieu d'installer les nouveaux binaires rpm en résolvant leurs dépendances avec celles qui sont déjà installées ou dans le dossier, il sort simplement :

package gettext-0.17-7 (which is newer than gettext-0.10.40-8) is already installed
package info-5.0-1 (which is newer than info-4.13a-2) is already installed
package readline-6.2-4 is already installed

et il s'arrête sans progresser vers les autres rpms qui doivent être installés. Je pense que ce n'est pas un comportement normal et je ne sais pas si cela a à voir avec un problème dans rpm (j'utilise une ancienne version - version 3).

2voto

Cobra Kai Dojo Points 437

Donc,

Je publie ici ma réponse partielle car je pense que ma question principale peut être un peu trompeuse.

El rpm -Uvh *.rpm est la voie à suivre. Il met à jour les paquets déjà installés avec une nouvelle version des paquets dans un dossier et il installe également de nouveaux rpms qui ne sont pas déjà installés dans le système.

Mais ! Lorsque vous essayez d'installer des rpms en utilisant rpm -Uvh *.rpm si un paquet du dossier est de la même version ou plus ancien qu'un paquet déjà installé, l'exécution ne se poursuit pas. La commande indique simplement quels paquets sont déjà installés et s'arrête là sans procéder à l'installation des autres rpms.

Je considère cela comme un comportement bogué de l'ancien rpm que j'utilise (version 3). Je ne sais pas si cela est considéré comme normal et si cela se produit également dans la dernière version de rpm. Peut-être pouvez-vous fournir plus d'informations à ce sujet.

1voto

Michael Hampton Points 232226

Puisque vous mettez à jour des paquets existants, plutôt que d'installer exclusivement des paquets, vous devez utiliser l'option de mise à jour (update) -U au lieu de l'option d'installation -i . Cela vous permettra d'installer et de mettre à jour les paquets en même temps.

rpm -Uvh *.rpm

0voto

dawud Points 14770

Vous ne précisez pas, mais il semble que vous utilisez Les RPM de Michael Perzl .

Si c'est le cas, suivez les instructions dans la section FAQ à :

  1. télécharger toutes les dépendances
  2. utiliser gettext-0.17 pour éviter les erreurs connues lors de l'utilisation de gettext-0.10
  3. il est plus sûr d'utiliser les dernières versions disponibles, donc remplacez les paquets existants par les nouveaux lors de l'installation en utilisant rpm -Uvh .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X