Não, o dpkg
instala somente um pacote, portanto, dpkg -i packageName.deb
instalará apenas este pacote Deb e notificará você sobre quaisquer dependências que precisem ser instaladas, mas será > não instale-os, e não configure o packageName.deb
porque bem ... as dependências não estão lá.
apt-get
é um Sistema de gerenciamento de pacotes lida com a instalação de pacotes Deb em distribuições Linux baseadas no Debian . Um Sistema de Gerenciamento de Pacotes é um conjunto de ferramentas que o ajudarão a instalar, remover e alterar pacotes facilmente. Então, apt-get
é como um inteligente dpkg
.
Eu gosto de pensar na linha do tempo dessa maneira (o seguinte é apenas eu falando por experiência. Ela serve apenas para dar uma ideia de tudo isso):
-
Eles criaram uma maneira de "armazenar" os arquivos de um aplicativo em um "pacote" para que ele possa ser facilmente instalado. Então, o pacote Deb (
.deb
extension file ) nasceu.Um arquivo
.deb
contém os arquivos necessários para que um aplicativo seja executado, assim como (gosto de chamá-lo) "meta-dados" que contém outras informações, como os nomes dos as dependências que o aplicativo precisa. Se você quiser ver o conteúdo de um arquivo.deb
, você pode usar o comandodpkg -c packageName.deb
, e se você quiser ver essa informação de "metadados", use o comandodpkg -I pacakgeName.deb
(e se você quiser apenas veja as dependências, dodpkg -I packageName.deb | grep Depends
). -
Eles precisavam de uma ferramenta para instalar esses arquivos
.deb
, então eles criaram a ferramentadpkg
. Esta ferramenta, no entanto, apenas instalará o arquivo.deb
, mas não instalará suas dependências porque ele não possui esses arquivos e não tem acesso a "repositórios" para extrair as dependências. - Em seguida, eles criaram o
apt-get
, que automatiza os problemas no ponto anterior. Sob o capô,apt-get
é basicamentedpkg
(eu gosto de pensar nisso comoapt-get
sendo um front-end paradpkg
), mas um inteligente que irá procurar as dependências e instalá-las. Ele até olha para as dependências atualmente instaladas e determina aquelas que não estão sendo usadas por outros pacotes, e irá informá-lo que você pode removê-las.
aptitude
apareceu. Ele usa as bibliotecas apt-get
usa e, na verdade, tem uma interface interativa (interface do usuário) . Se você quiser ver essa interface, basta digitar aptitude
no terminal. Isso é aptitude
. Ele aproveita as bibliotecas para fornecer mais opções e vantagens do que apt-get
. Por exemplo, aptitude
removerá pacotes elegíveis automaticamente, enquanto apt-get
precisará de um comando separado para fazer isso. Mas, no final, fazer sudo aptitude install packageName.deb
deve pelo menos ser o mesmo que sudo apt-get install packageName.deb
. Pode haver diferenças sutis aqui e ali que eu não conheço, mas elas irão procurar as dependências e fazer todas essas coisas. Você pode ler a resposta aqui para obter mais informações sobre as diferenças entre aptitude
e apt-get
.
Além disso, aptitude
não tem poderes de super vaca.
EDIT: Aparentemente, faz.
aptitude -v[v[v[v[v]]]] moo
.
aptitude
pode não ser instalado por padrão. Para instalá-lo, faça sudo apt-get install aptitude
ou clique aqui: aptitude .
Extra
As seguintes informações realmente não respondem diretamente " Qual é a diferença entre o dpkg e o aptitude / apt-get? " mas isso contribui para o quadro geral.
De Carlos Campderrós ' comentário abaixo :
gdebi
é outra ferramenta que é uma mistura entre apt-get
e aptitude
. Quando você usá-lo para instalar um .deb
package ( gdebi packageName.deb
), ele identificará as dependências ausentes, instalará usando apt-get
e, finalmente, instalará e configurará o pacote usando dpkg
. Ele ainda tem uma GUI simples e organizada que fornece informações sobre o pacote .deb
, os arquivos incluídos no pacote, e quais dependências precisam ser instaladas. Para ver essa GUI, você faria gdebi-gtk packageName.deb
. Você pode experimentar o gdebi
instalando-o com sudo apt-get install gdebi
ou clique aqui: gdebi .
Eu não quero confundir ninguém, mas apenas para lhe dar uma outra parte da imagem, há outro formato popular de pacote Linux chamado RPM, e seus arquivos têm a extensão .rpm
. Este formato de pacote é usado em distribuições Linux baseadas em RPM (como Red Hat, CentOS e Fedora). Eles usam o comando rpm
para instalar um pacote, e yum
é o front-end para isso, é o inteligente. Portanto, seus arquivos .rpm
são nossos arquivos .deb
, sua ferramenta rpm
é nossa ferramenta dpkg
e sua yum
é nossa apt-get
.
De Paddy Landau 's comentário abaixo :
alien
é uma ferramenta que converte entre .rpm
e .deb
packages. Então, se você cair na situação em que você tem um pacote .rpm
, e você quer instalar no seu Ubuntu (ou qualquer outra distro baseada no Debian), você pode usar o comando alien rpm_packageName.rpm
para convertê-lo em .deb
e, em seguida, instale-o usando dpkg
. Você pode fazer o inverso (converter .deb
para .rpm
) usando alien -r packageName.deb
.