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


11

Чи є простий спосіб встановити пакети з великим деревом залежності, за умови, що у вас немає доступу суперпользователя? Наприклад, скажіть, що я хотів встановити firefox. Firefox має тону залежностей, у кожної з яких є свої залежності і т. Д. Встановлення цих способів "./configure; make; make install" займе назавжди.

Чи є опція, яку я можу дати apt-get, щоб він встановив її в особистому каталозі? Або є спосіб зламати це, щоб зробити весь важкий підйом для мене?


спробуйте запитати на www.superuser.com або якщо серверне питання спеціально www.serverfault.com

Відповіді:


4

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

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

Але це не піклується про такі залежності, як здатність чи спритність.


Я використовував цей метод, щоб встановити атом для Джулії на своїй робочій станції. Крім того, я зробив псевдонім для атома в ~ / .bashrc: alias atom = "/ шлях / до / виконуваного / atom / binary / file". Потім запустіть: source ~ / .bashrc, ви готові запустити атом у терміналі.
Добрий Буде

2

Ознайомтеся з NixO ( LWN ). Пакети є ізольованими (іноді дистрибутиву потрібно виправити їх) і можуть бути встановлені кілька разів, у різних версіях або різними користувачами.

jhbuild може автоматизувати великий процес cmmi. Але комусь потрібно написати набір модулів (графік залежності).

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

dpkg може бути примушений встановлювати інший префікс з instdir / admindir / root, але це корисно лише для середовищ chroot.


0

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

Ця стаття Mozilla KnowledgeBase пояснює, як це зробити. В основному вам потрібно просто витягнути тарбол і виконати в ньому firefoxфайл; всі залежності вже включені, тому вам не потрібно нічого встановлювати apt.

EDIT: Ні, немає загального методу, хоча б тому, що для більшості додатків (і особливо для GUI) потрібна значна частина пов'язаних з ним даних, щоб розміщуватись у відомих місцях, таких як / usr / share, і це жорстко кодується в ньому (ну, його можна налаштувати під час компіляції, але ви не хочете перекомпілювати все так, як ви сказали в питанні). Таким чином, ви просто можете перевірити наявність попередньо складених бінарних пакетів, які шукають ресурси в каталозі запуску, а не в системних.


Я трактую питання про практику управління пакунками. я підозрюю, що Firefox - лише приклад, тому специфічні для Firefox методи не надто корисні.
квакш-кіхот

Дякую, відредагував публікацію. Інформація Firefox все ще корисна.
whitequark

0

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


0

Я вважаю, що ви повинні зробити chroot, щоб ви могли там встановити свої пакунки.

посилання: https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/appendix-chroot.html https://wiki.ubuntu.com/DebootstrapChroot


кореневі привілеї все одно необхідні для створення chroot, то чому б не просто встановити пакунки замість цього ? Крім цього, шанси, що ваш sysadmin надасть вам повні кореневі привілеї (або навіть лише пов'язані з apt), набагато, набагато менше, ніж для chroot. Це (майже) не небезпечно для хост-системи.
whitequark
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.