Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Installer un rpm ailleurs qu'à l'endroit prévu ;)

5 réponses
Avatar
Julien Hillairet
Salut,

Comme j'ai pas toutes les librairies pour compiler un programme et
l'installer dans mon /home (j'ai pas les droits root), j'aimerais
installer directement le rpm du programme en question, mais dans mon /home.

En compilant, c'est facile, il suffit de faire avant un configure
--prefix=$HOME, mais est-ce possible de faire ce genre d'astuce avec rpm ?

Hash

5 réponses

Avatar
Nicolas George
Tu peux faire un « rpm2cpio | cpio -id ». Ça extrait les fichiers. Mais il y
a peu de chances que ça fonctionne bien si tu n'as pas les bonnes
bibliothèques¹. Ou alors il faut aussi installer les RPM correspondants, et
jouer avec des variables d'environnement pour qu'ils soient trouvés.

1 : pas librairies, library = bibliothèque, bookstore = librairie.
Avatar
Remi Moyen
On Tue, 4 Jan 2005, Julien Hillairet wrote:

Comme j'ai pas toutes les librairies pour compiler un programme et
l'installer dans mon /home (j'ai pas les droits root), j'aimerais installer
directement le rpm du programme en question, mais dans mon /home.


J'ai vu passer dans le man de rpm une option --prefix. Ça parle de
"relocateable binary packages", je ne sais pas du tout à quoi ça
correspond (et je m'en fiche un peu, vu que je n'utilise pas rpm mais apt
!), mais peut-être que ça t'aidera.
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."

Avatar
JRD
Bonjour,

Julien Hillairet wrote:
Salut,

Comme j'ai pas toutes les librairies pour compiler un programme et
l'installer dans mon /home (j'ai pas les droits root), j'aimerais
installer directement le rpm du programme en question, mais dans mon /home.


Est-ce trop difficile de demander au "root" (à l'administrateur) de la
machine d'installer le packages correspondants?
...

En compilant, c'est facile, il suffit de faire avant un configure
--prefix=$HOME, mais est-ce possible de faire ce genre d'astuce avec rpm ?


...
Parce que souvent les disques sont remplis de programmes redondants
chez différents utilisateurs alors qu'ils (les programmes) pourraient
être installés pour tous les utilisateurs par l'administrateur.

Hash


JRD.
Administrateur de serveurs ;-)
--
jerome (dot) drapeau <at> free (dot) fr
http://jerome.drapeau.free.fr
La critique est aisée, l'art est difficile.

Avatar
GERBIER Eric
Julien Hillairet wrote:
Salut,

Comme j'ai pas toutes les librairies pour compiler un programme et
l'installer dans mon /home (j'ai pas les droits root), j'aimerais
installer directement le rpm du programme en question, mais dans mon /home.

En compilant, c'est facile, il suffit de faire avant un configure
--prefix=$HOME, mais est-ce possible de faire ce genre d'astuce avec rpm ?


c'est possible dans certains cas si le packageur l'a prevu "relogeable"
exemple d'un package qui ne l'est pas :

rpm -qpi checkinstall-1.5.3-1.i386.rpm
Name : checkinstall Relocations: (not relocateable)


exemple d'un programme qui l'est :
rpm -qpi zoo-2.10-11.9.i386.rpm
Name : zoo Relocations: /usr


je te conseille de regarder les options suivantes de rpm :

--prefix=<dir> relocate the package to <dir>, if
relocatable
--relocate=<old>=<new> relocate files from path <old> to <new>
--badreloc relocate files in non-relocateable package

Avatar
Julien Hillairet
Merci à tous pour suggestions. En effet, je n'avait pas vu l'option
"prefix" dans rpm. Il semble que ca soit la bonne solution, mais
evidemment, il me manque d'autre dépendances... Tant pis.



Comme j'ai pas toutes les librairies pour compiler un programme et
l'installer dans mon /home (j'ai pas les droits root), j'aimerais
installer directement le rpm du programme en question, mais dans mon /home.



Est-ce trop difficile de demander au "root" (à l'administrateur) de la
machine d'installer le packages correspondants?
...

c'est sur :)

Mais c'est un cas particulier, ou l'admin est proche de la retraite, et
ne veut rien entendre... (4 semaines pour installer 10 pc en NIS. Alors
forcément.)