Primeiro, execute apt-get -f install
para tornar o APT feliz com o estado atual do sistema. Ter pacotes parcialmente instalados ou semi-removidos ou dependências quebradas tende a colocar o APT em um estado em que ele não fará o que você disser, mesmo que isso seja teoricamente possível, porque isso não afetaria os pacotes quebrados. / p>
dpkg
é uma ferramenta de baixo nível que faz apenas o que você diz explicitamente. Verifica dependências, mas é incapaz de satisfazê-las. apt-get
e outras ferramentas APT são ferramentas de alto nível que gerenciam dependências, entre outras coisas. Por exemplo, se você disser apt-get
para instalar um pacote, ele também baixará automaticamente as dependências do pacote; mas se você disser dpkg
para instalar um pacote (que você deve fornecer em um arquivo local) e as dependências necessárias não estiverem instaladas, ele apenas sinalizará um erro.
Quando você instala pacotes de terceiros manualmente com dpkg
, primeiro é necessário instalar as dependências. Você pode ver o que um arquivo deb depende do comando
dpkg-deb -I percona-toolkit.deb
Veja a linha Depends:
e instale os pacotes listados lá. Esta é uma lista separada por vírgula; Se alguns nomes de pacotes estiverem separados por |
, você precisará instalar apenas um deles. Verifique também a linha Recommends:
, que lista pacotes que não são necessários para todos, mas são muito úteis ou são necessários para um dos recursos do pacote.
Alternativamente, você pode iniciar a instalação com
dpkg -i percona-toolkit.deb
veja quais pacotes ele está faltando e (assumindo que esses pacotes são fornecidos pela distribuição) use imediatamente apt-get
para instalá-los. Então, no seu caso:
apt-get install libio-socket-ssl-perl libnet-ssleay-perl libterm-readkey-perl
apt-get -f install
(O segundo comando se encarrega de terminar a instalação do percona-toolkit
que foi interrompido no meio devido a falta de dependências.)
Se você tiver vários arquivos deb que não são fornecidos pela sua distribuição e eles têm dependências entre si, instale-os na ordem dada por suas dependências ou passe-os todos em uma única linha de comandos dpkg -i
.