Я подключен к полю Linux через SSH, на котором у меня нет административных привилегий. Команду, которую я хочу использовать, называют tree
, но это не установлено.
Есть ли любой способ, которым я могу загрузиться tree
программа в мой корневой каталог и выполненный это без потребности установить его в масштабе всей системы?
tree
кажется, не имеет особые зависимости (libc6), таким образом, я предполагаю, что можно просто скопировать исполняемый файл (расположенный в which tree
в другой системе с tree
установленный или альтернативно можно скомпилировать его из источника, вот домашняя страница проекта) в каталоге на поле Linux, которое Вы соединены, говорите ~/bin/
, затем просто необходимо обновить Ваш $PATH
переменная среды для добавления того каталога.
Если Вы используете Bash
вставьте это Ваш ~/.bashrc
:
PATH=$PATH:~/bin/
Примечание: Обязательно соответствуйте архитектуре и ОС.
Вы обычно создавали бы и устанавливали бы его на префиксе $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.