Как управлять программным обеспечением, которое установлено из источника?

Время от времени нам может понадобиться установить что-то из источника по разным причинам. Хотя это довольно стандартная процедура установки программного обеспечения с учетом соответствующих зависимостей, мне не совсем понятно, как управлять такой установкой для дальнейшего удобства.

Более конкретно:

  1. Что мы можем сделать, чтобы обеспечить легкое и чистое удаление (включая те зависимости, которые установлены непосредственно перед и только для программного обеспечения, установленного из источника)?

  2. Что мы можем сделать, чтобы обеспечить простое и чистое обновление того же программного обеспечения, которое, вероятно, будет снова установлено из исходного кода?

  3. Что мы можем сделать сделать, чтобы минимизировать потенциальный конфликт, если есть пакет по умолчанию (установленный с помощью apt-get), а также (более новая) версия пакета (установленная из исходного кода)?

14
задан 25 June 2014 в 02:08

4 ответа

Используя checkinstall make install создаст временный пакет и установит его. Это означает, что зарегистрировано в диспетчере пакетов и может быть удалено.

8
ответ дан 25 June 2014 в 02:08

Зависимости от сборки:

  • AFAIK они должны быть зарегистрированы вручную. Можно создать файл как README для хранения списка вручную установленных зависимостей.

  • , Если то программное обеспечение уже имеет созданный двоичный файл в репозиториях PPA или Ubuntu. Отслеживание зависимостей, в то время как установка должна легче:

    sudo apt-get build-dep target_package
    

Чистое удаление:

Сохраняют , настроил & установленная исходная папка. Лучше, если Вы собираете все источники в определенной папке с файлом установленных зависимостей.

Чистое обновление & установленная изоляция файлов:

Устанавливают их в определенном --prefix (предпочтительно --prefix=/opt/software_name-version/).

Это решит много проблем: параллельные версии с той из репозитория; чистое обновление; легче для грязного удаления в случае, если источник был удален.

[еще 1113] усложнение или лучший способ, как @muru ответ, Сборка пакет Debian (Для пакетов, доступных в репозиториях Ubuntu/PPA)

3
ответ дан 25 June 2014 в 02:08

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

Так же некоторые любят меня, создают новый подподкаталог для каждой новой версии и удаляют более старые версии только, когда она обеспечена это нет никаких значительных ошибок в новой версии, которая остановила бы мою работу.

нет никакого единственного способа сделать это, но какой бы ни способ, которым Вы выбираете, , выбирает путь, который был бы самым легким для Вас справиться .

  1. Чистое Удаление

    • я предложил бы создать rem_dep.sh сценарий, который будет похож на это.

      #! /bin/bash
      sudo apt-get remove dep1 dep2 ... depn
      

      , где dep1, dep2, depn зависимости.

  2. Чистый & простое обновление

    • , если Вы получаете исходный код от автоматизированной системы управления версиями как git или bazaar или если ссылки предсказуемы, можно создать сценарий оболочки, который будет

      #1 make a backup of earlier version
      #2 get new source
      #3 configure, build/make the source
      #5 if make went correctly, remove earlier version.
      #6 make install new version, update dependencies if required.
      
    • В других случаях также, можно создать такие сценарии с физическим трудом в некоторой степени.

  3. Управление конфликтами

    • лучший способ состоит в том, чтобы использовать --prefix опция в то время как программные обеспечения установки и там зависимости.
    • Другая важная вещь состоит в том, чтобы держать Вашу систему в курсе, чтобы минимизировать конфликты.

ПРИМЕЧАНИЕ: , Если Вы компилируете больше программного обеспечения, чем Вы, должен (установить max_limit для себя, как 5 или 10 или 100), лучше, чтобы Вы оставили Ubuntu и переместились для Выгибания Linux.

4
ответ дан 25 June 2014 в 02:08

Лучшая вещь сделать состояла бы в том, чтобы сделать пакеты Debian более новых версий самостоятельно. dpkg и эти apt инструменты делают все три вещи, которые Вы упоминаете и предназначаетесь с этой целью. Используйте их вместо того, чтобы перестроить колесо. Существует много руководств по упаковке доступного. Если программное обеспечение уже существует в репозиториях, можно, вероятно, получить исходный пакет (apt-get src), который можно использовать для исследования, и удар запускают собственный пакет.

Этот ответ на https://askubuntu.com/a/485230/158442 мог бы быть полезным как общее руководство.

, В то время как checkinstall является большим для быстрого и грязного решения, длительный срок, необходимо использовать надлежащую упаковку.

7
ответ дан 25 June 2014 в 02:08

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

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