yur*_*ura 98 software-installation not-root-user
假设我以用户身份可以通过 ssh 访问某些 Ubuntu 服务器,并且为了方便起见,我需要安装一些非系统工具(mc、rtorrent、mcedit)。我不想为这些小程序打扰管理员。
有没有办法在不使用类似的东西的情况下安装它们(让它们运行)sudo apt-get install?
eof*_*eof 66
您需要从源代码编译这些。这应该只是一个问题
apt-get source PACKAGE
./configure --prefix=$HOME/myapps
make
make install
Run Code Online (Sandbox Code Playgroud)
然后二进制文件将位于~/myapps/bin. 因此,添加export PATH="$HOME/myapps/bin:$PATH"到您的.bashrc文件并.bashrc使用source ~/.bashrc. 当然,这假设系统上安装了 gcc。
cas*_*cas 38
编译并安装到~/bin(并编辑您.bashrc的设置PATH以包含它)。库可以类似地编译并安装到~/lib(设置LD_LIBRARY_PATH为指向它),开发头文件可以安装到例如~/includes.
根据您要安装的程序的具体细节以及它们所依赖的库,您可以下载 .deb 文件并使用“ dpkg-deb -x”将它们解压缩到您的主目录下。然后,您将有很多“有趣”设置PATH,LD_LIBRARY_PATH以及其他variables。您安装的程序或应用程序越复杂,您将获得更多乐趣:)
当然,您将无法以setuid这种方式安装二进制文件 - 它们会安装但是(因为您无权将它们切换为 root 或setuid在它们上设置位)它们只是您拥有的普通二进制文件.
同样,希望守护程序和系统服务运行作为一个特定的UID或有更改uid,或希望文件是在能力/etc相当~/etc,并且等等不太可能工作做好,如果在所有。
大多数系统管理员会考虑mc并认为mcedit是“基本无害”的无害程序。
然而,很少有人会认为安装 Torrent 客户端是无害的,特别是如果他们必须支付带宽费用或最终要承担法律责任。对于最终用户未经许可安装此类软件,大多数系统管理员可能并不完全满意。他们可能会说“当然,继续,把自己打倒”,或者他们可能不会……但是您应该询问可能会给机器所有者/管理员带来问题的任何事情。