Установка пакета .deb в домашний каталог


31

Можно ли .debполностью установить пакет в моем домашнем каталоге на Debian?


Вы можете создать пакет deb, который можно установить где угодно. Но почему вы хотите? Пакеты должны быть установлены в систему.
Фахим Митха

5
@Faheem Mitha - У нас у всех нет root-прав на наши Unix-блоки, я точно не знаю, где я работаю. Если нам нужен пакет (в моем случае RPM) для использования некоторой части программного обеспечения, было бы неплохо, если бы мы могли установить его в пространстве пользователя, а не разговаривать с ИТ-специалистом и заставлять его устанавливать пакет в системе для нас.
Марк Бут

@FaheemMitha Еще одна вещь - тестирование новой версии пакета. Если я хочу сделать определенный пакет доступным только одному пользователю, я не буду устанавливать его в масштабе всей системы.
Эратиэль

@Erathiel Ну, это действительно случай использования для виртуальной машины.
Фахим Митха

@FaheemMitha Может быть, а может и нет;) Моим примером использования была машина разработки с несколькими пользователями, выполняющими функции среды разработки. Мне нужно было переместить пакет в новую версию только для одного конкретного пользователя, чтобы мы могли проверить, как ведет себя новая версия. Но сервер сам по себе является виртуальной машиной, так что вы отчасти правы;)
Erathiel

Ответы:


19

Это зависит от того, что вы подразумеваете под «установкой». Можно извлечь содержимое файла .deb с помощью dpkg-deb -x <filename.deb>, но можно ли использовать программное обеспечение после его локального извлечения, зависит от того, как оно написано. Многие программы Linux ожидают найти свои файлы ресурсов в стандартных местах, указанных во время компиляции, таких как /usr/shareили /usr/lib, что приведет к сбою, если программное обеспечение не установлено в обычном месте. Также любые общесистемные файлы конфигурации, установленные пакетом, такие как .desktopфайлы, которые создают записи в меню «Пуск», не будут работать должным образом, если они установлены в неправильном месте.


3
это должно бытьdpkg-deb -x app.deb /path/to/target/dir/
Qed

или просто dpkg -x app.deb / path / to / target / dir /
Эрик Аронесты

5

Спасибо за все ваши комментарии и ответы. Это был пакет программного обеспечения, в котором я хотел бы провести некоторые базовые проверки правильности упаковки. Я являюсь пользователем root на моем компьютере, но не хотел бы делать там реальную установку и не хотел бы сейчас использовать виртуальный образ. Я пришел с этим решением: https://serverfault.com/questions/23734/is-there-any-way-to-get-apt-to-install-packages-to-my-home-directory, который отлично работает для я атм.


5
@ Ивогель спрашивает: «На странице, на которую вы ссылаетесь, много постов, и я не могу сказать, какое из них подходит вам. Не могли бы вы уточнить?»
DRS

4

Обратите внимание, что использование системы пакетов Debian требует root-доступа. Таким образом, для установки пакета deb в домашний каталог пользователя требуется доступ с правами root. Если у вас есть root-доступ, тогда имеет смысл просто установить систему как обычно.

Если у вас нет доступа с правами root, вы не можете использовать систему пакетов Debian. Вы, конечно, могли бы распаковать файл deb в его компоненты и вставить его в свой домашний каталог, но это не имело бы большого смысла. Я предлагаю вам пойти с локальной установкой. В зависимости от того, какое программное обеспечение вы устанавливаете, оно может иметь какую-то внутреннюю систему управления пакетами, которую вы можете использовать.


Я не знаю, был ли он добавлен после того, как этот ответ был создан, но в dpkg есть опция --force-non-root, которую можно использовать, чтобы обойти это.
Брюс Адамс

@BruceAdams Я не вижу эту опцию в справочной странице. Можете ли вы предоставить ссылку?
Фахим Митха

Если вы запускаете dpkg --help, это упоминает --force-thing. Если вы запустите dpkg --force-help, он даст больше подробностей. См., Например, askubuntu.com/questions/193695/…
Брюс Адамс

@BruceAdams Хорошо, я вижу это, но я понятия не имею, как это будет работать not-root Try to (de)install things even when not root.
Фахим Митха

См. Мой вопрос stackoverflow.com/questions/47099045/… Однако на момент написания этого вопроса еще не было ответа. Так что я тоже понятия не имею.
Брюс Адамс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.