У меня нет root-доступа на этой машине.
Я хотел бы знать, есть ли способ загрузить пакеты Ubuntu и установить их без полномочий root?
Возможно , в моем ~/binили ~/usr/shareили что - то в этом роде? Будет ли это работать?
У меня нет root-доступа на этой машине.
Я хотел бы знать, есть ли способ загрузить пакеты Ubuntu и установить их без полномочий root?
Возможно , в моем ~/binили ~/usr/shareили что - то в этом роде? Будет ли это работать?
Ответы:
Apt не поддерживает это напрямую, но есть способы сделать это.
Одним из них является использование schrootдля создания не-root chroot. Это довольно сложный процесс , но вы сможете найти помощь сообщества, так как многие разработчики настраивают среды 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
Недостаток этого подхода состоит в том, что вам нужна среда разработки, доступная для этого подхода, чтобы работать вообще, и вы можете скомпилировать десятки пакетов, чтобы разрешить все зависимости.
РЕДАКТИРОВАТЬ:
Поскольку dpkg -iне работает (см. Комментарии), я предлагаю эту альтернативу:
dpkg -x package.deb dir
Это извлечет пакет .deb в каталог. Затем вы можете экспортировать путь, где находится двоичный файл. Пока все зависимости двоичного файла установлены, он должен работать как обычно.
sudo apt-get build-dep packageдля установки все необходимое для сборки пакета (после получения его исходного кода apt-get source).
--force-not-root --root=$HOMEили их варианты не будут работать. Двоичные пакеты Debian не предназначены для установки в домашний каталог, точка. Или, говоря по-другому. Msgstr "Следующий пример установит package.deb в ваш домашний каталог." Нет не будет
--force-not-root --root=/your/custom/path
Я полагаю, вы хотите установить Jedit . Сначала вы должны найти пакет и скачать его. Я просто беру файл deb из какого-то зеркала и открываю консоль / терминал:
mkdir /tmp/jedit && cd /tmp/jedit- Создает новую директорию tmpи меняет ее.wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb - Скачать пакетar x jedit_4.3.1.dfsg-0ubuntu1_all.debили, легко набрать, ar x *.deb- это извлекает содержимое файлаtar xvzf data.tar.gz- файл data.tar.gzсодержит все, что вам нужно для запуска программного обеспеченияusr/bin/jedit открывает редакторВы можете переместить файлы в какую-то точку вашего домашнего каталога и выполнить их оттуда.
Я написал программу под названием JuJu, которая в основном позволяет иметь очень маленький дистрибутив linux (содержащий только менеджер пакетов) внутри вашего каталога $ HOME / .juju.
Это позволяет иметь собственную систему внутри домашнего каталога, доступную через proot, и, следовательно, вы можете устанавливать любые пакеты без прав root. Он будет работать корректно во всех основных дистрибутивах Linux, единственное ограничение - JuJu может работать на ядре Linux с минимальной рекомендуемой версией 2.6.32.
Например, после установки JuJu для установки jedit:
$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit