安装cuda 非root_linux非root用户下安装软件,搭建生产环境

在没有root权限的Linux环境下,通过使用Anaconda和Homebrew来安装CUDA和其他软件。首先安装Anaconda,利用conda安装curl。接着安装Homebrew,并修改其配置以使用Anaconda中的curl。通过brew安装所需软件,对于brew没有的包,可以通过手动编译安装。这种方法允许非root用户在本地环境中搭建完整的开发环境。
摘要由CSDN通过智能技术生成

之前的用实验室的服务器,因为某些原因,使用的用户没有root权限。linux的非root用户很多软件无法安装,非常的不方便。我的方法是使用brew来代替系统的包管理工具。brew是最先用在mac上的包管理工具,可以将所有的包托管在user本地的环境内。下面的文档中运行的时候记得将用户名改成自己的。

1. 安装anaconda

下载官方anaconda python安装包(minicondo也行),将conda加入~/.bashrc的系统变量中(在安装中会提示你运行 conda init,点yes就会直接复制到~/.bashrc中了)。这一步的目的是去安装curl, curl是下载安装brew必备的工具,此时curl会安装在/home/username/anaconda3/bin中

conda install curl --use-local

建议这里装完再装一个vim,方便文本编辑

2. 安装brew

使用curl命令下载安装brew,中间有一些错误不用管他,结束后输入brew有返回就说明安装成功

sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

之后将一下brew加入~/.bashrc中

export HOMEBREW_PREFIX="/home/username/.linuxbrew";

export HOMEBREW_CELLAR="/home/username/.linuxbrew/Cellar";

export HOMEBREW_REPOSITORY="/home/username/.linuxbrew/Homebrew";

export PATH="/home/username/.linuxbrew/bin:/home/username/.linuxbrew/sbin:$PATH";

export MANPATH="/home/username/.linuxbrew/share/man:$MANPATH";

export INFOPATH="/home/username/.linuxbrew/share/info:$INFOPATH";

此时保证brew已经是一个可以在终端被调用, 接下来是关键的一步

在/home/username/.linuxbrew/Homebrew/Library/Homebrew/brew.sh#L200上进行加上一行

if [[ -n "$HOMEBREW_FORCE_BREWED_CURL" &&

-x "$HOMEBREW_PREFIX/opt/curl/bin/curl" ]] &&

"$HOMEBREW_PREFIX/opt/curl/bin/curl" --version >/dev/null

then

HOMEBREW_CURL="$HOMEBREW_PREFIX/opt/curl/bin/curl"

elif [[ -n "$HOMEBREW_DEVELOPER" && -x "$HOMEBREW_CURL_PATH" ]]

then

HOMEBREW_CURL="$HOMEBREW_CURL_PATH"

else

HOMEBREW_CURL="curl"

fi

HOMEBREW_CURL="/home/username/anaconda/bin/curl" # 加上这一行!

然后输入 brew install curl

装完之后brew.sh会自动抹去自己之前的修改 : ),然后brew就正式能用了

