Minha pergunta é simples - quero saber mais sobre o dpkg - o que ele faz?
Minha pergunta é simples - quero saber mais sobre o dpkg - o que ele faz?
Respostas:
Como já foi dito, dpkg
é uma ferramenta de sistema de baixo nível para extrair, analisar, descompactar e instalar ou remover arquivos .deb. No entanto, é melhor usar Software Centre
ou Gdebi
instalar ou remover arquivos .deb que foram obtidos de outras fontes, porque esses dois programas têm resolução de dependência.
No entanto, o que não foi explicado é a anatomia de uma atualização usando dpkg
e apt-get
. Se, por exemplo, chamamos apt-get
a instalação cheese
, a árvore de dependência é analisada e os arquivos necessários são buscados apt-get
, os quais os transmitem dpkg
para extrair, analisar e instalar nos locais corretos e configurá-los de acordo com os scripts dentro deles.
Os scripts lidos dpkg
dentro de cada arquivo .deb são importantes, pois fornecem informações ao programa sobre a instalação, remoção e configuração dos pacotes. Portanto, quando você olha para dentro, /var/log/dpkg.log
há muitos detalhes detalhados sobre 'gatilhos' e pacotes passando por vários estágios de descompactação e configuração. Em seu blog, Raphael Hertzog (que é o principal desenvolvedor e mantenedor do dpkg
pacote Debian ) explica mais sobre os gatilhos do dpkg e sobre como dpkg
inspeciona e configura os pacotes.
Agora estamos chegando ao cerne do que dpkg
faz; ele habilmente lida com pacotes Debian, ao invés de suas dependências. Com dpkg-deb
, por exemplo, você pode executar várias ações na análise e extração manual de arquivos dos arquivos .deb; veja man dpkg-deb
para mais informações.
O status de cada pacote está listado /var/lib/dpkg/status
, o qual pode ser usado grep
para verificar um pacote específico. Dpkg
Também pode ser chamado para reconfigurar pacotes específicos que foram configurados (consulte man dpkg-reconfigure
):
sudo dpkg-reconfigure <package>
Ou faça uma configuração de todos os pacotes não configurados se houver um problema com uma atualização e a configuração de alguns pacotes ainda estiver pendente:
sudo dpkg --configure -a
Para um ótimo tutorial focado dpkg
e apt-get
, consulte os capítulos 5 e 6 do Debian Handbook , que é a melhor discussão disponível. Entre man dpkg
no seu terminal ou veja as páginas de manual do Ubuntu on-line para ver todas as opções disponíveis, como usar dpkg -l
para listar os pacotes atualmente instalados.
O dpkg é uma forma de linha de comando para instalar a partir de um .deb ou remover os pacotes já instalados. Por exemplo, se você tivesse um arquivo .deb em seu diretório pessoal, a execução dpkg -i yourpackage.deb
instalará esse pacote para você. Acho isso útil para mim, porque às vezes, ao clicar em um arquivo .deb, ele carrega o Ubuntu Software Center, mas nunca o instala ou apresenta problemas.
Como sempre, o man
comando é um ótimo lugar para começar.
man dpkg
pode fornecer todas as opções, no entanto:
O dpkg é um gerenciador de pacotes para sistemas baseados no Debian. Ele pode instalar, remover e criar pacotes, mas, diferentemente de outros sistemas de gerenciamento de pacotes, não pode baixar e instalar automaticamente pacotes e suas dependências.
Então, basicamente, é o apt-get sem resolução de dependência e é usado para instalar arquivos .deb.
No entanto, aviso: Desinstalar pacotes usando o dpkg, na maioria dos casos, NÃO é recomendado. É melhor usar um gerenciador de pacotes que lide com dependências, para garantir que o sistema esteja em um estado consistente.
Por exemplo, usando dpkg -r zip
você pode remover o pacote zip, mas todos os pacotes que dependem dele ainda serão instalados e podem não funcionar mais corretamente.
Você pode ler um pouco mais sobre isso no guia do servidor e em outros lugares .