Zamiast używać yum
, znajdź żądane RPM i pobierz je. Nadal nie możesz zainstalować ich bezpośrednio bez roota, ale pakiety RPM są tak naprawdę fantazyjnymi plikami .cpio i możesz rozpakować ich zawartość. Najłatwiejszym sposobem na to jest prawdopodobnie mc
przeglądarka plików („midnight commander”) (jedno z największych programów w historii), która pozwala przeglądać zawartość .rpm
i kopiować pliki bezpośrednio z niej.
Poza tym możesz użyć go rpm2cpio
do konwersji na .cpio, a następnie cpio
do wyodrębnienia plików i umieszczenia ich we właściwych miejscach. Oba zostaną już zainstalowane w systemie redhat lub fedora. Oto przykład instalacji „xsnow” (prawdopodobnie chcesz to zrobić w pustym katalogu):
»rpm2cpio xsnow-1.42-17.fc17.x86_64.rpm > xsnow.cpio
Zauważ, że znalazłem .rpm odpowiedni dla mojego systemu, fc17 x86_64. Jest to ważne, ponieważ są to wstępnie skompilowane pliki binarne połączone z innymi komponentami. Teraz wypakuj .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...
Gdy przeglądam to drzewo katalogów, tam wszystko, czego potrzebuję, oprócz niektórych meta-informacji, które mogą pomóc mi rozwiązać zależności. Można to znaleźć za pomocą 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
Jestem pewien, że mam już wszystkie te rzeczy. Więc teraz wszystko, co muszę zrobić, to umieścić plik wykonywalny xsnow w mojej $ PATH, która już zawiera bin w moim katalogu domowym:
»cp ./usr/bin/xsnow ~/bin
Altówka! Teraz nie mogę xsnow
nic pisać i oglądać, bo jak się okazuje, xsnow nie działa dobrze z KDE :(, ale mam nadzieję, że pierwsza część procesu jest czysta. Nie musiałem nic robić poza moim katalogiem domowym.
Jeśli musisz zainstalować biblioteki, musisz również utworzyć dla nich katalog domowy i dodać ~/.bashrc
:
export LD_LIBRARY_PATH=/home/you/lib