比如 brew install tmux, brew install htop,只有brew有的包都可以装(参考包列表https://formulae.brew.sh/formula/)

3. 手动编译安装软件包

如果brew里面没有某个包,需要自己编译的话,一般的linux软件包都是make编译的,一般修改下configure然后再make && make install 就好了,如下三行命令:

./configure --prefix=/home/username/.local

make

make install

# 如果要卸载 运行 make uninstall

最后分享下我的~/.bashrc ,其中 ~/.local/bin 和 ~/.local/lib加到PATH里面是为了自己编译安装用的。

export PATH=~/.local/bin:$PATH

export C_INCLUDE_PATH=$C_INCLUDE_PATH:~/.local/include

export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:~/.local/include

export LD_LIBRARY_PATH=~/.local/lib:$LD_LIBRARY_PATH

# >>> conda initialize >>>

# !! Contents within this block are managed by 'conda init' !!

__conda_setup="$('/home/username/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"

if [ $? -eq 0 ]; then

eval "$__conda_setup"

else

if [ -f "/home/username/anaconda3/etc/profile.d/conda.sh" ]; then

. "/home/username/anaconda3/etc/profile.d/conda.sh"

else

export PATH="/home/username/anaconda3/bin:$PATH"

fi

fi

unset __conda_setup

# <<< conda initialize <<<

export HOMEBREW_PREFIX="/home/username/.linuxbrew";

export HOMEBREW_CELLAR="/home/username/.linuxbrew/Cellar";

export HOMEBREW_REPOSITORY="/home/username/.linuxbrew/Homebrew";

export PATH="/home/username/.linuxbrew/bin:/home/username/.linuxbrew/sbin:$PATH";

export MANPATH="/home/username/.linuxbrew/share/man:$MANPATH";

export INFOPATH="/home/username/.linuxbrew/share/info:$INFOPATH";

Linux下非root用户如何安装软件

Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...

&lbrack;转载&rsqb;Linux下非root用户如何安装软件

[转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之 ...

zzw原创&lowbar;非root用户下安装nginx

想自己安装nginx,又不相用到root用户. 非root用户下(本文为用户bdctool)来ngnix安装,要依赖pcre库.zlib库等, 1. 下载依赖包:下载地址 pcre(www.pcre. ...

CentOS6非root用户下安装及配置CDH5&period;3&period;0

#install lsb packagesudo yum install -y redhat-lsb #install net-tools package sudo yum install -y ne ...

ubuntu下非root用户下获得使用wireshark的权限

在非root用户下不能使用wireshark用来抓包,所以需要进行以下操作: sudo groupadd wireshark sudo chgrp wireshark /usr/bin/dumpcap ...

linux非root用户安装jdk1&period;8

如题,先到 Oracle 官方网站 下载1.8版本的 JDK 压缩包(jdk-8u221-linux-x64.tar.gz)到本地(如D盘的soft目录),然后开始进入linux的非root用户(如w ...

【tf&period;keras】Linux 非 root 用户安装 CUDA 和 cuDNN

TensorFlow 2.0 for Linux 使用时报错:(cuDNN 版本低了) E tensorflow/stream_executor/cuda/cuda_dnn.cc:319] Loade ...

linux非root用户安装ncurses-devel依赖

很明显,如果我们通过yum或rpm下载安装,始终无法绕开root用户,除非我们不用yum或rpm.嗯,我们直接用源码安装.下载源码包,到http://ftp.gnu.org/gnu/ncurses/我 ...

linux非root用户执行开机启动程序

问题 开机启动其他用户的程序或者说非root用户执行开机启动 编写开机启动脚本 编写开机启动脚本apple_tree,放到/etc/init.d,系统启动时会自动执行. 例如,/etc/init.d/ ...

随机推荐

ABP框架 - 应用服务

文档目录 本节内容: IApplicationService 接口 ApplicationService 类 CrudAppService 和 AsyncCrudAppService 类 简单的CRU ...

Amd64 and Va&lowbar;arg

Made of Bugs Blog Archives Author Amd64 and Va_arg OCT 3RD, 2010 A while back, I was poking around L ...

第三百三十天 how can I 坚持

今天是姥姥二周年,不是忘了,是根本就没不知道,没放在心上,正月十九,记下了,人这一辈子. 搞不懂,搞不懂那签. 锥地求泉,先难后易,顺其自然,偶遇知己,携手同行,是签文的关键,我逐个解释给你听.锥地求 ...

iOS UITableviewWrapperView 和 automaticallyAdjustsScrollViewInsets属性

关于在navigationController下面使用tableView在竖直方向会遇到frame的y值的困惑, 会遇到视图控制器的这个属性:automaticallyAdjustsScrollVie ...

moment&period;js常用时间示例&comma;时间管理

'今天': moment() '昨天': moment().subtract(1, 'days') '过去7天':moment().subtract(7, 'days'),moment() '上月': ...

关于截取URL地址参数的方法

JS获取URL中最后一个斜杠前面的内容 var url = window.location.href; var index = url.lastIndexOf("\/"); str ...

mui-图文列表 图片大小问题

下面是源码,不能调节图片大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值