Разумно ли использовать пакеты Debian (.deb) для распространения нашего программного обеспечения на производственных серверах? - PullRequest
0 голосов
/ 02 ноября 2011

У нас есть различные программы и скрипты, которые мы создаем и которые нам нужно развернуть на производственных серверах Ubuntu после тестирования.Мы рассматриваем упаковку нашего программного обеспечения в файлы Debian (.deb) и используем что-то вроде apt-get или aptitude для установки программного обеспечения.

Это просто, но мне не ясно, как можно было бы выполнить откат или удалениеновые версии, которые оказываются нежелательными.Очевидным выбором является apt-get remove new-pkg, за которым следует apt-get install old-pkg, но является ли это правильным подходом?

Существуют ли особые правила, которым нужно следовать (или вещи, которых следует избегать) в postinst, prerm или postrm, чтобы помочь добиться успеха?гладко?

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

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Как apt-get, так и aptitude позволяют вам указать желаемую установленную версию:

apt-get install <your-package>=<your-version>
aptitude install <your-package>=<your-version>

Было бы целесообразно использовать это в любом случае в процессе развертывания, чтобы вы точно указали, какая версия развернута на серверах.

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

1 голос
/ 02 ноября 2011

В схеме Debian автоматические понижения обычно не учитываются. Предпочтительным способом будет новый и более высокий номер версии для фиксированной сборки (даже если «исправлено» означает «все новые функции удалены»).

Если вам абсолютно необходимо откатить обновление, вы можете рассмотреть возможность использования номера эпохи Debian для объявления нового начала в номерах версий, начиная с версии отката. Например, предположим, что версия пакета 1.2 не работает, и вам нужно спешно перейти на версию 1.1, а затем переустановить пакет debian 1.1-5 на 1: 1.1-6, что является более высоким номером версии, чем обычный 1.2-1.

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

Для postinst, prerm и postrm рассмотрите Руководство нового сопровождающего Debian .

...