2

Обычно я использую apt-get но apt-get может устареть.

Кажется, что довольно хорошим решением может быть получение исходного кода для моего программного обеспечения (например, nginx) из github а затем сборка его каждый раз.

Есть ли причина, по которой это может быть не очень хорошей идеей?

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

2 ответа2

3

Сначала вы должны осмотреться, вы можете найти ppa с новой версией. Это самый простой способ.

В случае, если нет:

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

Чтобы избежать этого, есть 2 решения:

  1. Создавайте только исходный код и используйте двоичные файлы локально, но это означает, что вы должны написать свой собственный сервис init или upstart для него, если вы хотите обрабатывать их правильно.
  2. На мой взгляд, самое лучшее: получить версию исходного кода для репозитория с помощью apt-get source, перезаписать его новым источником и собрать его способом debian. Существует довольно хороший учебник по сборке пакетов здесь. Единственным недостатком является то, что если есть какие-то изменения в процессе сборки, вы должны внести изменения и в сценарии debian.

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

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

3

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

Представлять новое программное обеспечение таким способом рискованно. Да, заманчиво быть в курсе последних версий программного обеспечения. Противоположная стратегия не обновлять программное обеспечение может привести к тому, что системы с программным обеспечением будут работать десять или даже двадцать лет назад. Это действительно происходит с реальными производственными системами.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .