установка пакетов без доступа sudo

9352

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

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

11
попробуйте задать вопрос на сайте www.superuser.com или, если у вас есть вопрос на сервере, www.serverfault.com 14 лет назад 0

5 ответов на вопрос

4
Egon Willighagen

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

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

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

Я использовал этот метод, чтобы установить Atom для Джулии на моей рабочей станции. Кроме того, я создал псевдоним для атома в ~ / .bashrc: псевдоним atom = "/ путь / к / исполняемому файлу / atom / binary / file". Затем запустите: source ~ / .bashrc, вы готовы запустить атом в терминале. Good Will 6 лет назад 0
2
Tobu

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

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

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

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

0
whitequark

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

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

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

я интерпретирую вопрос о методах управления пакетами. я подозреваю, что Firefox - только пример, поэтому специфичные для Firefox методы не слишком полезны. quack quixote 14 лет назад 0
Спасибо, отредактировал пост. Информация Firefox все еще полезна через. whitequark 14 лет назад 0
0
Peter Eisentraut

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

0
rogerdpack

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

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

В любом случае для создания chroot требуются права root, так почему бы просто не установить пакеты * вместо *? Помимо этого, вероятность того, что ваш системный администратор предоставит вам полные права суперпользователя (или даже просто связанные с apt), намного, намного меньше, чем у chroot. Это (почти) не опасно для хост-системы. whitequark 14 лет назад 0

Похожие вопросы