Skip to content

Dica do SysAdmin – Gerenciamento de Pacotes I

Todo SysAdmin que se preze já executou e conhece o comando yum. Mas o interessante é: será que conhece alguma das opções e sub-comandos mais úteis?!

Irei explicar abaixo e dar exemplos de como o comando yum pode facilitar a sua vida.

1. yum provides

Quantas vezes você queria instalar um comando e não sabia o nome dele?!

A opção “provides” existe justamente para te ajudar nessa parte mais difícil, que é lembrar o nome do pacote responsável por essa feature. Seguindo o padrão acima você pode verificar qual o nome do pacote. Segue abaixo exemplo do binário “dig“.

# yum provides “*bin/dig”
32:bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64 : Utilities for querying DNS name servers
Repo        : base
Matched from:
Filename    : /usr/bin/dig

2. yum info , yum groupinfo

Este próximo exemplo irá facilitar na instalação, caso você não tenha certeza de qual pacote tem que instalar. A opção “info” vai exibir as informações completas do pacote conforme exemplificação abaixo, ainda utilizando o “bind-utils”.

# yum info bind-utils
Available Packages
Name        : bind-utils
Arch        : x86_64
Epoch       : 32
Version     : 9.8.2
Release     : 0.23.rc1.el6_5.1
Size        : 182 k
Repo        : updates
Summary     : Utilities for querying DNS name servers
URL         : http://www.isc.org/products/BIND/
License     : ISC
Description : Bind-utils contains a collection of utilities for querying DNS
            : (Domain Name System) name servers to find out information about
            : Internet hosts. These tools will provide you with the IP
            : addresses for given host names, as well as other information
            : about registered domains and network addresses.
            :
            : You should install bind-utils if you need to get information from
            : DNS name servers.

A mesma consulta pode ser feita para grupos com a opção “groupinfo”, ele listará além de informações básicas, qual a principal feature e suas dependências, por exemplo:

# yum groupinfo webserver
Group: Web Server
 Description: Allows the system to act as a web server, and run Perl and Python web applications.
 Mandatory Packages:
   httpd
 Default Packages:
   crypto-utils
   httpd-manual
   mod_perl
   mod_ssl
   mod_wsgi
   webalizer
 Optional Packages:
   Pound
   certmonger
   cherokee
   libmemcached
   memcached
   mod_auth_kerb
   mod_auth_mysql
   mod_auth_pgsql
   mod_authz_ldap
   mod_fcgid
   mod_nss
   mod_revocator
   mod_security
   moin
   perl-CGI
   perl-CGI-Session
   perl-Cache-Memcached
   plone
   python-memcached
   squid
   zope

3. yum localinstall

Para uma administração de instalação de pacotes mais centralizada, podemos instalar um pacote “.rpm” através dessa opção. Esta facilidade nos proporciona ainda um ambiente com menos stress nas instalações, pois desta forma o comando yum irá resolver todas as dependências do pacote.

# yum localinstall rpmforge-release.rpm 
Resolving Dependencies
–> Running transaction check
—> Package rpmforge-release.x86_64 0:0.5.3-1.el6.rf will be installed
–> Finished Dependency Resolution

Dependencies Resolved
=====================================================================
 Package             Arch      Version              Repository            Size
=====================================================================
Installing:
 rpmforge-release    x86_64    0.5.3-1.el6.rf       /rpmforge-release     13 k

Transaction Summary
=====================================================================
Install       1 Package(s)

Total size: 13 k
Installed size: 13 k
Is this ok [y/N]: y
Running Transaction
  Installing : rpmforge-release-0.5.3-1.el6.rf.x86_64                      1/1
  Verifying  : rpmforge-release-0.5.3-1.el6.rf.x86_64                      1/1

Installed:
  rpmforge-release.x86_64 0:0.5.3-1.el6.rf

Complete!

4. yum history

Por último e não menos importante, não mesmo. Este sub-comando te dá algumas das mais úteis opções, exemplo: Se você digitar apenas “yum history”, ele irá te listar as últimas instalações realizadas através do yum, INCLUSIVE a instalação do .rpm.

# yum history
ID     | Login user               | Date and time    | Action(s)      | Altered
——————————————————————————-
     5 | root <root>              | 2014-08-28 01:31 | Install         |    1
     4 | root <root>              | 2014-08-28 01:05 | Erase          |    1
     3 | root <root>              | 2014-08-17 21:52 | Install         |    1 >
     2 | root <root>              | 2014-08-17 21:50 | I, U             |   60
     1 | System <unset>       | 2014-08-17 21:44 | Install         |  205
Adicionando o ID da primeira coluna e algumas outras opções, podemos complementar o comando. Ex: " yum history sub-comando ID "

Lista quais pacotes e ações foram realizadas no horário informado.

# yum history info 5 

Lista os pacotes afetados/alterados no ID 5.

# yum history packages-list 5

Neste simples passo é possível desfazer tudo que foi realizado no ID 4. No exemplo, o pacote será reinstalado.

# yum history undo 4

Outros sub-comandos disponíveis podem ser consultados com a opção abaixo:

# yum help history
history [info | list|packages-list | summary | addon-info | redo | undo | rollback | new]
Display, or use, the transaction history
Essas foram apenas algumas dicas rápidas, até a próxima.

Fonte: 1. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Deployment_Guide/index.html#ch-yum 2. man yum