Apt-get não funciona por causa de pacote quebrado

Iniciado por tasilpar, 21 de Março de 2023, 14:11

tópico anterior - próximo tópico

tasilpar

Estou precisando fazer uma instalação pelo apt-get.
Ocorre que quando rodo o comando aparece uma pendencia de instalação conforme abaixo:
Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
Você pode querer executar 'apt --fix-broken install' para corrigí-los.
Os pacotes a seguir têm dependências desencontradas:
mariadb-server-10.3 : Depende: mariadb-client-10.3 (>= 1:10.3.38+maria~ubu2004) mas 1:10.3.31-0ubuntu0.20.04.1 está para ser instalado
mariadb-server-core-10.3 : Quebra: mariadb-client-10.3 (< 1:10.3.38+maria~ubu2004) mas 1:10.3.31-0ubuntu0.20.04.1 está para ser instalado
wkhtmltopdf : Depende: libqt5core5a (>= 5.12.2) mas não será instalado
               Depende: libqt5gui5 (>= 5.2.0) mas não será instalado ou
                        libqt5gui5-gles (>= 5.2.0) mas não será instalado
               Depende: libqt5network5 (>= 5.0.2) mas não será instalado
               Depende: libqt5printsupport5 (>= 5.2.0) mas não será instalado
               Depende: libqt5svg5 (>= 5.6.0~beta) mas não será instalado
               Depende: libqt5webkit5 (>= 5.212.0~alpha3) mas não será instalado
               Depende: libqt5widgets5 (>= 5.0.2) mas não será instalado
E: Dependências desencontradas. Tente 'apt --fix-broken install' sem nenhum pacote (ou especifique uma solução).

Já tentei rodar diversos comandos para limpar esta dependencia, mas nada funciona.
Eu utilizo o ubuntu 18.04 .
Tentei seguir este tutorial e não funcionou: https://www.edivaldobrito.com.br/pacotes-quebrados-veja-como-corrigir-isso-em-sistemas-baseados-no-debian/

creto

Olá,
Citação de: tasilpar online 21 de Março de 2023, 14:11
...
'apt --fix-broken install' para corrigí-los.
...
E: Dependências desencontradas. Tente 'apt --fix-broken install' sem nenhum pacote (ou especifique uma solução).

...
Apenas faça o que o terminal lhe pede por duas vezes consecutivas, para simplificar:
sudo apt --fix-broken install

T+
A vida, é feito andar de bicicleta, se parar, você cai! (Gabriel Contino)
Blog do Paulo Corrêa Creto

tasilpar

Eu rodo o comando e o linux tenta instalar os pacotes pendentes.
Ai dá erro de incompatibilidade entre os pacotes e a instalação falha e a pendencia continua.
Eu queria retirar esta pendencia.

administrador@imaonline2-imatextil-com-br:~$ sudo apt --fix-broken install
[sudo] senha para administrador:
Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
Corrigindo dependências... Pronto
Os seguintes pacotes foram instalados automaticamente e já não são necessários:
  libconfig-inifiles-perl libsnappy1v5
Utilize 'sudo apt autoremove' para os remover.
The following additional packages will be installed:
  mariadb-client-10.3 mariadb-client-core-10.3
Os pacotes a seguir serão atualizados:
  mariadb-client-10.3 mariadb-client-core-10.3
2 pacotes atualizados, 0 pacotes novos instalados, 0 a serem removidos e 739 não    atualizados.
4 pacotes não totalmente instalados ou removidos.
É preciso baixar 0 B/1.864 kB de arquivos.
Depois desta operação, 20,1 MB de espaço em disco serão liberados.
Você quer continuar? [S/n] S
Lendo logs de mudanças... Feito
dpkg: acerca de .../mariadb-client-core-10.3_1%3a10.3.38+maria~ubu2004_amd64.deb                                                                                                                                                              contendo mariadb-client-core-10.3:
mariadb-client-10.3 conflita com mysql-client-core-5.5
  mariadb-client-core-10.3 fornece mysql-client-core-5.5 e está para ser instala                                                                                                                                                             do.

