Como atualizar o nginx para a versão mainline da versão estável? [duplicado]

1

Instalei o nginx 1.1.19 no meu servidor Ubuntu 12.04.

Agora quero atualizá-lo para 1.7.6, incluo nginx_signing.key e apt source para nginx e, em seguida, execute sudo apt-get install --only-upgrade nginx . Mas eu recebi este erro:

The following packages were automatically installed and are no longer required:
  libjpeg8 libgd2-noxpm nginx-full libjpeg-turbo8 nginx-common
Use 'apt-get autoremove' to remove them.
The following packages will be upgraded:
  nginx
1 upgraded, 0 newly installed, 0 to remove and 168 not upgraded.
Need to get 0 B/466 kB of archives.
After this operation, 904 kB of additional disk space will be used.
(Reading database ... 47117 files and directories currently installed.)
Preparing to replace nginx 1.1.19-1ubuntu0.6 (using .../nginx_1.7.6-1~precise_i386.deb) ...
Unpacking replacement nginx ...
dpkg: error processing /var/cache/apt/archives/nginx_1.7.6-1~precise_i386.deb (--unpack):
 trying to overwrite '/usr/sbin/nginx', which is also in package nginx-full 1.1.19-1ubuntu0.6
No apport report written because MaxReports is reached already
                                                              dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/nginx_1.7.6-1~precise_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Qual é o problema e como consertar isso?

    
por Tony Han 09.10.2014 / 14:01

1 resposta

4

Você provavelmente está tentando usar os repositórios de origem upstream do nginx. Infelizmente, esses pacotes não funcionarão se você estiver apenas tentando atualizar os pacotes e obter as mesmas coisas que o Ubuntu / Debian.

A equipe NGINX (ou melhor, eu mais ou menos) mantém um PPA da ramificação Mainline do nginx e usa o pacote Debian como base para o empacotamento. Esse PPA está localizado aqui . Você pode adicioná-lo com sudo add-apt-repository ppa:nginx/development e, em seguida, poderá fazer apenas sudo apt-get update; sudo apt-get upgrade e ele será atualizado para a versão Mainline no PPA Mainline.

Os erros de instalação que você está recebendo são porque os pacotes no Ubuntu não gostam dos pacotes do Upstream, pois não são empacotados da mesma maneira e entraram em conflito uns com os outros no passado. Ao aderir aos PPAs em vez dos repositórios upstream do nginx.org, você não encontrará essa falha de atualização.

    
por Thomas Ward 09.10.2014 / 23:26