Erro ao instalar o Apache2 [duplicado]

1

Durante a instalação do Apache2, recebo a seguinte saída:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 apache2 : Depends: apache2-bin (= 2.4.7-1ubuntu4.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Out put da política do apt-cache apache2 apache2-bin

apache2:
  Installed: (none)
  Candidate: 2.4.7-1ubuntu4.4
  Version table:
     2.4.7-1ubuntu4.4 0
        500 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
apache2-bin:
  Installed: (none)
  Candidate: 2.4.7-1ubuntu4.4
  Version table:
     2.4.7-1ubuntu4.4 0
        500 http://in.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages

Como posso corrigir isso?

Eu tentei os comandos sugeridos por você. Saída do apt-get upgrade -f

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  linux-generic-lts-utopic linux-headers-generic-lts-utopic
  linux-image-generic-lts-utopic
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Nenhuma saída para este comando dpkg --get-selections | grep -i ^ apache2

Saída do código: apt-mark desativa apache2-bin

apache2-bin was already not hold.

Saída do código: o apt-cache depende do apache2-bin

apache2-bin
  Depends: <libapr1>
  Depends: <libaprutil1>
 |Depends: <libaprutil1-dbd-sqlite3>
 |Depends: <libaprutil1-dbd-mysql>
 |Depends: <libaprutil1-dbd-odbc>
 |Depends: <libaprutil1-dbd-pgsql>
  Depends: <libaprutil1-dbd-freetds>
  Depends: <libaprutil1-ldap>
  Depends: libc6
  Depends: libldap-2.4-2
  Depends: libpcre3
  Depends: libssl1.0.0
  Depends: libxml2
  Depends: zlib1g
  Depends: perl
  Suggests: <www-browser>
    chromium-browser
    firefox
    konqueror
  Suggests: apache2-doc
 |Suggests: apache2-suexec-pristine
  Suggests: apache2-suexec-custom
  Conflicts: apache2.2-bin
  Conflicts: apache2.2-bin:i386
  Conflicts: <apache2.2-common>
  Conflicts: <apache2.2-common:i386>
  Breaks: libapache2-mod-macro
  Breaks: libapache2-mod-macro:i386
  Breaks: libapache2-mod-proxy-html
  Breaks: libapache2-mod-proxy-html:i386
  Replaces: apache2-mpm-event
  Replaces: apache2-mpm-event:i386
  Replaces: apache2-mpm-itk
  Replaces: apache2-mpm-itk:i386
  Replaces: apache2-mpm-prefork
  Replaces: apache2-mpm-prefork:i386
  Replaces: apache2-mpm-worker
  Replaces: apache2-mpm-worker:i386
  Replaces: apache2.2-bin
  Replaces: apache2.2-bin:i386
  Replaces: <apache2.2-common>
  Replaces: <apache2.2-common:i386>
  Replaces: libapache2-mod-macro
  Replaces: libapache2-mod-macro:i386
  Replaces: libapache2-mod-proxy-html
  Replaces: libapache2-mod-proxy-html:i386
  Conflicts: apache2-bin:i386

Mas isso não está resolvido.

    
por Kunal Gupta 19.04.2015 / 20:20

1 resposta

0

Como você talvez saiba, você pode fixar pacotes em suas versões atuais. Isso é feito dando ao pacote o status "hold". Por exemplo, se você instalou a versão 1.1 de algum pacote e configurou esse pacote para o status "hold", ele não será atualizado, mesmo quando a versão 1.2 ou posterior estiver disponível.

No seu caso, parece que há um ou mais pacotes definidos para "manter". Isso proíbe o apt-get de resolver algumas dependências quando você tenta instalar o apache2 . Digamos, por exemplo, que você fixou apache2-bin em uma versão anterior a 2.4.7-1ubuntu4.4. Então você tenta instalar o apache2 na versão 2.4.7-1ubuntu4.4. apache2 2.4.7-1ubuntu4.4 depende de apache2-bin 2.4.7-1ubuntu4.4 , então o apt-get tenta resolver essa dependência instalando apache2-bin 2.4.7-1ubuntu4.4 também. Mas não é possível, porque apache2-bin está no status "hold" de uma versão anterior. Então, o apt-get diz "Incapaz de corrigir problemas, você realizou pacotes quebrados".

Esse é apenas um dos cenários possíveis, mas deve lhe dar uma ideia de onde provavelmente está seu problema.

Existem duas maneiras de tentar: Uma possibilidade é, ter o apt-get tentando o problema. Isso deve te dar alguma solução, mas não é necessário o que você está procurando. O comando para que o apt-get tente e corrija a bagunça seria

apt-get upgrade -f

O -f é para "correção quebrada" ou melhor, "tente consertar as coisas quebradas".

A outra possibilidade é procurar o pacote fixado por você mesmo e "desmarcá-lo". Isso é mais trabalho, mas eu ficaria mais confortável com isso se comparado a dizer ao apt-get "apenas faça alguma coisa para acertar";)

Você pode obter o stati de todos os pacotes instalados com

dpkg --get-selections

Para filtrar aqueles de interesse, você pode simplesmente procurar os nomes, por exemplo

dpkg --get-selections | grep -i ^apache2

Isso deve lhe dar algo parecido com

apache2                     install
apache2-bin                 install
apache2-data                install
apache2-doc                 install

Eu diria que um ou mais dos pacotes relacionados ao Apache estão "em espera". Você pode alterar o status de um pacote por

# set a package to status "hold"
apt-mark hold somepackage
# for example
apt-mark hold apache2-bin

# remove status "hold" from a package
apt-mark unhold somepackage
# for example
apt-mark unhold apache2-bin

O pacote que está "retendo tudo" pode ser apache2-bin ou outro pacote do qual o apache2-bin depende. Você pode verificar de quais pacotes um pacote depende

apt-cache depends somepackage

por exemplo

apt-cache depends apache2-bin
    
por Henning Kockerbeck 19.04.2015 / 23:37