Я в настоящее время сам компиляция nginx пакета с помощью следующего:
sudo apt-get build-dep nginx-extras
sudo apt-get install build-essential
apt-get source nginx-extras
cd nginx
<add some custom module here>
dpkg-buildpackage -us -uc
sudo dpkg -i nginx-extras_1.10.0-0ubuntu0.16.04.4_amd64.deb
sudo apt-mark hold nginx-extras
Я делаю это, потому что я должен установить некоторые пользовательские модули - однако после выполнения этого, apt-get upgrade
указывает, что существует обновление для nginx, который оно применило бы если apt-mark hold
не были в действительности. Я думал, что просто скомпилировал последнюю версию, итак, почему она хочет обновить??
Проблема, которую я имею здесь, состоит в том, что я использую apticron, который посылает мне электронное письмо каждый день, указывая, что я не обновил пакеты, когда у меня на самом деле есть последнее.
Править: Некоторый дополнительный вывод:
$ sudo apt-get upgrade --simulate
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
nginx-extras
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Inst nginx-extras [1.10.0-0ubuntu0.16.04.4] (1.10.0-0ubuntu0.16.04.4 Ubuntu:16.04/xenial-updates, Ubuntu:16.04/xenial-security [amd64])
Conf nginx-extras (1.10.0-0ubuntu0.16.04.4 Ubuntu:16.04/xenial-updates, Ubuntu:16.04/xenial-security [amd64])
и
$ sudo apt-cache policy nginx-extras
nginx-extras:
Installed: 1.10.0-0ubuntu0.16.04.4
Candidate: 1.10.0-0ubuntu0.16.04.4
Version table:
1.10.0-0ubuntu0.16.04.4 500
500 http://mirrors.digitalocean.com/ubuntu xenial-updates/universe amd64 Packages
500 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages
*** 1.10.0-0ubuntu0.16.04.4 100
100 /var/lib/dpkg/status
1.9.15-0ubuntu1 500
500 http://mirrors.digitalocean.com/ubuntu xenial/universe amd64 Packages
Вы можете переопределить проверку с подходящим предпочтением. Например (измените выпуск в зависимости от обстоятельств): Создать в /etc/apt/preferences.d/nginx-custom
Package: nginx
Pin: release n=yakkety
Pin-Priority: -1
# This will cause nginx to be ignored and use the locally compiled version only
Я использую эту технику с пользовательской компиляцией ffmpeg
, аналогичной вашей nginx
необходимости.