我主要在具有帐户的Linux远程计算机上工作,但我不是root用户。我从来没有真正了解这对我安装东西的能力意味着什么。
我知道,pip install
如果添加,就可以在我的“系统的一部分”上进行操作--user
。我还看到可以在conda环境中安装东西。
我要安装tmux
。我看到我可以这样做,sudo apt-get install tmux
但是显然我不能,sudo
因为我不是root用户。我可以用其他方式安装它还是只能由系统管理员来安装?如果是后者,为什么我可以安装一些东西而不能安装其他东西?
谢谢。
pip适用于Python库等,它支持在主目录中无需root用户安装它们。apt-get用于Linux发行版的二进制软件包,它不支持此软件包,并且通常您不能在没有root用户的情况下安装二进制软件包。
到目前为止,最简单的解决方案是要求您的系统管理员或具有root用户的身份来安装tmux,这对他们而言将很容易。
如果您不能执行此操作,并且安装了编译器,则可以从源代码构建tmux,如果您还不熟悉在Linux上构建C软件,并且可能会或多或少地参与其中,那将是一个很大的问题依赖项已经安装,并且还需要从源代码构建。
要构建tmux 3.0a,您需要:一个C编译器,make,yacc或bison,libevent,ncurses。
如果您有另一个Linux盒,它的时代与您正在远程使用的Linux盒类似,并且您拥有root,那么一个不错的选择是构建一个静态tmux并将tmux二进制文件复制到您没有root的远程主机上。 -这样,您可以安装使用包管理器构建所需的所有依赖项,而无需构建它们。例如,要在Debian盒子上执行此操作,您可以执行以下操作:
sudo apt-get install build-essential bison ncurses-dev libevent-dev
wget https://github.com/tmux/tmux/releases/download/3.0a/tmux-3.0a.tar.gz
tar -zxf tmux-3.0a.tar.gz
cd tmux-3.0a
./configure --prefix=$HOME/local --enable-static
make
scp tmux myuser@myhost:~
如果您无法执行此操作,并且您的远程Linux机器上装有编译器(用选中gcc -v
)和yacc(用try yacc -V
),那么您可以先构建ncurses和libevent,这是一篇文章,向您展示如何针对稍旧的tmux进行此操作版本-如果您搜索还有很多其他文章:https : //jdhao.github.io/2018/10/16/tmux_build_without_root_priviledge/本文未提及的那是您还需要做的export LD_LIBRARY_PATH=$HOME/local/lib
除了PATH
运行tmux之外,您还可以将两个导出文件都放入Shell启动文件(.profile或.bashrc或其他文件)中。
一个好的开始是下载并解压缩tmux tarball并运行,./configure --prefix=$HOME/local
然后看看会发生什么-如果失败,它应该为您提供一个提示,说明您还需要构建什么,如果成功,则可以运行make && make install
然后从中运行tmux $HOME/local/bin/tmux
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句