apt-get continua tentando instalar o pacote que já está instalado

1

Estou usando o Bash for Windows e tive alguns problemas para fazer o MySQL funcionar em algum momento.

Agora está funcionando bem, mas parece que há algum remanescente do processo de instalação no apt-get. Toda vez que tento instalar qualquer pacote (seja relacionado ao mysql ou não), ele está rodando mysql_upgrade e falha.

No entanto, não é necessário executar isso, já que o MySQL funciona bem. Existe alguma maneira de fazer com que o apt-get pare de fazer isso?

Para informações, veja como fica:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  snap-confine
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  libzip4
The following NEW packages will be installed:
  libzip4 php7.1-zip
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
Need to get 59.8 kB of archives.
After this operation, 191 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://ppa.launchpad.net/ondrej/php/ubuntu xenial/main amd64 libzip4 amd64 1.1.2-1.1+deb.sury.org~xenial+1 [40.1 kB]
Get:2 http://ppa.launchpad.net/ondrej/php/ubuntu xenial/main amd64 php7.1-zip amd64 7.1.4-1+deb.sury.org~xenial+1 [19.8 kB]
Fetched 59.8 kB in 0s (260 kB/s)
Selecting previously unselected package libzip4:amd64.
(Reading database ... 57661 files and directories currently installed.)
Preparing to unpack .../libzip4_1.1.2-1.1+deb.sury.org~xenial+1_amd64.deb ...
Unpacking libzip4:amd64 (1.1.2-1.1+deb.sury.org~xenial+1) ...............................................................................................................................................................................]
Selecting previously unselected package php7.1-zip.#####.................................................................................................................................................................................]
Preparing to unpack .../php7.1-zip_7.1.4-1+deb.sury.org~xenial+1_amd64.deb ...
Unpacking php7.1-zip (7.1.4-1+deb.sury.org~xenial+1) ...#############....................................................................................................................................................................]
Processing triggers for libc-bin (2.23-0ubuntu7) ...##########################################...........................................................................................................................................]
Processing triggers for libapache2-mod-php7.1 (7.1.4-1+deb.sury.org~xenial+1) ...
Setting up mysql-server-5.7 (5.7.18-0ubuntu0.16.04.1) ...
invoke-rc.d: could not determine current runlevel
 * Stopping MySQL database server mysqld                                                                                                                                                                                              [ OK ]invoke-rc.d: could not determine current runlevel
invoke-rc.d: could not determine current runlevel
 * Stopping MySQL database server mysqld                                                                                                                                                                                              [ OK ]invoke-rc.d: could not determine current runlevel
mysql_upgrade: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
Setting up libzip4:amd64 (1.1.2-1.1+deb.sury.org~xenial+1) ...
No apport report written because the error message indicates its a followup error from a previous failure.
Progress: [ 47%] [########################################################################################Setting up php7.1-zip (7.1.4-1+deb.sury.org~xenial+1) .........................................................................]
Progress: [ 52%] [##################################################################################################################.....................................................................................................]
Creating config file /etc/php/7.1/mods-available/zip.ini with new version
Processing triggers for libc-bin (2.23-0ubuntu7) ...#############################################################################################........................................................................................]
Processing triggers for libapache2-mod-php7.1 (7.1.4-1+deb.sury.org~xenial+1) ...
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
    
por this.lau_ 06.05.2017 / 13:38

1 resposta

2

O pacote mysql-server-5.7 não está instalado corretamente. Os arquivos foram descompactados, mas algo deu errado ao terminar de configurar o pacote. O que deu errado não afetou você - que você conhece - mas o gerenciador de pacotes não pode saber disso.

O erro que impede a conclusão da instalação é

mysql_upgrade: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) while connecting to the MySQL server

Eu não estou familiarizado com o MySQL, então não sei como resolver isso. É um erro bastante genérico que pode ter várias causas. Você pode ter uma configuração incomum do MySQL que os scripts do Debian não conseguem lidar.

O script que está sendo executado e falhando nesse ponto é /var/lib/dpkg/info/mysql-server-5.7.postinst . Se você quiser depurar o motivo da falha, altere a linha set -e para set -ex no início do script e obterá um rastreamento dos comandos que esse script executa.

Para tentar executar a atualização novamente, execute

sudo dpkg --configure -a

ou

sudo apt-get -f install

O gerenciador de pacotes ficará satisfeito quando /var/lib/dpkg/info/mysql-server-5.7.postinst for executado com êxito (ou seja, com status de saída 0). Você pode ser tentado a forçá-lo a sair com um status de sucesso sem fazer o seu trabalho, mas tenha cuidado: se você errar, poderá corromper seu banco de dados.

    
por 07.05.2017 / 00:50

Tags