如何在无 root 权限且无网络的 linux 环境中安装软件?
介绍
上学期申请了学校集群,但是登陆后发现米有 root 权限也没有网络,这样就不能愉快地用 apt-get install 或者 yum install 安装软件了,一时之间十分尴尬。
于是在这种艰难条件下我学会了自力更生,查了各种资料,解决方案如下:
-
由于没有 root 用户,所以所有工具都需要编译安装
-
由于服务器只能连接内网,无法连接外网,所以所有工具的源码包需要通过 ftp 上传到服务器
-
由于编译安装到本地,所以尝试在用户目录中创建 /usr 目录,以存放编译好的工具
-
尝试配置用户级的 $PATH,每次登陆自动加载编译过的工具路径
以下是具体解决步骤和软件安装示例。
配置环境变量
编辑 ~/.bash_profile 文件
cd ~
vi .bash_profile
添加一行
PATH=$HOME/usr/bin:$PATH
使配置生效
source .bash_profile
安装软件
- 安装 autoconf(默认版本太低)
wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz # 在外网下载,下同
tar zxvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/home/xxxxxx/usr/
make && make install
- 安装 htop
wget https://hisham.hm/htop/releases/2.2.0/htop-2.2.0.tar.gz
tar zxvf htop-2.2.0.tar.gz
cd htop-2.2.0.tar.gz
./autogen.sh && ./configure --prefix=/home/xxxxxx/usr/ && make install
- 安装 python 2.7.14
wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
tar zxvf Python-2.7.14.gzip
cd Python-2.7.14
./configure --prefix=/home/xxxxxx/usr/
make install
- 安装 nginx
安装 nginx 比较复杂,首先需要安装依赖 pcre(注意不是 pcre2)、zlib、openssl
安装 pcre
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
tar zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure --prefix=/home/xxxxxx/usr/
make
make install
安装 zlib
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/home/xxxxxx/usr/
make
make install
安装 openssl
wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
tar -zxvf openssl-1.0.1t.tar.gz
cd openssl-1.0.1t.tar.gz
./config --prefix=/home/xxxxxx/usr/
make depend
make
make install
安装 nginx
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar zxvf nginx-1.14.0.tar.gzip
cd nginx-1.14.0
./configure --prefix=/home/xxxxxx/usr/nginx/ --with-pcre=/home/xxxxxx/usr/src/pcre-8.38 --with-openssl=/home/xxxxxx/usr/src/openssl-1.0.1t --with-zlib=/home/xxxxxx/usr/src/zlib-1.2.11
make
make install
参考资料
-
linux下没有root权限如何方便地安装软件? - 知乎
https://www.zhihu.com/question/39849235/answer/83407647 -
Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?
https://blog.csdn.net/aqxin/article/details/48324377 -
linux用户如何设置环境变量$PATH
https://weibo.com/p/23041869865a820102wwyn -
linux下如何设置环境变量PATH
https://blog.csdn.net/witsmakemen/article/details/7831631 -
CentOS6.5升级autoconf版本,解决”Autoconf version 2.64 or higher is required“错误
https://blog.csdn.net/prettyshuang/article/details/51395095 -
hishamhm/htop
https://github.com/hishamhm/htop -
linux环境下安装nginx步骤
https://www.cnblogs.com/wyd168/p/6636529.html -
Linux系统 - 源码编译安装Nginx(.configure 参数说明)
https://www.cnblogs.com/visec479/p/5145624.html -
实战Linux CentOS7 安装LNMP环境架构过程之编译nginx(nginx 安装过程参考)
https://www.jianshu.com/p/09af5694c059 -
linux上安装Openssl步骤详解
https://blog.csdn.net/shiyong1949/article/details/78212971?locationNum=10&fps=1