非 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 文件安装软件包的主要内容,如果未能解决你的问题,请参考以下文章