linux非root用户下安装软件,搭建生产环境
之前的用实验室的服务器,因为某些原因,使用的用户没有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用户如何安装软件
Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...
- [转载]Linux下非root用户如何安装软件
[转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之 ...
- zzw原创_非root用户下安装nginx
想自己安装nginx,又不相用到root用户. 非root用户下(本文为用户bdctool)来ngnix安装,要依赖pcre库.zlib库等, 1. 下载依赖包:下载地址 pcre(www.pcre. ...
- CentOS6非root用户下安装及配置CDH5.3.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.8
如题,先到 Oracle 官方网站 下载1.8版本的 JDK 压缩包(jdk-8u221-linux-x64.tar.gz)到本地(如D盘的soft目录),然后开始进入linux的非root用户(如w ...
- 【tf.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/ ...
随机推荐
- React Native-安卓环境的搭建
最近公司做一个项目,项目中使用React Native(简称RN)来写安卓APP,现在我分享下安卓环境搭建的过程. 我参照https://reactnative.cn/docs/getting-sta ...
- egg-sequelize-ts 插件
egg-sequelize-ts plugin 目的 (Purpose) 能让使用 typescript 编写的 egg.js 项目中能够使用 sequelize方法,并同时得到egg.js所赋予的功 ...
- JavaWeb前端分页显示方法
在前端中我们总会遇到显示数据的问题 - 正常情况分页显示是必须的,这个时候我们不能仅仅在前端进行分页,在前端其实做起分页是很困难的,着就要求我们在后台拿数据的时候就要把分页数据准备好,在前端我们只需要 ...
- 我的C语言学习1
学习是快乐的,尤其是从之前看到一个程序的一头雾水到大致懂了是怎么回事,这个过程是兴奋开心的,让我不断的前进,不能自拔,今天就要结束,总结一下. 1.1-第一个C语言 #include<stdio ...
- 01-WIN2012R2+SQL2016故障转移群集的搭建
一.前期准备 1.1.准备4台机器 机器名 IP 功能 jf-yukong 192.168.10.200 做域控服务器 Jf-storage 192.168.10.201 做ISCSI存储服务器 J ...
- GRPC快速入门
转载请注明来自ChenJiehua的<GRPC快速入门> GRPC是一个高性能.通用的开源RPC框架,基于HTTP/2协议标准和Protobuf序列化协议开发,支持众多的开发语言. 概述 ...
- TinyMCE使用
1.文本&文本字体颜色 与word类似不赘述 2.字体加粗&划线 与word类似不赘述 选中后 ctrl + B 加粗快捷键 选中后 ctrl + I 斜体快捷键 选中后 c ...
- 纯数据结构Java实现(4/11)(BST)
个人感觉,BST(二叉查找树)应该是众多常见树的爸爸,而不是弟弟,尽管相比较而言,它比较简单. 二叉树基础 理论定义,代码定义,满,完全等定义 不同于线性结构,树结构用于存储的话,通常操作效率更高.就 ...
- ssh通过pem文件登陆服务器
一些为了安全操作,推荐使用私钥进行登录服务器,拿jenkins来说,默认的验证方式就是私钥 实现方式 先在本机通过ssh-keygen直接生成公私钥 如下在当前文件夹下生成my.pem(私钥)和my. ...
- Liunx学习总结(七)--系统状态查看和统计
sar命令 sar 是一个非常强大的性能分析工具,它可以获取系统的 cpu/等待队列/磁盘IO/内存/网络等性能指标.功能多的必然结果是选项多,应用复杂,但只要知道一些常用的选项足以. 语法 sar ...