J'ai construit deux packages RPM
proj1-1.0-1.x86_64.rpm
libtest1-1.0-1.x86_64.rpm
proj1
dépend du fichier libtest1.so
présent et il est correctement reflété dans les packages RPM comme indiqué 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 de 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 qu'il libtest1-1.0-1.x86_64.rpm
est installé automatiquement lors de l'installation de proj1-1.0-1.x86_64.rpm
?
J'ai essayé l' --aid
option avec rpm -i
comme décrit ici mais cela n'a pas fonctionné pour moi.
Est-ce qu'il y a un autre moyen?
Merci pour toute aide.
yum --nogpgcheck localinstall packagename.arch.rpm
.yum localinstall
et c'est la même chose que la réponse déjà postée ici , avec les inconvénients déjà discutés pour les situations où les dépendances ne sont pas dans yum repos (voir la méthode cette ne fonctionnera que si [...] une partie).sudo yum --disablerepo=* --enablerepo=local install packagename.arch.rpm
pour s'assureryum
qu'il ne regarde pas dans d'autres référentiels.Le lien @gertvdijk fourni montre un moyen rapide d'obtenir les résultats souhaités sans configurer de référentiel local:
Changez simplement
packagename.arch.rpm
le nom de fichier RPM que vous souhaitez installer.Modifier Juste une clarification, cela installera automatiquement toutes les dépendances qui sont déjà disponibles via les référentiels système YUM.
Si vous avez des dépendances satisfaites par d'autres RPM qui ne sont pas dans les référentiels du système, cette méthode ne fonctionnera que si chaque RPM est également spécifié avec
packagename.arch.rpm
sur la ligne de commande.la source
libtest1-1.0-1.x86_64.rpm
soit dans un référentiel ailleurs, ou que les deux packages soient spécifiés sur la ligne de commande commerpm -i
le demanderait " ". Je viens de vérifier cela suryum
3.4.3 (Fedora 18). Transcription montrant ici qu'il va auupdates
dépôt pour les dépendances, même lorsque les fichiers sont là.rpm -i
", donc l'utilisationyum
ne vous donne aucun avantage supplémentaire.Pour les utilisateurs de dnf
dnf install *.rpm
, utilisez simplement ,localinstall
n'est plus nécessaire.la source
mysql-workbench
avecrpm -ivh
. a finalement fini avec ce post. DNF a fait l'affaire.Pour moi, j'ai travaillé juste avec
Et a automatiquement demandé l'autorisation de télécharger les dépendances. Ci-dessous l'exemple, j'utilise fedora 22
la source
J'ai trouvé une solution plus simple. Si vous avez tous les RPM dans le même répertoire, tout ce que vous avez à faire est,
rpm
semble trouver le bon ordre pour les installer et installe les RPM.la source
La réponse de Matthew a réveillé de nombreuses émotions, du fait qu'il manque encore un petit détail. Le commandement général serait:
Ce qui
package_file_name
précède peut inclure un chemin d'accès absolu ou relatif local, ou être une URL (peut-être même un URI).Yum recherchera les dépendances parmi tous les fichiers de package donnés sur la ligne de commande ET SI ELLE ÉCHOUERA pour trouver les dépendances, il utilisera également tous les référentiels yum configurés et activés.
Ni le répertoire de travail actuel, ni les chemins de l'un de
package_file_name
ne seront recherchés, sauf si l'un de ces répertoires a été précédemment configuré en tant queyum
référentiel activé .Donc, dans le cas de l'OP, la
yum
commande:ferait, tout comme le ferait
rpm
:La différence entre ceux
yum
- ci et lesrpm
appels ne serait visible que si l'un des packages listés à installer avait d'autres dépendances sur des packages NON listés sur la ligne de commande.Dans un tel cas,
rpm
il refusera simplement de continuer, alorsyum
qu'il utilisera n'importe quel référentiel yum configuré et activé pour rechercher des dépendances, et peut éventuellement réussir.Le répertoire de travail actuel ne sera en aucun cas recherché, sauf s'il a été précédemment configuré en tant que
yum
référentiel activé .la source
J'ai rencontré cela et ce qui a fonctionné pour moi était de courir à
yum localinstall enterPkgNameHere.rpm
partir du répertoire où se trouve le fichier .rpm.Remarque: remplacez le
enterPkgNameHere.rpm
par le nom de votre fichier .rpm.la source
Dans le cas de openSUSE Leap 15, je reçois une erreur similaire:
J'exécute cette commande pour déterminer quelles sont les dépendances:
Ensuite, j'exécute cette commande pour installer les dépendances:
Ensuite, je lance ceci pour installer le
rpm
fichier:Je ne sais pas si c'est la meilleure pratique, mais cela a résolu mon problème.
la source
Étape 1: copiez tout le paquet rpm dans des emplacements donnés
Étape 2: si createrepo n'est pas déjà installé, comme il ne le sera pas par défaut, installez-le.
Étape 3: créez des métedonnées de référentiel et donnez l'autorisation ci-dessous
Étape 4: Créez un fichier de référentiel avec le contenu suivant dans /etc/yum.repos.d/mysql.repo
Étape 5 Exécutez cette commande pour installer
la source
Simple, exécutez simplement la commande suivante.
Entrez votre mot de passe et vous avez terminé.
la source
Processus de génération de RPM à partir du fichier source: 1) télécharger le fichier source avec l'extension.gz. 2) installez rpm-build et rpmdevtools à partir de yum install. (le dossier rpmbuild sera généré ... SPECS, SOURCES, RPMS .. les dossiers devront être générés dans le dossier rpmbuild). 3) copiez le code source.gz dans le dossier SOURCES (rpmbuild / SOURCES) 4) Décompressez la balle tar à l'aide de la commande suivante. allez dans le dossier SOURCES: rpmbuild / SOURCES où le fichier tar est présent. commande: par exemple, le dossier tar -xvzf httpd-2.22.tar.gz httpd-2.22 sera généré dans le même chemin. Vérifiez si apr et apr-util et là dans le dossier httpd-2.22 / srclib. Si apr et apr-util n'existent pas, téléchargez la dernière version depuis le site apache, décompressez-la et placez-la dans le dossier httpd-2.22 / srclib. Assurez-vous également que pcre est installé sur votre système.
5) allez dans le dossier extrait et tapez la commande ci-dessous: ./configure --prefix = / usr / local / apache2 --with-included-apr --enable-proxy --enable-proxy-balancer --with-mpm = worker --enable-mods-static = all 6) exécuter la commande ci-dessous une fois la configuration réussie: make 7) après une exécution réussie de la commande make run: checkinstall dans le même dossier. (si vous ne disposez pas du logiciel checkinstall, veuillez télécharger la dernière version du site). Le logiciel checkinstall a également un bogue qui peut être résolu de la manière suivante ::::: localisez checkinstallrc puis remplacez TRANSLATE = 1 par TRANSLATE = 0 en utilisant la commande vim. Vérifiez également le package d'exclusion: EXCLUDE = "/ selinux" 8) checkinstall demandera l'option (tapez R si vous voulez tp build rpm pour le fichier source) 9) Le fichier .rpm terminé sera construit dans le dossier RPMS dans le fichier rpmbuild / RPMS. .. Bonne chance ....
Cordialement, Prerana
la source