Существует ли простой способ установить пакеты с большим деревом зависимостей, при условии, что у Вас нет доступа суперпользователя? Например, скажите, что я хотел установить Firefox. Firefox имеет тонну зависимостей, каждая из которых имеют их собственные зависимости, и т.д. Установка их "./настр; сделайте; сделайте установку" путем, взял бы навсегда.
Существует ли опция, которую я могу дать склонный - добираются, чтобы заставить его установить в персональном каталоге? Или существует ли способ взломать его, чтобы сделать весь тяжелый подъем для меня?
Проверьте NixOs (LWN). Пакеты изолируются (иногда, распределение должно исправить их), и может несколько раз устанавливаться, в различных версиях, или различными пользователями.
jhbuild может автоматизировать большой процесс cmmi. Но кто-то должен записать moduleset (граф зависимостей).
Если Вы идете с руководством, настраивают/делают весь процесс установки, возможно использовать, убирают для упрощения вещей установки в доме. Уберите полезно, чтобы установить вещи в нескольких префиксах, но использовать только один префикс для разрешения зависимости.
dpkg может быть принужден для установки в другом префиксе с instdir/admindir/root, но это только полезно для chroot сред.
Не компилируйте Firefox из источника, просто устанавливайте двоичный пакет в Ваш корневой каталог.
Эта статья Mozilla KnowledgeBase объясняет, как сделать это. В основном необходимо просто извлечь tarball и выполнить a firefox
файл в нем; все зависимости уже включены так, Вы ничего не должны устанавливать с apt
.
Править: Нет, нет никакого общего метода, существует, по крайней мере, потому что большинство приложений (и особенно GUI) требует большой части, она связала данные, которые будут помещены в известные местоположения как/usr/share, и это - hardcoded в нем (хорошо, она может быть настроена во время компиляции, но Вы не хотите перекомпилировать все, как Вы сказали рассматриваемый). Таким образом, просто можно проверить на предварительно скомпилированные двоичные пакеты что поиск ресурсов в каталоге запуска и не системных.
Я думаю, что ответ является в значительной степени "нет". В первую очередь, база данных пакета только доступна корнем, и во-вторых, некоторый/много пакеты имеют пути hardcoded, которые лишают возможности перемещать их. Используя chroot был бы возможный ответ, но Вы также должны поддержать это или по крайней мере кого-то с корнем, чтобы предоставить Вам ограниченные права.
Я полагаю, что необходимо сделать chroot затем, можно установить пакеты там.
касательно: https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/appendix-chroot.html https://wiki.ubuntu.com/DebootstrapChroot
Можно установить отдельные .deb файлы в корневом каталоге с:
dpkg-deb -x /path/to/some.deb $HOME
Но это не заботится о зависимостях как способность, или склонный - добираются, делает.