題 如何在不成為root的情況下安裝RPM?


如何在沒有root權限的計算機上安裝RPM?我想安裝一個僅供個人工作目錄使用的軟件包。我正在運行SuSe SLES10。

請不要激怒我“這個想法是如此愚蠢,你不應該這樣做,因為所有請求必須通過公司的根神,可能他永遠活著。”

我知道我可以要求這個根神,但我會被擊落(因為完美,無可挑剔的原因,我敢肯定......)。此外,即使他說他會這樣做,他也永遠無法安裝它。


33
2017-11-11 18:08


起源


這根本不重複。覆蓋路徑並不總是允許非特權用戶使用rpm。 - John T
謝謝HarryMC。我會檢查一下。此外,添加鏈接到人們認為我的另一張票是重複的。也許麵包屑會幫助別人: superuser.com/questions/160530/override-rpm-install-path - Ross Rogers


答案:


cd my-dir;
rpm2cpio to-install.rpm | cpio -idv

看到 如何在不安裝RPM包的情況下提取RPM包(rpm extract命令)


42
2017-11-12 09:52



我做了這個,除了打印'1塊'之外,cpio似乎沒有做任何事情。我做錯什麼了嗎? - Nate Parsons
謝謝。事實證明我能夠從源代碼安裝,所以我不需要為RPM煩惱 - Nate Parsons
這只是解壓縮RPM的內容並將其轉儲到您所在的位置。這並不意味著結果有效(它的配置不應該在哪裡,......) - vonbrand
希望我能給你一些慈善機構的聲譽獎勵。謝謝! - macetw


另一個選擇是從源安裝,您通常可以使用更改安裝目錄 --prefix 開關。


2
2017-11-13 15:38



這就是我通常做的事情,但我希望能有更多的自動化。 - Ross Rogers
對我來說,這不起作用,因為它試圖在/ var中獲取文件鎖(並且權限被拒絕)。 - Nir Friedman


如何提取rpm包內容

export ins=foo-bar.rpm
rpm2cpio $ins | cpio -idv

如何提取 tar.gz 檔案

gzip -dc foo-bar.tar.gz | tar xvf –
cd foo-bar-dir

如何提取 tar.gz 打包到當前目錄

export file=foo-bar.tar.gz
# Note that `xovf` switch order *matters*
gzip -dc $file | tar -xovf -

如何將二進製文件構建為非root用戶

./configure --prefix=$HOME && make && make install

2
2018-02-18 15:07