如果我使用 dpkg 安装自编译包,它会被无人值守升级破坏吗?

如果我使用 dpkg 安装自编译包,它会被无人值守升级破坏吗?

我已编译并安装了自己的版本,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

这些包将不会被更新。

相关内容