Замість використання yum
знайдіть потрібні rpms та завантажте їх. Ви все одно не можете встановити їх безпосередньо, не використовуючи root, але пакети RPM - це фактично фантазійні файли .cpio, і ви можете розпакувати їх вміст. Найпростіший спосіб зробити це, мабуть, через mc
файловий браузер ("командир опівночі") (один із найбільших програм програм коли-небудь), який дозволяє переглядати вміст .rpm
і копіювати файли прямо з нього.
rpm2cpio
Це означає, що ви можете перетворити його в .cpio, потім cpio
витягнути файли всередину і розмістити їх у потрібних місцях. Обидва вони вже будуть встановлені в системі redhat або fedora. Ось приклад встановлення "xsnow" (напевно, ви хочете зробити це в порожній каталозі):
»rpm2cpio xsnow-1.42-17.fc17.x86_64.rpm > xsnow.cpio
Зверніть увагу, що я знайшов .rpm, відповідний моїй системі, fc17 x86_64. Це важливо, оскільки це попередньо складені бінарні файли, пов’язані з іншими компонентами. Тепер витягніть .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...
Якщо я переглянув це дерево каталогів, все, що мені потрібно, є, крім деяких метаінформацій, які можуть допомогти мені вирішити залежності. Це можна знайти за допомогою 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
Досить впевнений, у мене вже є всі ці речі. Отже, тепер все, що мені потрібно зробити, - це поставити виконуваний файл xsnow у мій $ PATH, який вже містить бін у моєму домашньому каталозі:
»cp ./usr/bin/xsnow ~/bin
Віола! Тепер я не можу вводити xsnow
і нічого дивитись, оскільки, як виявляється, xsnow не дуже добре грає з KDE :( але, сподіваюся, суть цього процесу зрозуміла. Мені нічого не потрібно було робити поза домашнім каталогом.
Якщо вам потрібно встановити бібліотеки, вам також потрібно створити каталог вдома для них і додати до ~/.bashrc
:
export LD_LIBRARY_PATH=/home/you/lib