我已编译并安装了自己的版本,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)
我担心的是,如果上游发布了 nginx 的新次要版本,无人值守升级将用未编译我的自定义模块的发行版二进制文件替换我自己编译的版本。会发生这种情况吗?如果是这样,有什么办法可以防止它吗?
答案1
您始终可以通过以下方式冻结软件包版本
sudo apt-mark hold nginx-common nginx-full
这些包将不会被更新。