我是否可以在不安装系统范围的前提下使用命令(例如“tree”)?

我是否可以在不安装系统范围的前提下使用命令(例如“tree”)?

我通过 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 权限。

相关内容