假設我以使用者身分可以透過 ssh 存取某些 Ubuntu 伺服器,並且為了方便起見,我需要安裝一些非系統工具(mc、rtorrent、mcedit)。我不想為這些小程式打擾管理員。
有沒有一種方法可以安裝它們(使它們運行)而不使用類似的東西sudo apt-get install
?
答案1
您需要從原始碼編譯這些。這應該只是一個問題
apt-get source PACKAGE
./configure --prefix=$HOME/myapps
make
make install
然後二進位檔案將位於~/myapps/bin
.因此,添加export PATH="$HOME/myapps/bin:$PATH"
到您的.bashrc
文件並.bashrc
使用source ~/.bashrc
.當然,這假設系統上安裝了 gcc。
答案2
編譯並安裝
~/bin
(並編輯您的.bashrc
設定PATH
以包含它)。庫可以類似地編譯並安裝到~/lib
(設置LD_LIBRARY_PATH
為指向它),並且開發頭文件可以安裝到例如~/includes
.根據您要安裝的程式及其依賴的程式庫的具體詳細信息,您可以下載 .deb 檔案並使用“
dpkg-deb -x
”將它們解壓縮到您的主目錄下。然後,您將在設置PATH
、LD_LIBRARY_PATH
和其他時獲得很多“樂趣”variables
。您安裝的程式或應用程式越複雜,您就會享受到更多的樂趣:)當然,您將無法以
setuid
這種方式安裝二進位檔案 - 它們會安裝,但是(因為您無權將它們chown為root或setuid
對其進行設定)它們只是您擁有的普通二進位檔案。類似地,期望以某種方式運行
UID
或能夠更改 uid 或期望文件位於/etc
其中~/etc
等的守護程序和系統服務不太可能正常工作(如果有的話)。大多數系統管理員會認為
mc
它們mcedit
是「大部分無害」、無害的程式。然而,很少有人認為安裝種子客戶端是無害的,特別是如果他們必須支付頻寬費用或最終承擔法律責任。大多數系統管理員可能不會完全樂意看到最終用戶未經許可安裝此類軟體。他們可能會說“當然,繼續吧,把自己搞暈”,也可能不會…但您應該詢問任何可能給機器所有者/管理員帶來問題的問題。
答案3
您可以使用聚巢,它會在使用者目錄中建立一個小型 Linux 容器,您可以在其中安裝任何軟體包。
答案4
實際上有一個我今天剛製作的工具
https://github.com/z3r0n3t/pkget
你所需要的只是訪問 bash 沒有任何特殊的 root 你可以使用 whet 將其下載為 zip 檔案或使用 git clone