Время от времени нам может понадобиться установить что-то из источника по разным причинам. Хотя это довольно стандартная процедура установки программного обеспечения с учетом соответствующих зависимостей, мне не ясно, как управлять такой установкой для дальнейшего удобства.
Более конкретно:
Что мы можем сделать, чтобы обеспечить легкое и чистое удаление (включая те зависимости, которые установлены непосредственно перед и только для программного обеспечения, установленного из источника)?
Что мы можем сделать, чтобы обеспечить простое и чистое обновление того же программного обеспечения, которое, вероятно, будет снова установлено из исходного кода?
Что мы можем сделать, чтобы минимизировать потенциальный конфликт, если есть пакет по умолчанию (установленный с помощью apt-get), а также (более новая) версия пакета (установленная из исходного кода)?
apt-get src
вероятно, не может помочь в таких случаях.Прежде всего, многое зависит от того, как вы управляете своими исходными кодами. Я
~/sources
создаю каталог как и помещаю каждую программу в ее подкаталоги, в то время как другие создают новый каталог для каждой программы.Точно так же, как я, создайте новый подкаталог для каждой новой версии и удаляйте старые версии только тогда, когда гарантировано, что в новой версии нет существенных ошибок, которые остановили бы мою работу.
Нет единого способа сделать это, но какой бы способ вы ни выбрали, выберите способ, которым вам будет легче управлять .
Чистая Деинсталляция
Я бы предложил создать
rem_dep.sh
скрипт, который бы выглядел следующим образом.где
dep1, dep2, depn
зависимости.Чистое и простое обновление
если вы получаете исходный код из автоматизированной системы управления версиями, такой как
git
или,bazaar
или если ссылки предсказуемы, вы можете создать сценарий оболочки, который будетВ других случаях вы также можете создавать такие сценарии с ручной работой в некоторой степени.
Управление конфликтами
--prefix
опцию при установке программного обеспечения и зависимостей.источник
Построить зависимости:
AFAIK они должны быть записаны вручную. Вы можете создать файл, такой как README, чтобы хранить список установленных вручную зависимостей.
Если это программное обеспечение уже имеет встроенный двоичный файл в репозиториях Ubuntu или PPA. Отслеживание зависимостей при установке должно быть проще:
Чистая деинсталляция:
Сохраните настроенную и установленную исходную папку. Лучше, если вы соберете все источники в определенную папку с файлом установленных зависимостей.
Чистое обновление и изоляция установленных файлов:
Установите их по-особенному
--prefix
(желательно--prefix=/opt/software_name-version/
).Это решит многие проблемы: параллельные версии с версией из репозитория; чистое обновление; проще для грязного удаления в случае, если источник был удален.
Более сложный или лучший способ, как ответ @muru, Сборка пакета Debian (для пакетов, доступных в репозиториях Ubuntu / PPA)
источник