4

Я подключен к системе Linux через SSH, на которой у меня нет прав администратора. Команда, которую я хочу использовать, называется tree, но она не установлена.

Можно ли как-нибудь загрузить программу tree в свой домашний каталог и запустить ее без необходимости установки всей системы?

3 ответа3

3

Кажется, у tree нет определенных зависимостей (libc6), поэтому я думаю, вы можете просто скопировать исполняемый файл (расположенный в which tree в другой системе с установленным tree или же вы можете скомпилировать его из исходного кода, вот домашняя страница проекта ) в каталоге на коробке Linux, к которой вы подключены, скажем ~/bin/ , тогда вам просто нужно обновить переменную среды $PATH чтобы добавить этот каталог.

Если вы используете Bash поместите это в ваш ~/.bashrc:

PATH=$PATH:~/bin/

Примечание. Убедитесь в соответствии архитектуры и ОС.

3

Обычно вы собираете и устанавливаете его с префиксом $HOME . Это означает, что двоичный файл будет помещен в $HOME/bin , библиотеки - в $HOME/lib и так далее. Затем вы гарантируете, что эти каталоги появляются в $PATH , $LD_LIBRARY_PATH , $MAN_PATH и т.д. (Обычно путем редактирования файлов запуска оболочки), и они будут работать прозрачно.

Вот рецепт, который будет работать со многими программами

$ 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.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .