Comando Yum no Linux (Instalação e atualização de pacotes) [Guia Básico]

As distribuições Linux baseadas no Red Hat, usam o gerenciador de pacotes chamado Red Hat Package Manager – RPM para instalar seus softwares. Dentre distribuições as mais famosas estão o próprio Linux Enterprise da Red Hat, o Fedora e o CentOS.

O RPM é um poderoso gerenciador de pacotes que permite ao administrador instalar, remover e obter informações sobre pacotes. É um método de distribuição de software largamente usado em várias distribuições Linux, além do Red Hat.

Ele também possibilita construir pacotes a partir de arquivos fonte, verificar a assinatura digital, simular uma instalação, dentre outras. É tão poderoso quanto o dpkg e apt-get.

Devido a dificuldade de se lidar com gerenciamento de pacotes utilizando o comando rpm, as distribuições Linux baseadas em Red Hat usam o utilitário yum.

O Yum é um acrônimo para Yellow dog Updater, Modified. É uma ferramenta utilizada para gerenciar a instalação e remoção de pacotes em distribuições Linux, que utilizam o sistema RPM.

O Yum é um gerenciador de pacotes de arquivos similar ao APT-GET que lida automaticamente com dependências computando-as e resolvendo o que deve ser feito para tratá-las.

Ele possui um arquivo de configuração que especifica quais os repositórios que o YUM deve utilizar para procurar e baixar os pacotes RPM.

Nem sempre um Linux baseado em RPM terá o gerenciador de pacotes YUM instalado. Se for necessário instalar o YUM, ele pode ser conseguido no site http://yum.baseurl.org.

O comando para instalação é:

# rpm -ivh yum.rpm

Alguns comandos do yum:

  • yum list: Lista todos os pacotes disponíveis;
  • yum check-update ou yum list updates: Verifica se há pacotes disponíveis para um update;
  • yum update: Faz o update de seu sistema;
  • yum install <pacote(s)>: Instala um pacote específico e suas dependências;
  • yum remove <pacote(s)>: Remove um pacote específico
  • yum info <pacote>: Apresenta informações básicas de um determinado pacote.
  • yum whatprovides arquivo:  Lista todos os pacotes que possuem o arquivo indicado na busca

Veja os exemplos:

Para instalar um pacote:

# yum install postgresql

Resolving Dependencies
Install       2 Package(s)
Is this ok [y/N]: y
 
Package(s) data still to download: 3.0 M
(1/2): postgresql-9.0.4-5.fc15.x86_64.rpm       | 2.8 MB     00:11
(2/2): postgresql-libs-9.0.4-5.fc15.x86_64.rpm  | 203 kB     00:00
------------------------------------------------------------------
Total                                  241 kB/s | 3.0 MB     00:12    
 
Running Transaction
  Installing : postgresql-libs-9.0.4-5.fc15.x86_64        1/2
  Installing : postgresql-9.0.4-5.fc15.x86_64             2/2

Uma opção do Yum é o “-y” que instala ou faz update de pacotes sem perguntar. Não é muito indicado para produção. 

Para fazer update dos pacotes instalados:

# yum update
   Plugins carregados: priorities, update-motd, upgrade-helper
   amzn-main/latest

   Resolvendo dependências
   ---> Executando verificação da transação
   ---> O pacote aws-cli.noarch 0:1.7.5-1.2.amzn1 será atualizado
   ---> O pacote aws-cli.noarch 0:1.7.12-1.3.amzn1 será uma atualização
   ---> Resolução de dependências finalizada

   Dependências resolvidas
   ===============================================================
   Package    Arq.               Versão              Repo                Tam.
   ===============================================================
   Instalando:
   kernel   x86_64      3.14.34-27.48.amzn1      amzn-updates          16 M

   Atualizando:
   aws-cli   noarch     1.7.12-1.3.amzn1          amzn-updates         604 k
   Resumo da transação
   ===============================================================                               Instalar   1 Package  (+4 Dependent packages)
   Upgrade    1 Package

   Tamanho total do download: 16 M
   Is this ok [y/d/N]:

Para remover um pacote:

# yum remove  postgresql

Para procurar todos os pacotes com a palavra “firefox”:

# yum search firefox
Loaded plugins: langpacks, presto, refresh-packagekit ============== N/S Matched: firefox ====================== firefox.x86_64 : Mozilla Firefox Web browser gnome-do-plugins-firefox.x86_64 : gnome-do-plugins for firefox mozilla-firetray-firefox.x86_64 : System tray extension for firefox mozilla-adblockplus.noarch : Adblocking extension for Mozilla Firefox mozilla-noscript.noarch : JavaScript list extension for Mozilla Firefox Name and summary matches only, use “search all” for everything.

Para obter informações sobre um determinado pacote:

# yum info mysql
Plugins carregados: priorities, update-motd, upgrade-helper
newrelic                                                                                                                  59/59
Pacotes instalados

Nome           : mysql
Arquitetura    : noarch
Versão         : 5.5
Lançamento     : 1.6.amzn1
Tamanho        : 0.0 
Repo           : installed
Do repositório : amzn-main
Sumário        : MySQL meta package
URL            : http://www.mysql.com
Licença        : GPLv2 with exceptions
Descrição: MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
         : client/server implementation consisting of a server daemon (mysqld)
         : and many different client programs and libraries. The base package
         : contains the standard MySQL client programs and generic MySQL files.

Para ver todos os pacotes disponíveis no repositório do yum:

# yum list
Pacotes instalados
GeoIP.x86_64                        1.4.8-1.5.amzn1                @amzn-main  
GeoIP-devel.x86_64                  1.4.8-1.5.amzn1                @amzn-main  
PyYAML.x86_64                       3.10-3.6.amzn1                 installed    
acl.x86_64                          2.2.49-6.9.amzn1               installed   
acpid.x86_64                        1.0.10-2.1.6.amzn1             installed   
alsa-lib.x86_64                     1.0.22-3.9.amzn1               installed   
apr.x86_64                          1.5.0-2.11.amzn1               @amzn-updates
(…)

Para saber a qual pacote um determinado arquivo pertence:

# yum provides /etc/sysconfig/nfs
Plugins carregados: priorities, update-motd, upgrade-helper
1:nfs-utils-1.2.3-39.15.amzn1.x86_64 : NFS utilities and supporting clients and daemons for the kernel NFS server

Repo        : amzn-main
Resultado a partir de:
Nome de arquivo    : /etc/sysconfig/nfs

Para saber quais são os repositórios ativos no YUM:

# yum repolist
id do repo                         nome do repo       status
amzn-main/latest                  amzn-main-Base     5.019
amzn-updates/latest               amzn-updates-Base  1.085
newrelic/x86_64                   New Relic packages 59

Assim como o apt, o YUM também faz cachê dos pacotes baixados no diretório /var/cache/yum

Geralmente após a instalação bem sucedida dos pacotes, o yum faz uma limpeza automática do diretório de cachê. Isso depende do arquivo de configuração /etc/yum.conf, especialmente a opção keepcache.

De qualquer forma, pode-se esvaziar o cache com o comando:

# yum clean all

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe