yum installer dans la maison de l'user pour les non-administrateurs

Je suis un user non-administrateur sur un grand système informatique. J'ai besoin de packages à jour qui ne sont pas installés sur le système. Je veux utiliser miam pour les installer. En tant qu'user sans sudo, admin ou root, puis-je utiliser la gestion des packages pour installer les packages dans mon directory personnel? Je peux toujours utiliser make à partir des sources, mais être capable d'utiliser yum va faciliter la vie.

La plupart des binarys sont compilés pour être installés dans certains locations sous / .

Il existe des gestionnaires de packages non-root comme Gentoo Prefix et Rootless GoboLinux et peut-être 0install .

Comme vous l'avez dit, comstackr vous-même soulagerait ce problème ou utiliserait un chroot. Cependant, votre plus grand obstacle avec chrooting sera les prérequirejs et le lien avec les objects partagés du kernel.

Plutôt que d'utiliser yum, trouvez les rpms que vous voulez et téléchargez-les. Vous ne pouvez toujours pas les installer directement sans être root, mais les packages RPM sont en fait des files .cpio de fantaisie et vous pouvez décompresser leur contenu. La façon la plus simple de le faire est probablement via le browser de files mc ("midnight order") (l'un des plus grands logiciels jamais créés), qui vous permet de parcourir le contenu d'un file .rpm et de le copyr directement.

Sans cela, vous pouvez utiliser rpm2cpio pour le convertir en .cpio, puis cpio pour extraire les files à l'intérieur et les mettre aux bons endroits. Les deux seront déjà installés sur un système redhat ou fedora. Voici un exemple d'installation de "xsnow" (vous voudrez probablement le faire dans un directory vide):

 »rpm2cpio xsnow-1.42-17.fc17.x86_64.rpm > xsnow.cpio 

Avis J'ai trouvé un .rpm approprié à mon système, fc17 x86_64. Ceci est important car ce sont des binarys précompilés qui sont liés à d'autres composants. Maintenant, extrayez le .cpio:

 »cpio -idv < xsnow.cpio ./usr/bin/xsnow ./usr/share/doc/xsnow-1.42 ./usr/share/doc/xsnow-1.42/README ./usr/share/man/man6/xsnow.6.gz 212 blocks Press any key to continue... 

Si je navigue dans cette arborescence, tout ce dont j'ai besoin est là, à l'exception de certaines des méta-informations qui pourraient m'aider à résoudre les dependencies. Cela peut être trouvé en utilisant rpm -q -p [package] --[query] :

 »rpm -q -p xsnow-1.42-17.fc17.x86_64.rpm --requires warning: xsnow-1.42-17.fc17.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID d2382b83: NOKEY libX11.so.6()(64bit) libXext.so.6()(64bit) libXpm.so.4()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH) rpmlib(PayloadIsXz) <= 5.2-1 

Assez sûr que j'ai déjà tous ces trucs. Donc maintenant tout ce que j'ai à faire est de mettre l'exécutable xsnow dans mon $ PATH, qui inclut déjà un bin dans mon directory personnel:

 »cp ./usr/bin/xsnow ~/bin 

Alto! Maintenant, je peux taper xsnow et ne rien regarder, car il s'avère que xsnow ne fonctionne pas bien avec KDE 🙁 mais j'espère que le jing du process est clair.Je n'ai pas à faire quoi que ce soit en dehors de mon directory personnel.

Si vous avez besoin d'installer des bibliothèques, vous devrez également créer un directory à la maison et append à ~/.bashrc :

 export LD_LIBRARY_PATH=/home/you/lib