Я могу использовать команду (такую как “дерево”), не устанавливая его в масштабе всей системы?

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

Есть ли любой способ, которым я могу загрузиться tree программа в мой корневой каталог и выполненный это без потребности установить его в масштабе всей системы?

4
задан 20.09.2010, 02:50

2 ответа

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

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

PATH=$PATH:~/bin/

Примечание: Обязательно соответствуйте архитектуре и ОС.

3
ответ дан 07.12.2019, 19:30

Вы обычно создавали бы и устанавливали бы его на префиксе $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.

3
ответ дан 07.12.2019, 19:30

Теги

Похожие вопросы