在學校實驗室伺服器沒有許可權如何安裝軟體?
本人本科數學系,研究生轉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 make4 添加環境變數不需要執行 make install命令。一般的GNU工具鏈反而簡單,源碼編譯加 --prefix=你的工作目錄 就可以了但是關鍵是一些依賴複雜、不用包管理無法解決的軟體包,最好的辦法還是聯繫管理員,讓他給你裝上如果必須使用,用 Docker 也是個很好的選擇,但是這方面我就不了解了
通常不是找網管嘛?
如果非root用戶,在home目錄下裝。
推薦閱讀:
※可不可以用一台家用pc做伺服器,搭建一個訪問量很小的博客?
※用樹莓派做一個伺服器是否可行?
※求大神推薦vps伺服器?
※目前有哪些線路穩定、帶寬便宜、服務質量尚可的境外vps?
※伺服器端開發和客戶端開發的前景比較?
TAG:Python | Linux | Linux系統管理 | 伺服器 | TensorFlow |