У меня нет root-доступа на этой машине.
Я хотел бы знать, есть ли способ, которым я могу загрузить пакеты Ubuntu и установить их как не root?
Возможно, в моем ~/bin
или ~/usr/share
или что-то вроде этого? Это сработает?
Apt не поддерживает его напрямую, но есть способы сделать это.
Для создания не корневого chroot нужно использовать schroot
. Это несколько задействованный процесс, но вы должны найти помощь сообщества для стольких разработчиков, которые устанавливают chroot-окружения для компиляции кода.
Второй известный мне способ - установка из пакета .deb. Вы можете загрузить его с веб-сайта или если он находится в репозиториях Ubuntu, с помощью которого вы можете скачать его.
apt-get download 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
Недостатком этого подхода является то, что для работы этого подхода вам вообще нужна доступная среда разработки, и вы можете столкнуться с компиляцией десятков пакетов для разрешения всех зависимостей.
EDIT:
Поскольку dpkg -i
не работает (см. комментарии), я предлагаю следующую альтернативу:
dpkg -x package.deb dir
Это извлечёт пакет .deb в dir. Затем вы можете экспортировать 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
открывается редакторВы можете переместить файлы в какую-нибудь точку своего домашнего каталога и выполнять их оттуда.