Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 在服务器上的本地目录中安装程序包和库_Unix - Fatal编程技术网

Unix 在服务器上的本地目录中安装程序包和库

Unix 在服务器上的本地目录中安装程序包和库,unix,Unix,我已加入大学服务器:Red Hat Enterprise Linux 6.2版 我的工作是测试各种科学分析程序 我可以在本地目录中解压并运行它们。但是它们中的大多数都有很多依赖项(perl库、RE2、GNU-SL、glibc.i686)——每当我试图安装这些依赖项时,我都会遇到权限问题 所有这些软件包都需要root用户才能安装 有没有一种方法可以让我只在本地目录中安装各种不同的软件包,而不要求root用户在系统范围内安装它们 是的,但程序因包装而异。许多现代Unix软件包都有一个必须运行的con

我已加入大学服务器:Red Hat Enterprise Linux 6.2版

我的工作是测试各种科学分析程序

我可以在本地目录中解压并运行它们。但是它们中的大多数都有很多依赖项(perl库、RE2、GNU-SL、glibc.i686)——每当我试图安装这些依赖项时,我都会遇到权限问题

所有这些软件包都需要root用户才能安装


有没有一种方法可以让我只在本地目录中安装各种不同的软件包,而不要求root用户在系统范围内安装它们

是的,但程序因包装而异。许多现代Unix软件包都有一个必须运行的
configure
脚本,该脚本使用
--前缀
选项+参数指定软件包的安装位置。像
$HOME/pkg
这样的目录将是一个很好的选择。其他配置/构建/安装脚本也有类似的选项

构建具有依赖项的包时,请确保在
路径中有
$HOME/pkg/bin
,在
LD\u库路径中有
$HOME/pkg/lib
,并分别将
-I$HOME/pkg/include
-L$HOME/pkg/lib
传递给编译器和链接器。例如,将以下内容放入shell启动文件(
.bashrc
for Bash):

(您永远不应该安装glibc。)

PATH=$HOME/pkg/bin:$PATH
CFLAGS=-I$HOME/pkg/include
LDFLAGS=-L$HOME/pkg/lib
LD_LIBRARY_PATH=$HOME/pkg/lib