Как установить пакет без доступа root?

85

У меня нет доступа root на этом компьютере.

Я хотел бы знать, есть ли способ, которым я могу загрузить пакеты Ubuntu и устанавливать их как не root?

Возможно, в моем ~/bin или ~/usr/share или что-то в этом роде? Будет ли это работать?

    
задан Weboide 29.07.2010 в 13:17
источник

3 ответа

85

Apt не поддерживает его напрямую, но есть способы сделать это.

Один из них заключается в том, чтобы использовать schroot для создания корневого корня. Это несколько вовлеченный процесс , но вы должны найти помощь сообщества, так как многие разработчики настраивают среды chroot для компиляции код.

Второй способ, который я знаю, - установить из пакета .deb. Вы можете загрузить это с веб-сайта или если он находится в репозиториях Ubuntu, которые вы можете скачать с помощью.

apt-get download package

Замените package на имя пакета

После того, как ваш deb-файл вызовет dpkg непосредственно из командной строки. Следующий пример установит package.deb в ваш домашний каталог.

dpkg -i package.deb --force-not-root --root=$HOME 

Недостатком использования dpkg является то, что сообщения об ошибках могут быть загадочными; dpkg автоматически не разрешает зависимости или не создает структуру каталогов, которую он ожидает.

Наконец, вы можете использовать команду apt-get source для извлечения источника пакета и его настройки для локального использования. Обычно это выглядит примерно так:

apt-get source package
cd package
./configure --prefix=$HOME
make
make install

Недостатком этого подхода является то, что для этого подхода вам нужна среда разработки, для которой этот подход вообще работает, и вы можете найти компиляцию десятков пакетов для решения всех зависимостей.

    
ответ дан jbowtie 29.07.2010 в 13:56
источник
13

Я предполагаю, что вы хотите установить jedit . Сначала вам нужно найти пакет и загрузить его. Я просто беру файл deb из некоторого зеркала и откройте консоль / терминал:

  1. mkdir /tmp/jedit && cd /tmp/jedit - Создает новую директиву в tmp и меняет ее.
  2. wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb - Загрузить пакет
  3. ar x jedit_4.3.1.dfsg-0ubuntu1_all.deb или, легко набирать, ar x *.deb - извлекает содержимое файла
  4. tar xvzf data.tar.gz - файл data.tar.gz имеет все, что вам нужно для выполнения программного обеспечения.
  5. usr/bin/jedit открывает редактор
  6. done: -)

Вы можете переместить файлы в какой-то момент в своем домашнем каталоге и выполнить их оттуда.     

ответ дан qbi 29.07.2010 в 13:32
7

Я написал программу под названием JuJu , которая в основном позволяет иметь действительно крошечный дистрибутив Linux (содержащий только менеджер пакетов) внутри вашего $ HOME / .juju.

Это позволяет настроить вашу пользовательскую систему внутри домашнего каталога через proot и, следовательно, вы можете установить любые пакеты без привилегий root. Он будет корректно работать со всеми основными дистрибутивами Linux, единственным ограничением является то, что JuJu может работать на ядре Linux с минимальной рекомендуемой версией 2.6.32.

Например, после установки JuJu для установки jedit:

$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit
    
ответ дан user967489 02.11.2014 в 19:17