libphp5.so está faltando, problemas de dependência

1

depois de algumas atualizações, meu servidor Debian (rodando o Apache 2.2) parece perder o libphp5.so . Iniciar o Apache leva à mensagem de erro

sudo service apache2 restart
apache2: Syntax error on line 244 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: 
Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
 failed!

Tentando reinstalar o libapache5, leve a

 sudo apt-get install libapache2-mod-php5
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libapache2-mod-php5 : Depends: apache2-api-20120211
                       Depends: apache2 (>= 2.4)
 udev : Depends: libudev1 (= 215-5+b1) but 215-6 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

e apt-get -f install não conseguiram resolver o problema. Quer instalar o pacote udev , mas acaba com um erro

insserv: script apache: service apache2 already provided!
Errors were encountered while processing:
 /var/cache/apt/archives/udev_215-6_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Eu não sei o que fazer. Como posso recuperar o meu Apache?

Editar

dpkg -C
The following packages are only half configured, probably due to problems
configuring them the first time.  The configuration should be retried using
dpkg --configure <package> or the configure menu option in dselect:
 dictionaries-common  Common utilities for spelling dictionary tools
 dovecot-core         secure POP3/IMAP server - core files
    
por TheWaveLad 29.11.2014 / 00:52

1 resposta

1

  1. Verifique se esse sharedlib está realmente ausente (há alguns casos se o carregamento falhar com esse erro, mesmo se o arquivo estiver no sistema), com um ls -ldL /usr/lib/apache2/modules/libphp5.so . Provavelmente sim, está faltando, então vamos mais adiante nesse ramo.
  2. Seus pacotes parecem um pouco problemáticos. Com um dpkg -C você pode verificar se existem alguns pacotes danificados no seu sistema. Se sim, você teve que resolver este problema primeiro.
  3. Experimente um apt-get --reinstall install libapache2-mod-php5 . A chave é a --reinstall flag, sem que nada tenha acontecido, mesmo se o seu sistema estiver em um estado não danificado.
  4. Aqui você pode encontrar meu outro resposta, que pode fornecer comandos úteis para você, embora a pergunta original foi diferente: ele queria corrigir uma atualização com falha, você deseja corrigir o seu módulo apache php5. Mas o problema é essencialmente o mesmo: ambos querem consertar o estado inconsistente de um sistema debian / ubuntu.

Extensão respondendo comentário: então você deve ter uma saída dpkg -C (sem pacotes danificados). Em seguida, o que eu posso ver é que você provavelmente tem algum tipo de inconsistência entre as versões do pacote e entre o repositório debian atual (ubuntu). Primeiro verifique se você instalou todas as atualizações mais recentes: apt-get update , apt-get dist-upgrade .

Se funciona, você está pronto. Se não, então provavelmente será necessária alguma solução complicada. Em seu lugar, removi alguns pacotes problemáticos ( dpkg --purge para pacotes induviduais ou apt-get --purge remove para remover pacotes com todas as suas dependências) e tentei reinstalá-los. Se nada funcionar, eu removi todo o apache2 & coisa php.

Mas cuidado: a remoção de pacotes pela limpeza também exclui sua configuração em /etc . Faça um backup de todo o /etc (ou pelo menos de /etc/apache2 ) antes disso!

p. Não é impossível, que o seu espelho debian não esteja realmente bem. O que está no seu /etc/apt/sources.list ?

    
por 29.11.2014 / 01:17