dpkg: erro ao processar o arquivo /var/cache/apt/archives/mariadb-client-core-10.3_1%3a10.3.38+maria~ubu2004_amd64.deb (--unpack): pacotes conflitantes - não instalando mariadb-client-core-10.3
dpkg: acerca de .../mariadb-client-10.3_1%3a10.3.38+maria~ubu2004_amd64.deb contendo mariadb-client-10.3: mariadb-client-core-10.3 conflita com mysql-client-5.5  mariadb-client-10.3 fornece mysql-client-5.5 e está para ser instalado.
dpkg: erro ao processar o arquivo /var/cache/apt/archives/mariadb-client-10.3_1%3a10.3.38+maria~ubu2004_amd64.deb (--unpack):
pacotes conflitantes - não instalando mariadb-client-10.3
Erros foram encontrados durante o processamento de:
/var/cache/apt/archives/mariadb-client-core-10.3_1%3a10.3.38+maria~ubu2004_amd64.deb
/var/cache/apt/archives/mariadb-client-10.3_1%3a10.3.38+maria~ubu2004_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Joluca

Seria melhor voce instalar a útima versap satavel 22.04

selvaking

remova primeiro os pacotes mysql-client-core-5.5 e mysql-client-5.5

apt remove mysql-client-core-5.5 mysql-client-5.5
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

Sampayu

Citação de: tasilpar online 21 de Março de 2023, 14:11
Estou precisando fazer uma instalação pelo apt-get.
Ocorre que quando rodo o comando aparece uma pendencia de instalação conforme abaixo:
Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
Você pode querer executar 'apt --fix-broken install' para corrigí-los.
Os pacotes a seguir têm dependências desencontradas:
mariadb-server-10.3 : Depende: mariadb-client-10.3 (>= 1:10.3.38+maria~ubu2004) mas 1:10.3.31-0ubuntu0.20.04.1 está para ser instalado
mariadb-server-core-10.3 : Quebra: mariadb-client-10.3 (< 1:10.3.38+maria~ubu2004) mas 1:10.3.31-0ubuntu0.20.04.1 está para ser instalado
wkhtmltopdf : Depende: libqt5core5a (>= 5.12.2) mas não será instalado
               Depende: libqt5gui5 (>= 5.2.0) mas não será instalado ou
                        libqt5gui5-gles (>= 5.2.0) mas não será instalado
               Depende: libqt5network5 (>= 5.0.2) mas não será instalado
               Depende: libqt5printsupport5 (>= 5.2.0) mas não será instalado
               Depende: libqt5svg5 (>= 5.6.0~beta) mas não será instalado
               Depende: libqt5webkit5 (>= 5.212.0~alpha3) mas não será instalado
               Depende: libqt5widgets5 (>= 5.0.2) mas não será instalado
E: Dependências desencontradas. Tente 'apt --fix-broken install' sem nenhum pacote (ou especifique uma solução).

Já tentei rodar diversos comandos para limpar esta dependencia, mas nada funciona.
Eu utilizo o ubuntu 18.04.

Existem versões mais recentes do servidor MariaDB, mas vou partir do pressuposto que você precisa especificamente dessa versão 10.3.

Partindo desse pressuposto, instalei o Ubuntu 18.04 de 64 bits numa máquina virtual e consegui instalar nesse Ubuntu 18.04 a versão 10.3 do servidor MariaDB.

Caso queira testar minha solução, primeiro desinstale tudo que você instalou aí referente ao MariaDB. Faça isso abrindo uma janela do terminal do shell, então copie o extenso comando abaixo e use a combinação de teclas Ctrl Shift V para colá-lo no terminal, pressione Enter para executar o comando, informe a senha e confirme com Enter:

sudo systemctl stop mariadb* ; sudo rm /etc/apt/sources.list.d/mariadb* ; sudo apt purge mariadb* -y ; sudo apt update ; sudo apt-get check ; sudo apt autoremove -y ; sudo apt clean

Caso tenha dificuldade para desinstalar os pacotes do MariaDB usando o comando acima, você pode instalar o Synaptic e o Xapian:

sudo apt install synaptic apt-xapian-index -y

Após isso, execute o Xapian para ele construir o banco de dados de pacotes DEB dentro do banco de dados do Synaptic:

sudo update-apt-xapian-index

Após isso, você pode executar o Synaptic:

sudo synaptic

