非 root 用户 从 rpm 文件安装软件包

Posted

技术标签:

【中文标题】非 root 用户 从 rpm 文件安装软件包【英文标题】:Non-root users Installing packages from a rpm file 【发布时间】:2016-05-30 16:47:31 【问题描述】:

我是运行 centos Linux 的非 root 用户.....问题是我有所需的 rpm 文件我不知道如何以非 root 用户身份将它们安装到我的主目录中。任何帮助都会不胜感激。在此先感谢

【问题讨论】:

什么类型的 rpm?包含二进制文件?然后解压rpm后安装。或者从源代码构建并将安装前缀作为您的目录。 感谢 cmntng khrm .....如何从提取的 rpm 文件中安装软件包??但是我会尝试使用前缀构建...... 【参考方案1】:

这个漂亮的小脚本 ( unPack_rpm.sh ) 会将 rpm 包解压到一个带有包名的文件夹中...

#!/bin/bash
# Purpose: Unpack RPM archives (author: @unSpawn)
# Args: /path/to/archive
# Deps: Bash, GNU utils, RPM
rpmDetails()  for Q in changelog provides requires scripts triggers triggerscripts; do 
 rpm -q -p --$Q "$f" 2>&1 | grep -v NOKEY > "$Q.log"; done; 
rpmUnpack()  f=$(readlink -f "$f"); file "$f"|grep -q "RPM.v" && \
  d=$(basename "$f" .rpm); d="./$d:=ERROR_$$"; mkdir -p "$d" && \
  cd "$d" && rpm2cpio "$f" | cpio -idmv && rpmDetails "$f"; ; ; 
for f in $@; do rpmUnpack "$f"; done
exit 0

【讨论】:

这可以成功并解压一个 rpm 文件,但是如何在解压 rpm 文件后将其安装到我的主目录中 ?哪个.rpm? ...许多不同的行为“rpm”。库包通常是可移植的:库可以放在 /home/[name]/lib/ 中。应用程序(工具):请指定 package.rpm 。 - 可以将glibc的lib和include的内容解包添加到主目录的lib和include文件夹中【参考方案2】:

我认为这是一个重复的问题,与here 相同。在此线程中,建议提取 rpm(使用转换为 cpio),然后在本地使用源文件。

还提供了一个深入解释的链接,你可以看到它here。

【讨论】:

我已经尝试过它们,但如果我在提取 rpm 文件的同一目录中工作,但我希望在我的帐户中全局使用,则坚持的技术将有效... 不能给二进制文件添加别名吗?这样你就可以从任何目录调用程序。 感谢您的回信.....我是 linux 的新手,您能否提供一个链接来说明您坚持要我做的事情... 如果您想了解 bsh 中的某些内容,您可以使用“apropos”。以下是有关 bash 别名的更多信息:tldp.org/LDP/abs/html/aliases.html

以上是关于非 root 用户 从 rpm 文件安装软件包的主要内容,如果未能解决你的问题,请参考以下文章

Linux 安装 JDK 详解

pipdeb格式

CentOS下软件安装方法总结

Linux——命令行软件安装

Linux——命令行软件安装

非root用户安装软件