11

Существует ли простой способ установки пакетов с большим деревом зависимостей при условии, что у вас нет прав суперпользователя? Например, скажем, я хотел установить Firefox. У Firefox есть множество зависимостей, каждая из которых имеет свои собственные зависимости и т.д. Установка этих способов "./configure; make; make install" заняла бы вечность.

Могу ли я дать apt-get возможность установить его в личном каталоге? Или есть способ взломать его, чтобы сделать всю тяжелую работу для меня?

5 ответов5

4

Вы можете установить отдельные файлы .deb в свой домашний каталог с помощью:

dpkg-deb -x /path/to/some.deb $HOME

Но это не заботится о таких зависимостях, как aptitude или apt-get.

2

Проверьте NixOs (LWN). Пакеты изолированы (иногда дистрибутив должен их исправлять) и могут быть установлены несколько раз, в разных версиях или разными пользователями.

jhbuild может автоматизировать большой процесс CMMI. Но кто-то должен написать набор модулей (граф зависимостей).

Если вы собираетесь выполнить процесс ручной настройки / установки всех параметров, можно использовать stow для упрощения установки вещей в вашем доме. Stow полезен для установки нескольких префиксов, но для разрешения зависимостей используется только один префикс.

dpkg можно принудительно установить в другом префиксе с помощью instdir/admindir/root, но это полезно только для сред chroot.

0

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

0

Я считаю, что вы должны сделать chroot, тогда вы можете установить свои пакеты там.

ссылка:https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/appendix-chroot.html https://wiki.ubuntu.com/DebootstrapChroot

0

Не компилируйте Firefox из исходного кода, просто установите бинарный пакет в свой домашний каталог.

В этой статье базы знаний Mozilla объясняется, как это сделать. По сути, вам нужно просто распаковать архив и запустить в нем файл firefox ; все зависимости уже включены, поэтому вам не нужно ничего устанавливать с apt .

РЕДАКТИРОВАТЬ: Нет, универсального метода не существует, по крайней мере, потому что большинство приложений (и особенно GUI) требуют, чтобы большая часть связанных с ними данных была размещена в хорошо известных местах, таких как /usr /share, и они жестко закодированы в ней (хорошо, это может быть настроено во время компиляции, но вы не хотите перекомпилировать все, как вы сказали в вопросе). Таким образом, вы можете просто проверить предварительно скомпилированные бинарные пакеты, которые ищут ресурсы в каталоге запуска, а не системные.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .