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 realmente arquivos .cpio sofisticados e é possível descompactar o conteúdo deles. A maneira mais fácil de fazer isso é provavelmente através do mc
navegador de arquivos ("midnight commander") (um dos melhores softwares de todos os tempos), que permite navegar pelo conteúdo de um .rpm
arquivo e copiá-lo diretamente dele.
Sem isso, você pode usá rpm2cpio
-lo para convertê-lo em .cpio e depois cpio
extrair os arquivos para dentro 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 deseja 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 esses binários pré-compilados estão vinculados a outros componentes. Agora extraia o arquivo .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 estará 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 preciso fazer é colocar o executável xsnow no meu $ PATH, que já inclui uma lixeira no meu diretório pessoal:
»cp ./usr/bin/xsnow ~/bin
Viola! Agora não consigo digitar xsnow
e assistir a nada, pois, como se vê, o xsnow não funciona bem com o KDE :(, mas espero que o início do processo seja claro. Não precisei fazer nada fora do meu diretório pessoal.
Se você precisar instalar bibliotecas, também precisará criar um diretório em casa para elas e adicionar a ~/.bashrc
:
export LD_LIBRARY_PATH=/home/you/lib