目录

Linux下普通用户安装软件包 (rpm/deb)

没有root权限的普通用户,如何在 CentOS/RHEL 下安装rpm包,或在 Ubuntu/Debian 下安装deb包?

基本思路

  1. 将 软件包和依赖包 下载到本地
  2. 解压 软件包和依赖包 内容
  3. 如果是源码包,需要 编译安装
  4. 配置环境变量 PATHLD_LIBRARY_PATH

具体实践

提示
以安装 jq 为例。

CentOS/RHEL 安装 rpm

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# 创建local文件夹
mkdir -p $HOME/local && cd $HOME/local

# 下载软件包和依赖包
yumdownloader jq oniguruma

# 解压软件包和依赖包
find . -maxdepth 1 -name "*.rpm" -exec sh -c 'rpm2cpio {} | cpio -divm' \;

# 如果是源码包 或 rpm包含特殊script的包,需要查看rpm-script或编译安装
# 查看rpm-script
# rpm -qp --scripts ./xxxxxx.rpm
# 或者 编译安装
# ./configure --prefix=$HOME/local/ && make && make install

# 配置环境变量
export PATH=$PATH:$HOME/local/usr/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/usr/lib64

Ubuntu/Debian 安装 deb

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 创建local文件夹
mkdir -p $HOME/local && cd $HOME/local

# 下载软件包和依赖包
apt-get download jq libjq1 libonig5

# 解压软件包和依赖包
find . -maxdepth 1 -name "*.deb" -exec sh -c 'dpkg -x {} ./' \;

# 如果是源码包 需要编译安装
# ./configure --prefix=$HOME/local/ && make && make install

# 配置环境变量
export PATH=$PATH:$HOME/local/usr/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/usr/lib/x86_64-linux-gnu/