linux下安装软件(无su权限)
原本在linux下安装软件并不难,Ubuntu的话就是apt-get install
, centOS的话就是yum
。但是在公司的话,会面临一个问题,在大家公用的开发机上,你是拿不到su
权限的,所以有些软件就不能直接用sudo yum install
。
设置临时环境变量
每个人都会在网盘上开辟一个属于自己的文件夹,因此可以配置一个自己的临时环境。
source
命令
所谓临时环境就是在每次登陆到开发机后需要改变将当前shell的环境变量,退出登陆后并不改变和影响系统环境变量。
此时就需要source
命令。
使Shell读入指定的Shell程序文件并依次执行文件中的所有语句。
source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
source .bashrc
.bashrc
文件
这里需要保存一些自己软件的路径,同时把系统的home
路径暂时改到指定文件夹(或当前自己的文件夹)。
更改home
路径:HOME=\.......\
软件路径加入环境变量(此方法退出命令行后就失效了):PATH=$PATH:路径
如果把上边语句加入到/etc/profile
文件中,就是对系统里的所有用户都有效了,也就是永久有效的PATH了。
当然我是没有写入权限的(哈哈哈哈哈哈)。
再啰嗦一句,等号两侧不要手贱加空格!!!(别问我怎么知道的)
简单解释就是shell会按照空格截断,识别成两句话。
软件
屌丝码农的本职工作还是要码代码的,所以编程环境是少不了的。
在公司需要用到python+tensorflow。当然肯定也是不会的啦,之前一点没接触过。
先说python吧。
python
linux下是自带python这是没问题的,但问题是每个人在使用python的时候是需要不同的包的,而你需要的包版本很可能和别人的是冲突的或者是不能兼容的,所以这种情况下还是自己拥有一个自己的python吧。这样有两个好处。
1.不依赖系统,自己随意更改。
2.自己对别人没有影响,别人对自己也没有影响。
这里推荐直接安装Anaconda
,自带很多包文件,很方便。
sh Anaconda2-4.4.0-Linux-x86_64.sh
在安装的时候会询问你要安装哪,要选择自己的文件夹下哈。
漫长的等待安装完毕后把anaconda的路径加到自己的.bashrc中。
export PATH="/自己的路径/.anaconda2/bin:$PATH"
然后命令行输入python,见到和下图相同的内容就代表安装成功啦。
在使用时,需要安装扩展包,使用conda install xxx
就好。不过仍然会遇到一个问题,就是慢!!!而且不是一般的慢!!!毕竟人家是国外的服务器,天朝之内咱都懂。此时就要感谢一下清华了,因为有清华镜像帮忙解决问题啦。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
一些conda命令
conda install xxx安装包文件
conda list查看安装包和版本号
conda update升级包
conda update conada升级conda版本
pip install xxx安装一些conda不能安装的包
错误情况:
pip install Error
最佳的解决方案就是下载完成的.whl文件到本地。
之后就是烦人的tensorflow了。
tensorflow
如果需要安装的机器的网络不错,按照官方教程来就好。
然而我需要安装的那个机器的联网环境很烂,时常就掉线,而且速度按两位数KB的走,实在是不能忍啊!
还是决定自己用安装包搞!
安装教程可以参考keras中的官方教程,只是不需要到最后一步。
首先是CUDA。在官网 下载好自己对应需要的rpm。在自己电脑上或者能拿到su
权限的话按照官网命令直接安装就OK了。这里mark一下没有权限下的安装。
如果你觉得把官网命令里的sudo
简单去掉就ok,那我就不用在这废话了。
警告:cuda-repo-rhel7-8-0-local-ga2-8.0.61-1.x86_64.rpm: 头V3 RSA/SHA512 Signature, 密钥 ID 7fa2af80: NOKEY
错误:can\'t create 事务 lock on /var/lib/rpm/.rpm.lock (权限不够)
毕竟要写到一些关键目录 比如/bin /usr等。不过可以把RPM包解压出来然后放在自己的目录下,并且添加好环境变量来实现安装
解压的命令为:(前两个是CUDA的,最后一个是cuDNN的)
rpm2cpio cuda-repo-rhel7-8-0-local-ga2-8.0.61-1.x86_64.rpm |cpio -idvm
rpm2cpio cuda-repo-rhel7-8-0-local-cublas-performance-update-8.0.61-1.x86_64.rpm |cpio -idvm
tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz
这样就会按包里的目录结构解压到当前目录,在.bashrc添加环境变量
export CUDA_HOME=/......./cuda/.CUDA/
export PATH="$PATH:/......./.CUDA/cuda/usr/bin"
export LD_LIBRARY_PATH="/......./.CUDA/cuda/lib64:$LD_LIBRARY_PATH"
这样CUDA这边就配置ok了。
接下来就是tensorflow这边了。
有CPU和GPU两个版本的文件。分别安装一下。
pip install tensorflow-1.2.1-cp27-cp27mu-manylinux1_x86_64.whl
pip install tensorflow_gpu-1.3.0rc2-cp27-cp27mu-manylinux1_x86_64.whl
等待显示Successfully之后,安装环境过程就算基本结束了。
测试一下。
python
import tensorflow as tf
tf.InteractiveSession()
没有ERROR的话就可以干活了。
刚刚接触Linux,对权限问题不是很清晰,才会遇到这么多的坑。加油吧小伙砸!!!
Reference
http://blog.csdn.net/u010570551/article/details/54291507
http://keras-cn.readthedocs.io/en/latest/for_beginners/keras_linux/#1-linux
http://www.cnblogs.com/welkinwalker/archive/2011/06/13/2079816.html
http://xfliwz02.lofter.com/post/2b0d5b_7d2dfc8
http://www.lofter.com/tag/rpm
http://blog.csdn.net/yijuan_hw/article/details/53439408
http://www.jianshu.com/p/3a81809fea71
http://blog.csdn.net/u011534057/article/details/51115010
http://blog.csdn.net/hjxu2016/article/details/70254624