Thay vì sử dụng yum
, hãy tìm các rpms bạn muốn và tải chúng xuống. Bạn vẫn không thể cài đặt chúng trực tiếp mà không cần root, nhưng các gói RPM thực sự là các tệp .cpio ưa thích và bạn có thể giải nén nội dung của chúng. Cách dễ nhất để làm điều này có lẽ là thông qua mc
trình duyệt tệp ("chỉ huy nửa đêm") (một trong những phần mềm lớn nhất từ trước đến nay), cho phép bạn duyệt nội dung của một .rpm
và sao chép các tệp ra khỏi nó.
Vì vậy, bạn có thể sử dụng rpm2cpio
để chuyển đổi nó thành .cpio, sau đó cpio
trích xuất các tệp bên trong và đặt chúng vào đúng vị trí. Cả hai thứ này sẽ được cài đặt trên hệ thống redhat hoặc fedora. Đây là một ví dụ cài đặt "xsnow" (bạn có thể muốn làm điều này trong một thư mục trống):
»rpm2cpio xsnow-1.42-17.fc17.x86_64.rpm > xsnow.cpio
Lưu ý rằng tôi tìm thấy một .rpm phù hợp với hệ thống của tôi, fc17 x86_64. Điều này rất quan trọng vì đây là các tệp nhị phân được biên dịch trước được liên kết với các thành phần khác. Bây giờ giải nén .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...
Nếu tôi duyệt qua cây thư mục này, mọi thứ tôi cần đều ở đó, ngoại trừ một số thông tin meta có thể giúp tôi giải quyết các phụ thuộc. Điều này có thể được tìm thấy bằng cách sử dụng 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
Khá chắc chắn rằng tôi đã có tất cả những thứ này. Vì vậy, bây giờ tất cả những gì tôi phải làm là đặt xsnow thực thi trong $ PATH của tôi, đã bao gồm một thùng trong thư mục nhà của tôi:
»cp ./usr/bin/xsnow ~/bin
Viola! Bây giờ tôi có thể gõ xsnow
và xem không có gì, vì hóa ra xsnow không chơi tốt với KDE :( nhưng hy vọng rằng ý chính của quy trình là rõ ràng. Tôi không phải làm gì ngoài thư mục nhà của mình.
Nếu bạn cần cài đặt thư viện, bạn cũng sẽ cần tạo một thư mục tại nhà cho họ và thêm vào ~/.bashrc
:
export LD_LIBRARY_PATH=/home/you/lib