Comparação dos principais sistemas de gerenciamento de pacotes Linux

Comparação dos principais sistemas de gerenciamento de pacotes Linux

Uma das principais diferenças entre várias distribuições Linux é o gerenciamento de pacotes. Muitas vezes, essa é a razão pela qual alguém se afasta de uma distribuição para outra, porque ele/ela não gosta da maneira como o software é instalado ou porque há software necessário que não esteja disponível nos repositórios da distro. Se você é iniciante no mundo Linux e está se perguntando sobre as diferenças entre as distribuições, este será um bom começo. Se você usou apenas uma ou duas distribuições por algum tempo e deseja ver o que está do outro lado da cerca, este artigo também pode ser para você. Finalmente, se você precisar de uma boa comparação e/ou um lembrete sobre os principais sistemas de PM, você encontrará algo interessante também. Você aprenderá as coisas mais importantes que um usuário espera de um sistema PM, como instalar/desinstalar, pesquisar e outras opções avançadas. Não esperamos algum conhecimento especial de sua parte, apenas alguns conceitos gerais de Linux.

A abordagem

Escolhemos como termos para a comparação alguns sistemas populares de distribuições populares, e essas serão dpkg/apt*, rpm/yum, Pacman e Portage. O primeiro é usado em sistemas baseados no Debian, o RPM é usado em Fedora, OpenSuse ou Mandriva, mas Yum é apenas Fedora/Red Hat, então vamos nos concentrar nisso.Gentoo é uma distribuição baseada em fonte, você poderá ver como as coisas são feitas tanto em distribuições binárias quanto de origem, para uma comparação mais completa. Lembre-se de que falaremos sobre as interfaces de nível superior para o gerenciamento de pacotes, e.g. yum em vez de rpm ou apt* em vez de dpkg, mas não abordaremos ferramentas gráficas como sináptica, porque sentimos que as ferramentas da CLI são mais poderosas e utilizáveis ​​em qualquer ambiente, seja gráfico ou apenas para console.



Sistemas de gerenciamento de pacotes

A família apt

Na verdade, o APT deve ser capitalizado, pois é um acrônimo que significa ferramenta de embalagem avançada, mas como os utilitários reais são somente em minúsculas, vamos nos referir a eles assim. A família Apt é um front -end para DPKG na família Debian of Linux Operating Systems e também usada em algumas ramificações OpenSolaris. Algumas dessas aplicações são apt-get, apt-cache, apt-cdrom ou filtro apt. Esta não é uma lista abrangente, mas todos os utilitários mais usados ​​estão lá. Há também aptidão, que, quando invocada sem argumentos, apresenta um bom menu, baseado em maldições ou baseado em GTK, mas pode ser usado com comandos/argumentos como os comandos apt-* para gerenciar o software em seu computador. Vale a pena notar que vários derivados do Debian podem ter mudado algumas coisas nesses aplicativos, mas essa parte tratará as ferramentas que devem ser encontradas em um sistema Debian Standard.

apt vs aptidão

Como é a baunilha do Debian que estamos falando, eu recomendaria aptidão em vez de apt-*. Mas haveria outros que recomendaria o oposto. Sugerimos que você experimente os dois e veja o que você mais gosta. Não há muitas diferenças entre os dois se você é iniciante com o Debian ou derivativos, mas com o tempo você notará que preferirá um deles.No entanto, mostraremos como usar os dois, então você achará mais fácil escolher.

Instalando o software

Instalar o software é simples, tudo o que você precisa fazer é

 # APT-Get Install $ software

Ou você escolhe aptidão,

 # Aptitude Install $ software 


Se você receber algumas mensagens informando que o software que você deseja não foi encontrado, verifique se você atualizou seu índice de pacotes com o comando de atualização:

 # atualização apt-get

ou

 # atualização de aptidão 

Não queremos desperdiçar espaço aqui, a menos que especificado, os comandos são os mesmos para apt-get e aptidão. Falando em aptidão, eis como fica quando invocado sem argumentos:

Convidamos você a jogar um pouco com aptidão, versão de maldições ou não, para ver todos os comandos disponíveis e quais opções você tem.

Atualizando o software

