Em vez de usar yum
, encontre os rpms desejados e faça o download deles. Você ainda não pode instalá-los diretamente sem ser root, mas os pacotes RPM são na verdade arquivos .cpio, e você pode descompactar seus conteúdos. A maneira mais fácil de fazer isso é provavelmente através do navegador de arquivos mc
("midnight commander") (um dos maiores softwares de todos os tempos), que permite navegar pelo conteúdo de um .rpm
e copiar arquivos diretamente de isso.
Sem esse, você pode usar rpm2cpio
para convertê-lo em .cpio, depois cpio
para extrair os arquivos e colocá-los nos lugares certos. Ambos já estarão instalados em um sistema redhat ou fedora. Aqui está um exemplo de instalação do "xsnow" (você provavelmente quer fazer isso em um diretório vazio):
»rpm2cpio xsnow-1.42-17.fc17.x86_64.rpm > xsnow.cpio
Observe que encontrei um .rpm apropriado para o meu sistema, fc17 x86_64. Isso é importante porque são binários pré-compilados que estão vinculados a outros componentes. Agora extraia o .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 eu navegar por essa árvore de diretórios, tudo o que preciso está lá, exceto algumas das meta-informações que podem me ajudar a resolver dependências. Isso pode ser encontrado 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
Tenho certeza que já tenho todas essas coisas. Então agora tudo o que tenho que fazer é colocar o executável xsnow em meu $ PATH, que já inclui um bin no meu diretório home:
»cp ./usr/bin/xsnow ~/bin
Viola! Agora eu posso digitar xsnow
e não ver nada, já que o xsnow não funciona bem com o KDE :( mas espero que o jist do processo esteja claro. Eu não precisei fazer nada fora do meu diretório pessoal.
Se você precisar instalar bibliotecas, precisará criar um diretório em casa para elas também e adicioná-las a ~/.bashrc
:
export LD_LIBRARY_PATH=/home/you/lib