Я собрал и установил собственную сборку nginx, чтобы добавить модуль, который не поставляется со встроенной версией. Пример:
apt-get build-dep nginx
apt-get source nginx
cd nginx-1.6.2
# ... add module flag to debian/rules
dpkg-buildpackage -us -uc
dpkg -i ../nginx-full_1.6.2-5+deb8u2_amd64.deb
Теперь, когда я использую dpkg -l '*nginx*', чтобы показать, какой nginx я установил, я вижу:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==================-==============-==============-=========================================
un nginx <none> <none> (no description available)
ii nginx-common 1.6.2-5+deb8u2 all small, powerful, scalable web/proxy serve
un nginx-doc <none> <none> (no description available)
un nginx-extras <none> <none> (no description available)
ii nginx-full 1.6.2-5+deb8u2 amd64 nginx web/proxy server (standard version)
un nginx-light <none> <none> (no description available)
Мое беспокойство в том, что если upstream выпустит новую небольшую версию nginx, автоматические обновления заменят мою самокомпилированную версию с помощью бинарного файла distro, у которого нет моего настраиваемого модуля, скомпилированного. Будет ли это случаться? Если да, есть ли способ предотвратить это?