我通过 SSH 连接到 Linux 机器,但我没有管理权限。我希望使用的命令是tree
,但尚未安装。
有什么方法可以让我将该tree
程序加载到我的主目录中并运行它,而不需要在系统范围内安装它?
答案1
tree
似乎没有特定的依赖项(libc6),所以我想您可以简单地复制可执行文件(位于已安装的which tree
另一个系统上tree
,或者您可以从源代码编译它,这里's 项目主页)位于您所连接的 Linux 机器上的一个目录中,比如说~/bin/
,那么您只需更新您的$PATH
环境变量来添加该目录。
如果你正在使用,Bash
请将其放入你的~/.bashrc
:
PATH=$PATH:~/bin/
笔记:确保架构和操作系统匹配。
答案2
cd $HOME
# download latest tree source to home directory
wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz
# unpack
tar xzfv tree-1.7.0.tgz
cd tree-1.7.0/
make
# install to $HOME directory
make install prefix=$HOME/bin
# this will create folders bin, and man
cd $HOME
# remove original source folder
rm -rf tree-1.7.0
# run tree
$HOME/bin/tree
# view man page
$HOME/man tree
答案3
您通常会在前缀 上构建和安装它$HOME
。这意味着二进制文件将进入$HOME/bin
,库将进入$HOME/lib
等等。然后,您确保这些目录出现在$PATH
、$LD_LIBRARY_PATH
、$MAN_PATH
等上(通常通过编辑 shell 启动文件),它将透明地工作。
这是一个适用于许多程序的配方
$ cd $HOME
$ mkdir src
$ cd src
$ wget http://host.name/path/to/program.tgz
$ tar xzfv program.tgz
$ cd program
$ ./configure --PREFIX=$HOME
$ make
$ make install
请注意,与安装不同,/usr/local
不需要 root 权限。