Установка пакетов в локальный каталог?

Я хотел бы установить программные пакеты, похожие на apt-get install , но: Без sudo и в локальный каталог

Цель этого упражнения - изолировать независимые сборки на моем сервере непрерывной интеграции.

Я не против компиляции из источника, если это то, что нужно, но, очевидно, я предпочел бы самый простой подход. Я пробовал apt-get source --compile , как упомянуто непрерывное интеграция , но я не могу заставить его работать с пакетами, такими как autoconf. Я получаю следующую ошибку:

dpkg-checkbuilddeps: Unmet build dependencies: help2man

У меня есть help2man, скомпилированный в локальном каталоге, но я не знаю, как сообщить apt-get об этом. Любые идеи?

UPDATE: я нашел ответ, который почти работает на https://askubuntu.com/a/350/23678. Проблема с chroot в том, что она требует sudo. Проблема с apt-get source в том, что я не знаю, как разрешать зависимости. Должен сказать, chroot выглядит очень привлекательно. Есть ли эквивалентная команда, которая не требует sudo?

1
задан 13 April 2017 в 15:24

1 ответ

, используя оболочку bash и приобретая файл package.deb (при условии, что имя пакета является «пакетом»), вы можете выполнить следующую команду, чтобы выполнить то, что вы хотите - установить пакет, чтобы ваш домашний каталог обрабатывался одинаково way [/ d]]

Это команда:

apt-get download package; dpkg -i --force-not-root --root=$HOME package.deb

Вы можете столкнуться с некоторыми ошибками, такими как $ HOME / var / lib / dpkg / lock отсутствует, поэтому просто создайте все недостающие файлы, которые вы получите от ошибок, а затем установка должна работать без sudo.

заметили, что если «apt-get download» не работает, вы можете попробовать «apt download» или «apitutde download package».

Если ни один из методов не работает, вы можете просто загрузить пакет вручную из http://packages.ubuntu.com/

другого метода было бы запустить команду chroot с параметром $ HOME, а затем установить тот же путь, что и выше, без --root = $ HOME. эта команда приведет вас в оболочку, где «/» - это ваш текущий $ HOME. чтобы вернуться в нормальный режим, не забудьте «выйти»

удачи.

10
ответ дан 25 May 2018 в 06:05
  • 1
    После создания отсутствующих файлов dpkg жаловался, он просто начал segfault. – Matt Chambers 13 November 2017 в 22:05

Другие вопросы по тегам:

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