Ao contrário de outros sistemas de PM, a família apt requer duas etapas para atualizar o software instalado no seu sistema, do qual o primeiro que já mostramos. Isso é considerado uma vantagem dos proponentes e uma perda de tempo pelos pessimistas, que pensam que um único comando teria sido mais fácil (como o comando de atualização de Yum). Nós, como sempre, não tomamos partido e recomendamos que você crie sua própria opinião. Então, sem mais delongas, aqui está como se atualiza um sistema Debian:

 # atualização apt-get && apt-get

Agora, aqui vem a parte complicada: também há um comando de upgrade distante, e a aptidão também suporta upgrade completa, que é diferente do comando de atualização, pois eles são mais inteligentes e mais, digamos invasivos, pois eles o farão, Por exemplo, remova os pacotes antigos quando atualizações importantes estiverem disponíveis. Isso também depende de que tipo de debian você está executando. Em um sistema estável, você pode conviver com o comando de atualização pacificamente, mas em um sistema de teste/instável, recomendamos o Dist Upgrade.



Procurando software

Você não sabe o nome exato do pacote que deseja instalar? Você pode instalar a conclusão do Bash e fazer “Aptitude Install $ First_LETTERS + TAB” ou pode usar as funções de pesquisa oferecidas pelas ferramentas apt. Você pode fazer

 $ apt-cache pesquisa $ search_term

ou, com aptidão,

 $ Aptitude Search $ search_term 

Novamente, certifique -se de executar uma atualização com antecedência para que o gerente do pacote saiba o que está disponível.

Remoção de software

Aptidão, assim como o APT-Get, suporta os comandos Remover e Purge para se livrar do software instalado. Enquanto remove suporta a função básica da desinstalação, o Purge leva isso um passo adiante e também exclui os arquivos de configuração específicos para o (s) pacote (s) que estão sendo removidos. Cabe a você, o usuário, decidir de caso a caso quando usar remover e quando usar purga, dependendo da tarefa em questão.

yum

Alguns de vocês podem se lembrar dos velhos tempos sombrios da dependência da RPM inferno. Bem, agora, graças a Yum, esses dias são uma coisa do passado e a instalação de software se tornou mais simples. Assim como os outros gerentes de pacotes, o Yum suporta funções básicas, como instalar ou remover software, além de várias outras opções úteis.

Instalando o software

Os comandos básicos para gerenciamento de software são mais ou menos os mesmos dos que conversamos acima, na parte do Debian. Então, se, por exemplo, você quiser instalar Jed, o editor de texto, basta fazer

 # yum install plugins carregados jed: update-debuginfo automático, langpacks, presto, refresch-packagekit configurando o processo de instalação resolvendo dependências-> running transação verificação ---> pacote jed.I686 0: 0.99.19-3.FC15 será instalado-> Dependência do processamento: Slang-Slsh para o pacote: JED-0.99.19-3.FC15.I686-> Verificação de transações em execução ---> gíria de pacote-slsh.I686 0: 2.2.4-1.FC16 será instalado -> Processamento Dependência: Liber.então.2 para o pacote: Slang-Slsh-2.2.4-1.FC16.I686-> Verificação de transações em execução ---> pacote oniguruma.I686 0: 5.9.2-2.FC15 será instalado -> Dependências de resolução de dependência acabadas resolvidas ========================================== =========================================== =================================================== =========================== Instalando: JED i686 0.99.19-3.FC15 Fedora 795 K Instalação para dependências: Oniguruma i686 5.9.2-2.FC15 Fedora 125 K Slang-Slsh i686 2.2.4-1.FC16 Fedora 165 K Resumo da transação ================================================= ==================================== Instalar 3 pacotes Tamanho do download total: 1.1 m Tamanho instalado: 1.1 m está ok [S/N]: Y Download Pacotes: (1/3): JED-0.99.19-3.FC15.I686.rpm | 795 KB 00:02 (2/3): Oniguruma-5.9.2-2.FC15.I686.rpm | 125 kb 00:00 (3/3): Slang-Slsh-2.2.4-1.FC16.I686.rpm | 165 KB 00:00 --------------------------------------------- ------------------------------------- Total 268 kb/s | 1.1 mb 00:04 Execução de transação em execução Teste de transação de transação Teste de transação foi bem-sucedida em execução Instalação: Oniguruma-5.9.2-2.FC15.I686 1/3 Instalação: Slang-Slsh-2.2.4-1.FC16.I686 2/3 Instalação: JED-0.99.19-3.FC15.I686 3/3 Instalado: JED.I686 0: 0.99.19-3.Dependência FC15 instalada: Oniguruma.I686 0: 5.9.2-2.FC15 Slang-Slsh.I686 0: 2.2.4-1.FC16 completo!

É assim que a saída completa se parece na minha máquina Fedora 16. Yum também suporta o comando localInstall, que é muito útil se você tiver um pacote de RPM baixado localmente e deseja instalá -lo. Recomendamos o uso do LocalInstall versus "RPM -i $ pacote" porque o pacote é adicionado ao banco de dados YUM, para que você tenha um ambiente menos caótico.



Atualizando o software

Como dito antes, os comandos são bem parecidos com certa medida, mas com o yum você não tem dois comandos separados como você tem com apt*. Portanto, uma simples “atualização yum” atualizará os dados do repositório e prossiga para a atualização adequada se versões mais recentes do software forem encontradas. Você pode ver se há algo novo usando o comando de check-update, que está próximo de "atualização de aptidão", pois atualiza os dados do repo, mas não faz mais nada.

Procurando software

Até recentemente, eu não gostei do comando de pesquisa de Yum porque produziu muitos resultados, alguns bastante não relacionados ao que eu queria. Parece que havia outros com os mesmos problemas, então os desenvolvedores mudaram a função de pesquisa para imprimir apenas resultados relevantes e adicionaram o comando "Search All" para imitar o comportamento antigo.

Remoção de software

Se eu quiser remover o software, é claro que o comando é "yum remove". Isso removerá o pacote e suas dependências. Se você quiser não seguir esse caminho, ou seja, você deseja manter as dependências (recomendamos muito cuidado aqui), você deve digitar

 # yum -Nodeps Remove JED 

O wiki Yum diz isso sobre -Nodeps tão novamente, tenha cuidado: “-Nodeps é usado apenas quando um pacote ou sistema está gravemente quebrado. Como regra geral, se você achar que não pode colocar o parafuso no orifício com um motor de fenda, você não deve pegar um martelo."Claro, você deveria ler o manual YUM, que explica todas as opções que você pode usar. Como nos editores de texto, o gerenciador de pacotes é uma ferramenta frequentemente usada, por isso é imperativo que você saiba sobre isso para que você possa ser mais eficiente.

Pacman

O próprio gerenciador de pacotes do Arch Linux é um recém -chegado relativamente, pois a distribuição também é mais nova, mas isso não significa que ele não tenha recursos que se pode encontrar em yum ou zypper, para levar dois exemplos aleatórios.Uma diferença entre Pacman e o gerenciador de pacotes acima mencionado é que ele não oferece comandos como atualizar ou remover. Em vez disso, usa argumentos de letra única para obter várias funções oferecidas pelo Pacman (mas você também pode usar opções longas e duplas, no entanto, as curtas são mais populares). Outra diferença seria, e não há subjetividade envolvida, que Pacman é mais rápido. Na verdade, essa é uma das razões pelas quais eu uso o arco para meus computadores mais antigos e mais fracos.

Instalando o software

Para instalar o JED em um sistema de arco, pode -se digitar

 # Pacman -s Jed

O -s significa sincronização e também é usado para outras funções, como procurar software ou atualizar. No começo, isso pode parecer um pouco ilógico, mas as explicações na página manual lançarão luz sobre isso.



Atualizando o software

Pacman oferece a opção de atualizar apenas os dados do repositório e/ou atualizar o software existente. Ambas as opções são usadas em conjunto com -s e são acessíveis com -y (repositório de atualização) e -u (software de atualização). Portanto, para atualizar pacotes instalados, um faria

 # Pacman -Syu

Você pode verificar se há atualizações omitindo -u e, se todos os repositórios forem relatados como atualizados, você pode ter certeza de que não há atualizações.

Procurando software

Você precisará de -s novamente para procurar software, adicionando uma minúscula s a ele:

 # Pacman -Ss Jed

Remoção de software

Finalmente, a bandeira -s está fora de cena e está sendo substituída por -r mais o nome do pacote que você deseja remover (e.g. Jed, já que este é o nosso exemplo para hoje e queremos ser consistentes). Há uma bandeira -nodeps também, encurtada por -d, se você precisar. Pacman oferece outras opções úteis, bem como específicas da operação, então lembre-se de que há um comando "Man Pacman" por aí.

Portage

