Anziché utilizzare yum
, trova gli rpms desiderati e scaricali. Non puoi ancora installarli direttamente senza essere root, ma i pacchetti RPM sono in realtà file .cpio fantasiosi e puoi decomprimerne il contenuto. Il modo più semplice per farlo è probabilmente tramite il mc
browser di file ("comandante di mezzanotte") (uno dei più grandi software di sempre), che consente di sfogliare il contenuto di un .rpm
e copiare i file direttamente da esso.
rpm2cpio
Inoltre, puoi usarlo per convertirlo in .cpio, quindi cpio
per estrarre i file all'interno e metterli nei posti giusti. Entrambi saranno già installati su un sistema redhat o fedora. Ecco un esempio di installazione di "xsnow" (probabilmente vorrai farlo in una directory vuota):
»rpm2cpio xsnow-1.42-17.fc17.x86_64.rpm > xsnow.cpio
Nota che ho trovato un .rpm appropriato per il mio sistema, fc17 x86_64. Questo è importante perché si tratta di binari precompilati collegati ad altri componenti. Ora estrai il .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...
Se sfoglio questo albero di directory, tutto ciò di cui ho bisogno è lì, tranne alcune delle meta-informazioni che potrebbero aiutarmi a risolvere le dipendenze. Questo può essere trovato usando 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
Abbastanza sicuro di avere già tutte queste cose. Quindi ora tutto ciò che devo fare è inserire il file eseguibile xsnow nel mio $ PATH, che include già un cestino nella mia directory home:
»cp ./usr/bin/xsnow ~/bin
Viola! Ora non riesco a digitare xsnow
e guardare nulla, poiché a quanto pare xsnow non funziona bene con KDE :( ma spero che il jist del processo sia chiaro. Non ho dovuto fare nulla al di fuori della mia home directory.
Se è necessario installare le librerie, è necessario creare una directory in home anche per loro e aggiungere a ~/.bashrc
:
export LD_LIBRARY_PATH=/home/you/lib