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.