Usando o Debian 9.5, instalação nova. Eu quero instalar o mysql-server, mas me deparo com problemas de dependência.
sudo apt-get install mysql-server
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:
mysql-server : Depends: default-mysql-server but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
apt-get install mysql-server default-mysql-server
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:
default-mysql-server : Depends: mariadb-server-10.1 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
sudo apt-get install mysql-server default-mysql-server mariadb-server-10.1
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:
mariadb-server-10.1 : Depends: libdbi-perl but it is not going to be installed
Recommends: libhtml-template-perl but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
sudo apt-get install mysql-server default-mysql-server mariadb-server-10.1 libhtml-template-perl
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:
libhtml-template-perl : Depends: libcgi-pm-perl but it is not going to be installed or
perl (< 5.19) but 5.26.2-7 is to be installed
mariadb-server-10.1 : Depends: libdbi-perl but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
sudo apt-get install mysql-server default-mysql-server mariadb-server-10.1 libdbi-perl
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:
libdbi-perl : Depends: perlapi-5.24.1
E: Unable to correct problems, you have held broken packages.
EDIT1 apt-cache policy
::
apt-cache policy
Package files:
100 /var/lib/dpkg/status
release a=now
500 http://security.debian.org/debian-security stretch/updates/contrib amd64 Packages
release v=9,o=Debian,a=stable,n=stretch,l=Debian-Security,c=contrib,b=amd64
origin security.debian.org
500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
release v=9,o=Debian,a=stable,n=stretch,l=Debian-Security,c=main,b=amd64
origin security.debian.org
500 http://deb.debian.org/debian stretch-updates/main amd64 Packages
release o=Debian,a=stable-updates,n=stretch-updates,l=Debian,c=main,b=amd64
origin deb.debian.org
500 http://deb.debian.org/debian stretch/main amd64 Packages
release v=9.5,o=Debian,a=stable,n=stretch,l=Debian,c=main,b=amd64
origin deb.debian.org
Pinned packages:
EDIT2 apt policy perl perl-base
::
apt policy perl perl-base
perl:
Installed: 5.26.2-7
Candidate: 5.26.2-7
Version table:
*** 5.26.2-7 100
100 /var/lib/dpkg/status
5.24.1-3+deb9u4 500
500 http://deb.debian.org/debian stretch/main amd64 Packages
500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
perl-base:
Installed: 5.26.2-7
Candidate: 5.26.2-7
Version table:
*** 5.26.2-7 100
100 /var/lib/dpkg/status
5.24.1-3+deb9u4 500
500 http://deb.debian.org/debian stretch/main amd64 Packages
500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
Como posso corrigir esses problemas de dependência?
Conforme indicado por sua
apt policy perl perl-base
saída e apontado por jordanm , seu sistema possui a versão Buster do Perl, não a versão Debian 9. Então seu sistema não é realmente uma “instalação nova” do Debian 9.5; e como Perl é um componente tão importante de uma configuração Debian, é provável que existam muitos outros pacotes que foram atualizados para a versão Buster.Essa incompatibilidade de Perl é a razão pela qual você não pode instalar os pacotes MySQL.
Presumo que esta seja uma instalação recente e, portanto, você não tenha investido muito nela; então a recomendação de jordanm para reinstalar é provavelmente a melhor solução neste caso. O Debian 9 e o Buster divergiram um pouco, então reverter pode se tornar bastante complicado, especialmente desde que você atualizou o Perl. Remover
mc
certamente não será suficiente.No futuro, não misture estável e teste. Se você encontrar um bug que o impeça de usar um pacote, registre um bug (
reportbug mc
); se for grave o suficiente, pode se qualificar para uma atualização estável. Você também pode pedir um backport; que lhe daria a versão atual do Bustermc
, reconstruída para o Debian 9.Executei os seguintes comandos com sucesso com base na solução aceita:
Resultado:
sudo apt install mysql-server Lendo listas de pacotes... Concluído Construindo árvore de dependências
Lendo informações de estado... Concluído Alguns pacotes não puderam ser instalados. Isso pode significar que você solicitou uma situação impossível ou, se estiver usando a distribuição instável, alguns pacotes necessários ainda não foram criados ou removidos do Incoming. As seguintes informações podem ajudar a resolver a situação:
Os seguintes pacotes têm dependências não atendidas: mysql-server : Depende: mysql-server-8.0 mas não será instalado E: Não foi possível corrigir problemas, você reteve pacotes quebrados. raja@raja-latitudee6400:~$ mysql-server default-mysql-server bash: mysql-server: comando não encontrado