如何构建没有sudo权限的应用程序?

我需要在Ubuntu 9.10服务器上设置什么,以便用户可以构建所选择的应用程序(即./configure,make&&make install),而不需要sudo / admin权限。

我只是觉得有一点安全风险,不得不让用户访问他们可能不需要的系统部分来构建应用程序。

如果您的用户使用

./configure --prefix=/home/user/opt/ 

或者对于cmake项目

 cmake -D CMAKE_INSTALL_PREFIX:PATH=/home/user/opt/ ../source/ 

这将在该前缀(而不是默认的/ usr / local /)中安装程序,然后您的用户应该能够像这样运行程序:

 /home/user/opt/bin/program 

如果您希望它们能够通过简单地使用名称(没有完整路径)来运行程序,则需要将/home/user/opt/bin到路径环境变量中,编辑用户.profile并添加以下行:

 export PATH=/home/user/opt/bin:$PATH 

请注意,以这种方式安装的程序对于特定用户来说是私有的,但这是一种方法

用户可以构建没有sudo权限的应用程序。 您需要sudo权限的唯一时间是您想要在系统目录中安装某些东西。

./configure make工作始终没有sudo权利。 make install通常需要sudo权限,因为它会将应用程序安装到/usr/local/usr (有时是/opt )。

但是,如果以安装将在用户主目录树中执行的方式更改安装路径的前缀(即./configure --prefix=~/usr/local ),则make install不需要sudo权限。

除了txwikinger所说的内容之外,您可能还需要检查fakeroot ,这样就可以在不需要提升权限的情况下使用dpkg构建.deb软件包。 当然,安装那些通常需要sudo访问。