Atualizando o servidor Nginx para 1.10 no Debian 8.4

3

Acabei de instalar a última versão do Debian (8.4) em uma máquina virtual, e tudo correu bem.

Eu então instalei o servidor nginx dos repositórios Debian e obtive a versão 1.6.2, enquanto a última versão disponível é a 1.10, então eu gostaria de atualizá-la.

A maneira como tentei fazer isso talvez esteja errada, mas é tudo que encontrei até agora.

Primeiramente, atualizei meus repositórios adicionando o repositório nginx ao arquivo sources.list dessa maneira:

$ sudo sh -c "echo 'deb http://nginx.org/packages/debian/ 'lsb_release -cs' nginx' >> /etc/apt/sources.list"
$ sudo sh -c "echo 'deb-src http://nginx.org/packages/debian/ 'lsb_release -cs' nginx' >> /etc/apt/sources.list"
$ curl http://nginx.org/keys/nginx_signing.key | apt-key add -
$ sudo apt-get update

Então, tentei instalar a versão mais recente do nginx com este comando:

$ sudo apt-get install nginx

E eu recebo este problema:

root@Debian:/#LANG=C apt-get install nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
    nginx-common nginx-full
Use 'apt-get autoremove' to remove them.
The following packages will be upgraded:
    nginx
1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/739 kB of archives.
After this operation, 2421 kB of additional disk space will be used.
Reading changelogs... Done
(Reading database ... 140333 files and directories currently installed.)
Preparing to unpack .../nginx_1.10.0-1~jessie_i386.deb ...
Unpacking nginx (1.10.0-1~jessie) over (1.6.2-5+deb8u1) ...
dpkg: error processing archive /var/cache/apt/archives/nginx_1.10.0-1~jessie_i386.deb (--unpack): trying to overwrite '/etc/default/nginx', which is also in package nginx-common 1.6.2-5+deb8u1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
    /var/cache/apt/archives/nginx_1.10.0-1~jessie_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Como posso resolver isso?

    
por Julo0sS 18.05.2016 / 13:37

1 resposta

7

O erro básico é este (ênfase minha):

dpkg: error processing archive /var/cache/apt/archives/nginx_1.10.0-1~jessie_i386.deb (--unpack): trying to overwrite '/etc/default/nginx', which is also in package nginx-common 1.6.2-5+deb8u1

Isso significa que o novo pacote que você está instalando está tentando sobrescrever um arquivo fornecido por outro pacote (seu nginx-common instalado) e dpkg tem medo de quebrar coisas e se recusar a fazê-lo.

A solução simples é remover completamente nginx-common packages e depois instalar a nova versão novamente:

sudo apt-get purge nginx-common
sudo apt-get install nginx
    
por 18.05.2016 / 13:58