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
Lista quais pacotes e ações foram realizadas no horário informado.
Lista os pacotes afetados/alterados no ID 5.
Neste simples passo é possível desfazer tudo que foi realizado no ID 4. No exemplo, o pacote será reinstalado.
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
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