在學校實驗室伺服器沒有許可權如何安裝軟體?

本人本科數學系,研究生轉cs。但是一開始接觸實驗室的伺服器,沒有許可權的情況下有些軟體和庫無法安裝(比方說如何在沒有許可權的情況下在自己的home下裝tensorflow,kaldi,和一些需對python文件路徑具有寫許可權的操作)。。求各位前輩指點!

另外,有沒有這方面的參考資料可以閱讀學習下。這些技能應該不只是從實驗室學長學姐那裡口耳相傳的吧。。

-----------------------------------------

感謝各位幫助,待會下課了試試


1. 使用pyenv, venv, virtualenv, virtualenvwrapper等Python虛擬環境。

2. 在自己的home目錄下,準備好一套根文件系統,所有任務都chroot進去。

3. 軟體包自行編譯,將--prefix修改到自己的home目錄。

4. 讓管理員開放Docker相關功能。

5. 讓管理員開放KVM、Xen或OpenVZ等虛擬機。


謝邀 @顧顧顧

首先,標準Linux環境下用戶的home目錄用戶是擁有所有許可權的,所以如果你沒有rwx許可權的話,請儘快聯繫系統管理員解決!

  • 聯繫管理員安裝你需要的軟體,那樣速度最快,這樣伺服器不用調度大量資源給你建立你需要的軟體,而且你自己也不用去尋找依賴問題或者是學習一個新的軟體,不管是對伺服器的壓力還是你自己的壓力都小。
  • 使用pyenv或者virtualenv這樣可以使用多種python運行時的軟體(前提是伺服器上有安裝多種版本的python,至少有2和3)
  • docker,dockerhub上有提供tensorflow和kaldi的鏡像,可以直接下載下來用

tensorflow:https://hub.docker.com/r/tensorflow/tensorflow/

kaldi:https://hub.docker.com/r/mozilla/kaldi/

我不太確定這是不是你要的kaldi……因為我知道的kaldi是用c++寫的,可能不是一個軟體……

前提是,要檢查伺服器裡面有沒有安裝docker

  • 最後一個是我最不推薦的一個方法,就是在home目錄下編譯一個python環境,因為要花費大量的時間,還要解決依賴問題,對伺服器資源的需求很大,我不確定如果佔用伺服器資源太多會不會被禁掉(比如用ulimit,如果對用戶限定了內存或者堆棧大小的話很有可能編譯不通過),具體方法我可以貼出來,但我不承擔後果

Python-3.6.0

編譯的時候把./configure --prefix=/usr 改成 --prefix=/home/你的用戶名/python3.6(不要用~因為有可能有些腳本不識別!)

然後在~/.bashrc裡面增加這樣一條:

export PATH=~/python3.6/bin/:$PATH

一定要按照這個順序,因為shell讀path是按照順序讀,如果發現輸入python沒有更新,那麼就退出shell重新登陸一下!

保存退出編輯,然後

source ~/.bashrc

完成!

試一試python

python --version

應該會看到這樣的輸出

Python 3.6.0

這樣就成功了,而且應該內置了pip,可以直接pip install了

就這樣。


你自己的home顯然必須有寫許可權。至於如何安裝,每個軟體都不一樣,請自行閱讀文檔。

通常來講,從源代碼編譯的包,大都在構建階段(autotools的./configure,cmake的cmake)會有個選擇安裝根路徑的選項,默認是/usr/local,你把它改成你的home就好了。


你需要Linuxbrew


再裝一套python以及你需要的庫到home下就好了


神器Linuxbrew,比gentoo-prefix爽多了


源碼編譯的話:

1 解壓到你有許可權的目錄

2 執行configure命令

3 make

4 添加環境變數

不需要執行 make install命令。


一般的GNU工具鏈反而簡單,源碼編譯加 --prefix=你的工作目錄 就可以了

但是關鍵是一些依賴複雜、不用包管理無法解決的軟體包,最好的辦法還是聯繫管理員,讓他給你裝上

如果必須使用,用 Docker 也是個很好的選擇,但是這方面我就不了解了


通常不是找網管嘛?

如果非root用戶,在home目錄下裝。


推薦閱讀:

可不可以用一台家用pc做伺服器,搭建一個訪問量很小的博客?
用樹莓派做一個伺服器是否可行?
求大神推薦vps伺服器?
目前有哪些線路穩定、帶寬便宜、服務質量尚可的境外vps?
伺服器端開發和客戶端開發的前景比較?

TAG:Python | Linux | Linux系統管理 | 伺服器 | TensorFlow |