Ao instalar um software via dpkg -i packageA.deb
, as dependências requeridas packageA
serão baixadas e instaladas automaticamente? Como isso é diferente de usar apt-get
ou aptitude
?
Ao instalar um software via dpkg -i packageA.deb
, as dependências requeridas packageA
serão baixadas e instaladas automaticamente? Como isso é diferente de usar apt-get
ou aptitude
?
Respostas:
Não, dpkg
apenas instala um pacote; assim dpkg -i packageName.deb
, o instalador instalará apenas este pacote Deb e notificará você sobre quaisquer dependências que precisam ser instaladas, mas não as instalará e não configurará o packageName.deb
porque porque ... as dependências são não está lá.
apt-get
é um sistema de gerenciamento de pacotes que 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 ajudarão você a instalar, remover e alterar pacotes facilmente. Então apt-get
é como um esperto dpkg
.
Eu gosto de pensar na linha do tempo dessa maneira (a seguir, sou apenas eu falando por experiência própria. Ele serve apenas para lhe dar uma idéia 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
arquivo de extensão ) nasceu.
Um
.deb
arquivo contém os arquivos necessários para a execução de um aplicativo, bem como (eu gosto de chamá-lo) "metadados" que contêm outras informações, como os nomes das dependências que o aplicativo precisa. Se você deseja ver o conteúdo de um.deb
arquivo, pode usar o comandodpkg -c packageName.deb
e, se quiser ver essas informações de "metadados", use o comandodpkg -I pacakgeName.deb
(e se quiser ver apenas as dependências, façadpkg -I packageName.deb | grep Depends
).
Eles precisavam de uma ferramenta para instalar esses .deb
arquivos, então criaram a dpkg
ferramenta. Essa ferramenta, no entanto, apenas instalará o .deb
arquivo, mas não instalará suas dependências porque não possui esses arquivos e não possui acesso a "repositórios" para obter as dependências.
apt-get
, o que automatiza os problemas no ponto anterior. Sob o capô, apt-get
é basicamente dpkg
(eu gosto de pensar nisso como apt-get
um front-end para dpkg
), mas um inteligente que procurará as dependências e as instalará. Ele ainda examina as dependências atualmente instaladas e determina aquelas que não estão sendo usadas por outros pacotes e informará que você pode removê-las.aptitude
então apareceu. Ele usa as bibliotecas apt-get
usos e realmente tem uma interface do usuário interativa (interface de usuário). Se você quiser ver essa interface, basta digitar aptitude
o terminal. É isso aptitude
. Ele aproveita as bibliotecas para fornecer mais opções e vantagens do que apt-get
. Por exemplo, aptitude
removerá automaticamente pacotes elegíveis, enquanto apt-get
precisa de um comando separado para fazer isso. Mas, no final, fazer sudo aptitude install packageName.deb
deve ser pelo menos o mesmo que sudo apt-get install packageName.deb
. Pode haver diferenças sutis aqui e ali que eu não conheço, mas ambos procurarão as dependências e farão tudo isso. 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 Super Cow Powers.
EDIT: Aparentemente, ele faz.
aptitude -v[v[v[v[v]]]] moo
.
aptitude
pode não estar instalado por padrão. Para instalá-lo, faça sudo apt-get install aptitude
ou clique aqui: aptitude .
As informações a seguir não respondem diretamente diretamente " Qual é a diferença entre dpkg e aptitude / apt-get? ", Mas contribuem para o quadro geral.
De Carlos Campderrós ' comentário abaixo :
gdebi
é outra ferramenta que é uma espécie de mistura entre apt-get
e aptitude
. Quando você o usa para instalar um .deb
pacote ( gdebi packageName.deb
), ele identifica as dependências ausentes, instala-as usando apt-get
e, finalmente, instala e configura o pacote usando dpkg
. Ele ainda possui uma GUI simples e elegante que fornece informações sobre o .deb
pacote, os arquivos incluídos no pacote e quais dependências precisam ser instaladas. Para ver esta GUI, você faria gdebi-gtk packageName.deb
. Você pode gdebi
tentar instalando-o com sudo apt-get install gdebi
ou clique aqui: gdebi .
Não quero confundir ninguém, mas apenas para dar uma outra parte da imagem, existe outro formato popular de pacote Linux chamado RPM, e seus arquivos têm a .rpm
extensão. 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 ele, é o mais inteligente. Portanto, seus .rpm
arquivos são nossos .deb
arquivos, sua rpm
ferramenta é nossa dpkg
ferramenta e a deles yum
é nossa apt-get
.
De Paddy Landau 's comentário abaixo :
alien
é uma ferramenta que converte entre .rpm
e .deb
pacotes. Portanto, se você se deparar com a situação em que possui um .rpm
pacote e quiser instalar no seu Ubuntu (ou qualquer outra distribuição baseada no Debian), poderá usar o comando alien rpm_packageName.rpm
para convertê-lo .deb
e instalá-lo usando dpkg
. Você pode fazer o inverso (converter .deb
para .rpm
) usando alien -r packageName.deb
.
gdebi
( apt-get install gdebi-core
) que combina apt-get
/ aptitude
com dpkg
. Você o chama gdebi some_package.deb
e ele analisará suas dependências, ligará apt-get
para instalar as que estão faltando e quando todas as dependências forem cumpridas, depois ligará dpkg
para finalmente instalar seu pacote.
alien
converte pacotes entre .rpm
e .deb
. Isso é útil para pacotes disponíveis para RPM, mas não para DEB (ou vice-versa). Por exemplo, alien packagename.rpm
para torná-lo utilizável no Ubuntu.
aptitude
não é uma interface para apt-get
. Ambos os programas são interfaces para a libapt-pkg
biblioteca.
O gerenciamento de pacotes apt-get
é executado de mãos dadas com o /etc/apt/sources.list
arquivo.
apt-get install <package_name>
instala um novo pacote no seu computador.
apt-get build-dep <package_name>
Este comando procura nos repositórios e instala as dependências de construção. Se o pacote não estiver nos repositórios, ele retornará um erro.
apt-get install <package1_name> <package2_name> <package3_name>
O apt-get permite a instalação de vários pacotes. separe os pacotes com um espaço.
auto-apt run <command_string>
Quando invocado, o comando auto-apt instala pacotes automaticamente quando o acesso ao arquivo está ausente. Se um programa tentar acessar um arquivo que pertence a um pacote desinstalado, o auto-apt instalará esse pacote usando apt-get
. Este recurso requer o apt e o sudo para funcionar.
Visite a página de instruções do apt-get
aptitude
fornece a funcionalidade dselect
e apt-get
muitos recursos adicionais não encontrados em nenhum dos programas.
aptitude
possui um shell próprio que é ativado por teclado ou mouse e roda em uma janela de terminal
aptitude build-dep <package>
- Instale as dependências de compilação dos pacotes - o que significa os pacotes necessários para compilar (ou compilar ) seu pacote de origem. Por exemplo, muitos pacotes precisam debhelper
ou autotools
devem ser construídos, mas não precisam deles para serem executados.
Visite a página de instruções do aptitude
é uma ferramenta para instalar, construir, remover e gerenciar pacotes Debian. ligação
dpkg -i <package.deb>
instala um pacote Debian no seu computador. Ele não instala nenhuma dependência até onde posso descobrir nos arquivos de ajuda.
Para detalhes, digite dpkg --help
em uma janela do terminal.
um guia para gerenciamento de arquivos pode ser encontrado aqui
Eu acho que a coisa mais importante e também a diferença é que você deve usar a apt-get
ferramenta para instalar pacotes. ( apt
ou aptitude
está bom também).
Isso ocorre porque o dpkg
objetivo é instalar pacotes sem instalar pacotes dependentes. Por isso, apenas a instalação de um pacote dpkg
pode levar a um problema posterior, em que a resolução de dependências pode acabar com um sistema danificado.
Você deve usar a linha de comando apt-get
ou a apt
ferramenta (desde 14.04) para instalar pacotes. Essas ferramentas estão sendo usadas dpkg
por você e, ao mesmo tempo, possuem o mecanismo de resolução de dependências.