Será aberta a janela do Synaptic. Após fechar a janela de aviso, clique no campo Pesquisa, digite mariadb e então clique no título da coluna E para mostrar no topo todos os pacotes do MariaDB que estão atualmente instalados. Você poderá então clicar com o botão direito sobre cada um desses pacotes e então selecionar (com o botão esquerdo) a opção Marcar para remoção completa. Quando todos os pacotes estiverem marcados para remoção completa, clique no botão Filtros personalizados que aparece no painel inferior esquerdo e então clique na opção Quebrado que aparecerá na lista acima desse painel. Caso a lista de pacotes mostre pacote(s) quebrado(s), clique com o botão direito sobre ele(s) e marque-o(s) também para remoção completa. Por fim, clique no botão Aplicar que fica lá em cima e então confirme clicando no botão Aplicar (ou Apply) da janela que surgirá. Marque a caixa Fechar automaticamente após as alterações terem sido alteradas e então feche o Synaptic...

Caso você continue tendo problemas com os pacotes atualmente instalados do MariaDB, execute este comando para criar um arquivo que força o uso do repositório MariaDB antes dos demais:

echo \# Prioriza upgrades oriundos do repositório MariaDB | sudo tee /etc/apt/preferences.d/mariadb-repository ; echo Package: \* | sudo tee -a /etc/apt/preferences.d/mariadb-repository ; echo Pin: release o=MariaDB | sudo tee -a /etc/apt/preferences.d/mariadb-repository ; echo Pin-Priority: 1000 | sudo tee -a /etc/apt/preferences.d/mariadb-repository ; sudo apt update

O extenso comando acima criará o arquivo /etc/apt/preferences.d/mariadb-repository com este texto:

Citar# Prioriza upgrades oriundos do repositório MariaDB
Package: *
Pin: release o=MariaDB
Pin-Priority: 1000

...e então executa sudo apt update para incorporar essa customização ao APT. Após essa customização, o comando sudo apt --fix-broken install deverá funcionar, idem o primeiro comando (sudo systemctl stop mariadb* ; sudo rm /etc/apt/sources.list.d/mariadb* ; sudo apt purge mariadb* -y ; sudo apt update ; sudo apt-get check ; sudo apt autoremove -y ; sudo apt clean) que mencionei.
Yuri Sucupira ("Sampayu")

Sampayu

Citação de: tasilpar online 21 de Março de 2023, 14:11
Estou precisando fazer uma instalação pelo apt-get.

Caso você consiga se livrar de todos os pacotes previamente instalados do MariaDB, então siga os passos abaixo para instalar o MariaDB segundo o método que utilizei.

Primeiro instale estes pacotes, que são pré-requisitos:

sudo apt install curl ca-certificates apt-transport-https -y

Em seguida, execute o comando abaixo para que um script remoto da própria fundação desenvolvedora do MariaDB configure o repositório específico para a versão 10.3 do MariaDB para Ubuntu 18.04 Bionic Beaver:

curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.3" --os-type=ubuntu --os-version=bionic

O próximo passo agora é instalar o MariaDB usando o APT:

sudo apt install mariadb-server-10.3 -y

Para corrigir um bug do Ubuntu 18.04, é necessário excluir a linha main/debug do arquivo do repositório do MariaDB. O comando a ser executado é este:

sudo sed -i '/main\/debug/d' /etc/apt/sources.list.d/mariadb.list

Agora execute este comando, para o APT atualizar a lista de pacotes e remover os desnecessários:

sudo apt update ; sudo apt-get check ; sudo apt autoremove -y ; sudo apt clean

Para inicializar o serviço do servidor MariaDB, execute este comando:

sudo systemctl start mariadb.service

Para testar que o comando acima funcionou, execute este outro comando:

sudo systemctl status mariadb.service |grep -i active

Se o resultado do comando acima iniciar com este texto:

CitarActive: active (running) since

...então o servidor MariaDB versão 10.3 está em execução.
Yuri Sucupira ("Sampayu")

Sampayu

Citação de: Sampayu online 12 de Maio de 2023, 04:06
Citação de: tasilpar online 21 de Março de 2023, 14:11
Estou precisando fazer uma instalação pelo apt-get.

Caso você consiga se livrar de todos os pacotes previamente instalados do MariaDB, então siga os passos abaixo para instalar o MariaDB segundo o método que utilizei.

Para desinstalar o servidor MariaDB versão 10.3 que foi instalado conforme expliquei no meu post anterior, execute este comando:

sudo apt purge mariadb* -y ; sudo apt autoremove -y ; sudo apt clean
Yuri Sucupira ("Sampayu")