Встановлення пакета .deb у домашній каталог


31

Чи можна встановити .debпакет повністю під моїм домашнім каталогом на debian?


Ви можете створити пакет дебюту, який встановлюється в будь-якому місці. Але чому б ти цього хотів? Передбачається, що пакети будуть встановлені в систему.
Faheem Mitha

5
@Faheem Mitha - У всіх нас немає кореневого доступу до наших знав ящиків Unix, я точно не знаю, де я працюю. Якщо нам потрібен пакет (RPM в моєму випадку) для використання якогось програмного забезпечення, було б добре, якби ми могли встановити його в просторі користувача, а не розмовляти з ІТ та змусити їх встановити пакет в системі для нас.
Марк Бут

@FaheemMitha Інша справа - тестування нової версії пакету. Якщо я хочу зробити певний пакет доступним лише для одного користувача, я не продовжую його встановлювати у всій системі.
Ератьєль

@Erathiel Ну, це справді випадок використання для віртуальної машини.
Faheem Mitha

@FaheemMitha Можливо, а може й ні;) Моя ситуація використання була машиною для розробки з кількома користувачами, які виконували роль середовища розробки. Мені потрібно було зібрати пакет на нову версію лише для одного конкретного користувача, щоб ми могли перевірити, як поводиться нова версія. Але сам сервер - це віртуальна машина, тому ви частково праві;)
Ератьєль

Відповіді:


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 / шлях / до / target / dir /
Ерік Аронесті

5

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


5
@Ivogel запитує "Сторінка, на яку ви пов’язали, має багато публікацій, і я не можу сказати, яке саме рішення вирішило для вас. Чи можете ви вкажіть?"
вр

4

Зауважте, що для використання пакетної системи Debian потрібен кореневий доступ. Отже, встановлення пакету deb у домашній каталог користувачів вимагає кореневого доступу. Якщо у вас є кореневий доступ, то має сенс просто встановити в систему як звичайне.

Якщо у вас немає кореневого доступу, ви не можете використовувати систему упаковки Debian. Ви, безумовно, можете розпакувати файл deb у його складові частини та вставити його у свій домашній каталог, але робити це мало б сенсу imo. Я пропоную вам перейти з локальною установкою. Залежно від того, яке програмне забезпечення ви встановлюєте, це програмне забезпечення може мати якусь внутрішню систему управління пакетами, яку ви можете використовувати.


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

@BruceAdams Я не бачу цієї опції, зазначеної на сторінці man. Чи можете ви надати довідку?
Faheem Mitha

Якщо ви запускаєте dpkg --help - це сила. Якщо ви запускаєте dpkg --force-help, він дає більше деталей. Дивіться, наприклад, askubuntu.com/questions/193695/…
Брюс Адамс

@BruceAdams Добре, я це бачу, але я поняття не маю , як це буде працювати: not-root Try to (de)install things even when not root.
Faheem Mitha

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