Plutôt que d’utiliser yum
, trouvez les RPM 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 fichiers .cpio sophistiqués et vous pouvez en décompresser le contenu. Le moyen le plus simple de le faire consiste probablement à utiliser mc
le navigateur de fichiers ("midnight commander") (l'un des plus grands logiciels à ce jour), qui vous permet de parcourir le contenu d'un .rpm
fichier et de le copier directement.
Sans cela, vous pouvez utiliser rpm2cpio
pour le convertir en .cpio, puis cpio
pour extraire les fichiers et les placer 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 souhaiterez probablement le faire dans un répertoire vide):
»rpm2cpio xsnow-1.42-17.fc17.x86_64.rpm > xsnow.cpio
Notez que j'ai trouvé un fichier .rpm approprié à mon système, fc17 x86_64. Ceci est important car ce sont des binaires 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 de répertoires, tout ce dont j'ai besoin est là, à l'exception de certaines méta-informations qui pourraient m'aider à résoudre les dépendances. Ceci 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
Je suis sûr que j'ai déjà tout ça. Il ne me reste donc plus qu'à placer l'exécutable xsnow dans mon $ PATH, qui inclut déjà une corbeille dans mon répertoire personnel:
»cp ./usr/bin/xsnow ~/bin
Alto! Maintenant, je peux taper xsnow
et regarder rien, car il s'avère que xsnow ne fonctionne pas bien avec KDE :( mais j'espère que le processus est clair. Je n'ai rien à faire en dehors de mon répertoire personnel.
Si vous devez installer des bibliothèques, vous devrez également créer un répertoire dans leur répertoire personnel et les ajouter à ~/.bashrc
:
export LD_LIBRARY_PATH=/home/you/lib