Alguns podem dizer que Portage não é um importante sistema de gerenciamento de pacotes, mas eu pessoalmente imploro para diferir. Embora o Gentoo não seja tão popular quanto costumava ser, ele tem seu lugar bem estabelecido no mundo Linux e não tem a intenção de ir a lugar algum, com usuários que juram por ele e não usariam mais nada. Enquanto isso, assim como Pacman, não é tão fácil de usar quanto o Yum, oferece muitos recursos avançados e só pede uma pequena fatia do seu tempo para aprender.



Instalando o software

Primeiro de tudo, se você é novo em Gentoo e Portage, recomendamos que você use as opções longas, em vez das curtas (como -Help vs. -h), pois eles são mais descritivos. Depois de se acostumar, você pode salvar algumas digitação usando opções curtas. Segundo, enquanto falamos apenas sobre Portage, esse nome é realmente usado para o conjunto de ferramentas relacionadas a pacotes. Você usará o emergir como a principal ferramenta de gerenciamento de pacotes, mas existem outras ferramentas que você usará, todas mencionadas na página manual. Certifique -se de usar -Sync antes de instalar o primeiro pacote, pois esse é o equivalente ao comando de atualização da aptidão. Em seguida, basta emergir o pacote que você deseja:

 # Emerge Jed

Sim, é tão simples. Lembre -se de que Emerge é uma ferramenta realmente complexa e poderosa, e não mostraremos todas as opções possíveis, apenas o básico, mas o que você precisa, provavelmente está lá.

Atualizando o software

Assim como Apt* ou Pacman, Emerge faz a atualização em duas etapas: primeiro atualizando os dados do pacote de um host remoto com -Sync e depois atualizando o software instalado com

 # emerge -update -mundo profundo 

O comando de atualização como acima é a versão simples, mas também existem outras opções que você pode/deve usar ao atualizar, especialmente porque o Gentoo é baseado em fonte. Por exemplo, se você alterou algumas bandeiras de uso após a última atualização, é muito recomendável que você use -newuse para que emerge esteja ciente dessas mudanças e possivelmente recompile alguns dos pacotes (ou todos) de acordo. Você também pode usar -Ak se quiser uma mensagem de confirmação antes do início da atualização ou -verbose para obter uma saída mais detalhada. Portanto, todos os comandos e opções descritos acima se traduzirão em (você notará que este é o formulário curto):

 # emerge -udnav world 

Portage não é apenas uma ferramenta complexa, também está bem documentada. Você receberá o básico de nós, mas o resto você receberá do guia de portage.

Procurando software

emerge oferece -search e -searhdesc para a tarefa, e explicaremos quais são as diferenças. Aqui está um exemplo: -search'ing for jed nos dá a categoria JED está em (editores de aplicativos, e as categorias em portage são semelhantes às encontradas em portas BSD/pkgsrc), informações de licença, versões, etc. Usar -searchDesc fornece muitos resultados, porque, como o nome indica, emerge pesquisará o texto necessário nas descrições, mas também leva mais tempo para dar os resultados que você precisa. Uma comparação aproximada seria a diferença entre a pesquisa de Yum versus a pesquisa.

Remoção de software

Como a instalação do software é chamada de emergência em gentoo-fala, é natural dizer que um software que está solto ao desinstalar. O comportamento padrão é deixar as dependências em paz, como o -Nodeps faz em yum/rpm. Aqui é onde -o DePclean vem jogar: ele remove todas as dependências do pacote para não ser desinstalado, mas para entender essa funcionalidade, recomendamos novamente uma viagem ao guia, porque você pode unir software importante se não souber o que não souber você está fazendo.

Conclusão

Deve -se notar que apenas as funções básicas dos sistemas de PM mencionadas foram tratadas aqui. Deixamos o resto como um exercício para o usuário, pois todas essas ferramentas são capazes de muito mais, como listar pacotes instalados ou encontrar a qual pacote um determinado arquivo pertence. Recomendamos a configuração de uma máquina de teste, talvez em um ambiente virtual, e brinque com seu PM de escolha, porque é a maneira segura e testada de aprender.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Download do Linux
  • Ubuntu 20.04 Guia
  • Coisas para instalar no Ubuntu 22.04
  • Melhor distro Linux para desenvolvedores
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Comandos Linux: os 20 comandos mais importantes que você precisa para…