20 comandos YUM para gerenciamento de pacotes Linux
Neste artigo, aprenderemos como instalar, atualizar, remover, encontrar pacotes, gerenciar pacotes e repositórios em sistemas Linux usando a ferramenta YUM (Yellowdog Updater Modified) desenvolvida por YUM (Yellowdog Updater Modified) desenvolvida por YUM (Yellowdog Updater Modified). forte>RedHat.
Os comandos de exemplo mostrados neste artigo são praticamente testados em nosso servidor RHEL 8, você pode usar esses materiais para fins de estudo, certificações RHEL ou apenas para explorar maneiras de instalar novos pacotes e manter seu sistema atualizado.
O requisito básico deste artigo é que você deve ter um conhecimento básico de comandos e um sistema operacional Linux funcional, onde possa explorar e praticar todos os comandos listados abaixo.
O que é YUM?
YUM (Yellowdog Updater Modified) é uma linha de comando de código aberto, bem como uma ferramenta de gerenciamento de pacotes baseada em gráficos para RPM ( RedHat Package Manager) baseados em sistemas Linux.
Ele permite que usuários e administradores de sistema instalem, atualizem, removam ou pesquisem facilmente pacotes de software em um sistema. Foi desenvolvido e lançado por Seth Vidal sob a GPL (Licença Pública Geral) como um código aberto, o que significa que qualquer pessoa pode ter permissão para fazer download. e acesse o código para corrigir bugs e desenvolver pacotes customizados.
YUM usa vários repositórios de terceiros para instalar pacotes automaticamente, resolvendo seus problemas de dependências.
Atualizar: O comando yum é substituído pelo comando dnf, que é uma versão de próxima geração do yum e considerado o substituto do YUM na maioria das distribuições baseadas em RPM mais recentes.
1. Instale um pacote com YUM
Para instalar um pacote chamado Firefox, basta executar o comando abaixo, ele encontrará e instalará automaticamente todas as dependências necessárias para o Firefox.
yum install firefox
Loaded plugins: fastestmirror
Dependencies Resolved
================================================================================================
Package Arch Version Repository Size
================================================================================================
Updating:
firefox i686 10.0.6-1.el6.centos updates 20 M
Updating for dependencies:
xulrunner i686 10.0.6-1.el6.centos updates 12 M
Transaction Summary
================================================================================================
Install 0 Package(s)
Upgrade 2 Package(s)
Total download size: 32 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): firefox-10.0.6-1.el6.centos.i686.rpm | 20 MB 01:10
(2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm | 12 MB 00:52
------------------------------------------------------------------------------------------------
Total 63 kB/s | 32 MB 02:04
Updated:
firefox.i686 0:10.0.6-1.el6.centos
Dependency Updated:
xulrunner.i686 0:10.0.6-1.el6.centos
Complete!
O comando acima pedirá confirmação antes de instalar qualquer pacote em seu sistema. Se você deseja instalar pacotes automaticamente sem solicitar qualquer confirmação, use a opção -y
conforme mostrado no exemplo abaixo.
yum -y install firefox
2. Removendo um pacote com YUM
Para remover completamente um pacote com todas as dependências, basta executar o seguinte comando conforme mostrado abaixo.
yum remove firefox
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package firefox.i686 0:10.0.6-1.el6.centos set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================
Package Arch Version Repository Size
====================================================================================================
Removing:
firefox i686 10.0.6-1.el6.centos @updates 23 M
Transaction Summary
====================================================================================================
Remove 1 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : firefox-10.0.6-1.el6.centos.i686 1/1
Removed:
firefox.i686 0:10.0.6-1.el6.centos
Complete!
Da mesma forma, o comando acima solicitará confirmação antes de remover um pacote. Para desativar o prompt de confirmação basta adicionar a opção -y
conforme mostrado abaixo.
yum -y remove firefox
3. Atualizando um pacote usando YUM
Digamos que você tenha uma versão desatualizada do pacote MySQL e queira atualizá-la para a versão estável mais recente. Basta executar o seguinte comando para resolver automaticamente todos os problemas de dependências e instalá-los.
yum update mysql
Loaded plugins: fastestmirror
Dependencies Resolved
============================================================================================================
Package Arch Version Repository Size
============================================================================================================
Updating:
vsftpd i386 2.0.5-24.el5_8.1 updates 144 k
Transaction Summary
============================================================================================================
Install 0 Package(s)
Upgrade 1 Package(s)
Total size: 144 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : vsftpd 1/2
Cleanup : vsftpd 2/2
Updated:
vsftpd.i386 0:2.0.5-24.el5_8.1
Complete!
4. Liste um pacote usando YUM
Use a função list para procurar o pacote específico com um nome. Por exemplo, para procurar um pacote chamado OpenSSH, use o comando.
yum list openssh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.neu.edu.cn
* epel: mirror.neu.edu.cn
* extras: mirror.neu.edu.cn
* rpmforge: mirror.nl.leaseweb.net
* updates: mirror.nus.edu.sg
Installed Packages
openssh.i386 4.3p2-72.el5_6.3 installed
Available Packages 4.3p2-82.el5 base
Para tornar sua pesquisa mais precisa, defina os nomes dos pacotes com sua versão, caso você saiba. Por exemplo, para procurar uma versão específica OpenSSH-4.3p2 do pacote, use o comando.
yum list openssh-4.3p2
5. Procure um pacote usando YUM
Se você não se lembra do nome exato do pacote, use a função search para pesquisar todos os pacotes disponíveis para corresponder ao nome do pacote que você especificou. Por exemplo, para pesquisar todos os pacotes que correspondem à palavra.
yum search vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.neu.edu.cn
* epel: mirror.neu.edu.cn
* extras: mirror.neu.edu.cn
* rpmforge: mirror.nl.leaseweb.net
* updates: ftp.iitm.ac.in
============================== Matched: vsftpd ========================
ccze.i386 : A robust log colorizer
pure-ftpd-selinux.i386 : SELinux support for Pure-FTPD
vsftpd.i386 : vsftpd - Very Secure Ftp Daemon
6. Obtenha informações sobre um pacote usando YUM
Digamos que você gostaria de saber as informações sobre um pacote antes de instalá-lo. Para obter informações sobre um pacote basta emitir o comando abaixo.
yum info firefox
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.neu.edu.cn
* epel: mirror.neu.edu.cn
* extras: mirror.neu.edu.cn
* rpmforge: mirror.nl.leaseweb.net
* updates: ftp.iitm.ac.in
Available Packages
Name : firefox
Arch : i386
Version : 10.0.6
Release : 1.el5.centos
Size : 20 M
Repo : updates
Summary : Mozilla Firefox Web browser
URL : http://www.mozilla.org/projects/firefox/
License : MPLv1.1 or GPLv2+ or LGPLv2+
Description: Mozilla Firefox is an open-source web browser, designed for standards
: compliance, performance and portability.
7. Liste todos os pacotes disponíveis usando YUM
Para listar todos os pacotes disponíveis no banco de dados Yum, use o comando abaixo.
yum list | less
8. Liste todos os pacotes instalados usando YUM
Para listar todos os pacotes instalados em um sistema, basta emitir o comando abaixo, ele exibirá todos os pacotes instalados.
yum list installed | less
9. Yum fornece função
A função Yum fornece é usada para descobrir a qual pacote um arquivo específico pertence. Por exemplo, se você quiser saber o nome do pacote que contém o arquivo /etc/httpd/conf/httpd.conf.
yum provides /etc/httpd/conf/httpd.conf
Loaded plugins: fastestmirror
httpd-2.2.3-63.el5.centos.i386 : Apache HTTP Server
Repo : base
Matched from:
Filename : /etc/httpd/conf/httpd.conf
httpd-2.2.3-63.el5.centos.1.i386 : Apache HTTP Server
Repo : updates
Matched from:
Filename : /etc/httpd/conf/httpd.conf
httpd-2.2.3-65.el5.centos.i386 : Apache HTTP Server
Repo : updates
Matched from:
Filename : /etc/httpd/conf/httpd.conf
httpd-2.2.3-53.el5.centos.1.i386 : Apache HTTP Server
Repo : installed
Matched from:
Other : Provides-match: /etc/httpd/conf/httpd.conf
10. Verifique se há atualizações disponíveis usando Yum
Para descobrir quantos pacotes instalados em seu sistema têm atualizações disponíveis, verifique para usar o seguinte comando.
yum check-update
11. Atualize o sistema usando Yum
Para manter seu sistema atualizado com todas as atualizações de segurança e pacotes binários, execute o seguinte comando. Ele instalará todos os patches e atualizações de segurança mais recentes em seu sistema.
yum update
12. Liste todos os pacotes de grupo disponíveis
No Linux, vários pacotes são agrupados em um grupo específico. Em vez de instalar pacotes individuais com o yum, você pode instalar um grupo específico que instalará todos os pacotes relacionados que pertencem ao grupo. Por exemplo, para listar todos os grupos disponíveis, basta emitir o seguinte comando.
yum grouplist
Installed Groups:
Administration Tools
DNS Name Server
Dialup Networking Support
Editors
Engineering and Scientific
FTP Server
Graphics
Java Development
Legacy Network Server
Available Groups:
Authoring and Publishing
Base
Beagle
Cluster Storage
Clustering
Development Libraries
Development Tools
Eclipse
Educational Software
KDE (K Desktop Environment)
KDE Software Development
13. Instale pacotes de grupo
Para instalar um grupo de pacotes específico, usamos a opção groupinstall. Por exemplo, para instalar o “Banco de Dados MySQL“, basta executar o comando abaixo.
yum groupinstall 'MySQL Database'
Dependencies Resolved
=================================================================================================
Package Arch Version Repository Size
=================================================================================================
Updating:
unixODBC i386 2.2.11-10.el5 base 290 k
Installing for dependencies:
unixODBC-libs i386 2.2.11-10.el5 base 551 k
Transaction Summary
=================================================================================================
Install 1 Package(s)
Upgrade 1 Package(s)
Total size: 841 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : unixODBC-libs 1/3
Updating : unixODBC 2/3
Cleanup : unixODBC 3/3
Dependency Installed:
unixODBC-libs.i386 0:2.2.11-10.el5
Updated:
unixODBC.i386 0:2.2.11-10.el5
Complete!
14. Atualizar pacotes de grupo
Para atualizar qualquer pacote de grupo instalado existente, basta executar o seguinte comando conforme mostrado abaixo.
yum groupupdate 'DNS Name Server'
Dependencies Resolved
================================================================================================================
Package Arch Version Repository Size
================================================================================================================
Updating:
bind i386 30:9.3.6-20.P1.el5_8.2 updates 981 k
bind-chroot i386 30:9.3.6-20.P1.el5_8.2 updates 47 k
Updating for dependencies:
bind-libs i386 30:9.3.6-20.P1.el5_8.2 updates 864 k
bind-utils i386 30:9.3.6-20.P1.el5_8.2 updates 174 k
Transaction Summary
================================================================================================================
Install 0 Package(s)
Upgrade 4 Package(s)
Total size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : bind-libs 1/8
Updating : bind 2/8
Updating : bind-chroot 3/8
Updating : bind-utils 4/8
Cleanup : bind 5/8
Cleanup : bind-chroot 6/8
Cleanup : bind-utils 7/8
Cleanup : bind-libs 8/8
Updated:
bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2
Dependency Updated:
bind-libs.i386 30:9.3.6-20.P1.el5_8.2 bind-utils.i386 30:9.3.6-20.P1.el5_8.2
Complete!
15. Remova pacotes de grupo
Para excluir ou remover qualquer grupo instalado existente do sistema, basta usar o comando abaixo.
yum groupremove 'DNS Name Server'
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Removing:
bind i386 30:9.3.6-20.P1.el5_8.2 installed 2.1 M
bind-chroot i386 30:9.3.6-20.P1.el5_8.2 installed 0.0
Transaction Summary
===========================================================================================================
Remove 2 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : bind 1/2
warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave
Erasing : bind-chroot 2/2
Removed:
bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2
Complete!
16. Listar repositórios Yum habilitados
Para listar todos os repositórios Yum habilitados em seu sistema, use a seguinte opção.
yum repolist
repo id repo name status
base CentOS-5 - Base enabled: 2,725
epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783
extras CentOS-5 - Extras enabled: 282
mod-pagespeed mod-pagespeed enabled: 1
rpmforge RHEL 5 - RPMforge.net - dag enabled: 11,290
updates CentOS-5 - Updates enabled: 743
repolist: 20,824
16. Liste todos os repositórios Yum habilitados e desabilitados
O comando a seguir exibirá todos os repositórios yum habilitados e desabilitados no sistema.
yum repolist all
repo id repo name status
C5.0-base CentOS-5.0 - Base disabled
C5.0-centosplus CentOS-5.0 - Plus disabled
C5.0-extras CentOS-5.0 - Extras disabled
base CentOS-5 - Base enabled: 2,725
epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783
extras CentOS-5 - Extras enabled: 282
repolist: 20,824
17. Instale um pacote de um repositório específico
Para instalar um pacote específico de um repositório específico habilitado ou desabilitado, você deve usar --enablerepo
uma opção em seu comando yum. Por exemplo, para instalar o pacote PhpMyAdmin, basta executar o comando.
yum --enablerepo=epel install phpmyadmin
Dependencies Resolved
=============================================================================================
Package Arch Version Repository Size
=============================================================================================
Installing:
phpMyAdmin noarch 3.5.1-1.el6 epel 4.2 M
Transaction Summary
=============================================================================================
Install 1 Package(s)
Total download size: 4.2 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
phpMyAdmin-3.5.1-1.el6.noarch.rpm | 4.2 MB 00:25
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : phpMyAdmin-3.5.1-1.el6.noarch 1/1
Verifying : phpMyAdmin-3.5.1-1.el6.noarch 1/1
Installed:
phpMyAdmin.noarch 0:3.5.1-1.el6
Complete!
18. Yum Shell interativo
O utilitário Yum fornece um shell personalizado onde você pode executar vários comandos.
yum shell
Loaded plugins: fastestmirror
Setting up Yum Shell
> update httpd
Loading mirror speeds from cached hostfile
* base: mirrors.sin3.sg.voxel.net
* epel: ftp.riken.jp
* extras: mirrors.sin3.sg.voxel.net
* updates: mirrors.sin3.sg.voxel.net
Setting up Update Process
>
19. Limpe o cache Yum
Por padrão, o yum mantém todos os dados do pacote habilitado para o repositório em /var/cache/yum/ com cada subdiretório, para limpar todos os arquivos em cache do repositório habilitado, você precisa executar o seguinte comando regularmente para limpe todo o cache e certifique-se de que não há nada desnecessário usando espaço. Não queremos fornecer a saída do comando abaixo, porque gostamos de manter os dados em cache como estão.
yum clean all
20. Ver histórico do Yum
Para visualizar todas as transações anteriores do comando yum, basta usar o seguinte comando.
yum history
Loaded plugins: fastestmirror
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
10 | root | 2012-08-11 15:19 | Install | 3
9 | root | 2012-08-11 15:11 | Install | 1
8 | root | 2012-08-11 15:10 | Erase | 1 EE
7 | root | 2012-08-10 17:44 | Install | 1
6 | root | 2012-08-10 12:19 | Install | 2
5 | root | 2012-08-10 12:14 | Install | 3
4 | root | 2012-08-10 12:12 | I, U | 13 E<
3 | root | 2012-08-09 13:01 | Install | 1 >
2 | root | 2012-08-08 20:13 | I, U | 292 EE
1 | System | 2012-08-08 17:15 | Install | 560
history list
Tentamos cobrir todos os comandos básicos do yum com seus exemplos. Se algo relacionado aos comandos yum pode ter sido perdido. Por favor, atualize-nos através de nossa caixa de comentários. Portanto, continuamos atualizando o mesmo com base no feedback recebido.