Pesquisa de site

Gerenciando pacotes de software com yum no RHEL7/CENTOS7


O utilitário padrão usado para gerenciar pacotes de software no Red Hat Enterprise Linux e CENTOS é yum, que significa gerenciador de atualização Yellowdog. Yum foi projetado para funcionar com repositórios, que são depósitos online de pacotes de software disponíveis.

YUM (atualizador do yellowdog modificado)

Ao instalar o Red Hat Enterprise Linux, ele solicita que você se registre no Red Hat Network (RHN). No RHN, são fornecidos diferentes repositórios. Após registrar-se no RHN, você poderá instalar pacotes de software que são verificados automaticamente pela Red Hat. Se estiver usando o CentOS, você terá acesso aos repositórios do CentOS. Entretanto, se você optar por instalar o Red Hat Enterprise Linux sem uma chave de registro, ele não poderá entrar em contato com os repositórios do RHN e você acabará sem nenhum repositório. Nesse caso, você deve ser capaz de especificar qual repositório deseja usar. Observe que os repositórios são específicos de um sistema operacional.

Para informar ao seu servidor qual repositório usar, você precisa criar um arquivo com um nome que termine em .repo. Nesse arquivo você precisa do seguinte conteúdo:

[label] O arquivo .repo pode conter repositórios diferentes, cada seção começando com um rótulo que identifica o repositório específico.
 name= Use isto para especificar o nome do repositório que você deseja usar.
 baseurl= Contém o URL que aponta para o local específico do repositório.
Nos arquivos de repositório fornecidos por padrão, você pode encontrar vários repositórios em um arquivo, . Isso é útil para agrupar repositórios que pertencem a um arquivo e geralmente é feito em arquivos de repositório fornecidos como padrão. Se você mesmo estiver criando arquivos de repositório, poderá criar arquivos separados para cada repositório.

Trabalhando com yum search

Para instalar pacotes com yum, primeiro você precisa saber o nome exato do pacote. O comando yum search pode ajudá-lo com isso. Quando você usa o yum search, ele primeiro entra em contato com os repositórios on-line (o que pode levar um minuto) e, em seguida, baixa os metadados mais recentes do repositório para a máquina local. Em seguida, yum search procura no nome e na descrição do pacote a string que você está procurando.

[root@centos Desktop]# yum search nmap
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: ftp.jaist.ac.jp
 * extras: mirror.nbrc.ac.in
 * nux-dextop: mirror.li.nux.ro
 * updates: mirror.nbrc.ac.in
============================== N/S matched: nmap ===============================
nmap-frontend.noarch : The GTK+ front end for nmap
nmap-ncat.x86_64 : Nmap's Netcat replacement
nmap.x86_64 : Network exploration tool and security scanner

 Name and summary matches only, use "search all" for everything.
yum info

Depois de pesquisar um pacote usando yum search, você pode usar ‘yum info package’ para visualizar informações adicionais sobre o pacote.

[root@centos Desktop]# yum info nmap
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: ftp.riken.jp
 * extras: mirror.nbrc.ac.in
 * nux-dextop: mirror.li.nux.ro
 * updates: mirror.nbrc.ac.in
Available Packages
Name        : nmap
Arch        : x86_64
Epoch       : 2
Version     : 6.40
Release     : 7.el7
Size        : 4.0 M
Repo        : base/7/x86_64
Summary     : Network exploration tool and security scanner
URL         : http://nmap.org/
License     : GPLv2 and LGPLv2+ and GPLv2+ and BSD
Description : Nmap is a utility for network exploration or security auditing.
            : It supports ping scanning (determine which hosts are up), many
            : port scanning techniques (determine what services the hosts are
            : offering), and TCP/IP fingerprinting (remote host operating system
            : identification). Nmap also offers flexible target and port
            : specification, decoy scanning, determination of TCP sequence
            : predictability characteristics, reverse-identd scanning, and more.
            : In addition to the classic command-line nmap executable, the Nmap
            : suite includes a flexible data transfer, redirection, and
            : debugging tool (netcat utility ncat), a utility for comparing scan
            : results (ndiff), and a packet generation and response analysis
            : tool (nping).

Instalando software com yum

podemos instalar pacotes usando o comando yum install package-name.

# yum install -y nmap

[root@centos ~]# yum install nmap
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: ftp.jaist.ac.jp
 * extras: mirror.nbrc.ac.in
 * nux-dextop: mirror.li.nux.ro
 * updates: mirrors.vinahost.vn
Resolving Dependencies
--> Running transaction check
---> Package nmap.x86_64 2:6.40-7.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================
 Package                          Arch                               Version                                   Repository                        Size
======================================================================================================================================================
Installing:
 nmap                             x86_64                             2:6.40-7.el7                              base                             4.0 M

Transaction Summary
======================================================================================================================================================
Install  1 Package

Total download size: 4.0 M
Installed size: 16 M
Is this ok [y/d/N]: y
Downloading packages:
nmap-6.40-7.el7.x86_64.rpm                                                                                                     | 4.0 MB  00:00:31     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 2:nmap-6.40-7.el7.x86_64                                                                                                           1/1 
  Verifying  : 2:nmap-6.40-7.el7.x86_64                                                                                                           1/1 

Installed:
  nmap.x86_64 2:6.40-7.el7                                                                                                                            

Complete!

Por padrão, ‘yum install’ solicitará que você aceite ou recuse antes de instalar os pacotes. Se você deseja que o yum seja instalado automaticamente sem aviso, use a opção -y.

Também poderíamos atualizar o pacote nmap. Basta alterar o comando de instalação para atualização

# yum update -y nmap

Desinstalar um pacote usando yum remove

[root@centos ~]# yum remove nmap
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package nmap.x86_64 2:6.40-7.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================================================
 Package                          Arch                               Version                                  Repository                         Size
======================================================================================================================================================
Removing:
 nmap                             x86_64                             2:6.40-7.el7                             @base                              16 M

Transaction Summary
======================================================================================================================================================
Remove  1 Package

Installed size: 16 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : 2:nmap-6.40-7.el7.x86_64                                                                                                           1/1 
  Verifying  : 2:nmap-6.40-7.el7.x86_64                                                                                                           1/1 

Removed:
  nmap.x86_64 2:6.40-7.el7                                                                                                                            

Complete!

Usando o comando Yum list você pode listar os pacotes disponíveis nos repositórios yum

lista #yum

[root@centos Desktop]# yum list |grep less
java-1.7.0-openjdk-headless.x86_64         1:1.7.0.91-2.6.2.3.el7     @anaconda 
java-1.8.0-openjdk-headless.x86_64         1:1.8.0.65-3.b17.el7       @anaconda 
less.x86_64                                458-9.el7                  @anaconda 
java-1.7.0-openjdk-headless.x86_64         1:1.7.0.95-2.6.4.0.el7_2   updates   
java-1.8.0-openjdk-headless.x86_64         1:1.8.0.71-2.b15.el7_2     updates   
java-1.8.0-openjdk-headless-debug.x86_64   1:1.8.0.71-2.b15.el7_2     updates   
lesstif.x86_64                             0.95.2-8.el7               epel      
lesstif-clients.x86_64                     0.95.2-8.el7               epel      
lesstif-devel.x86_64                       0.95.2-8.el7               epel      
lesstif-mwm.x86_64                         0.95.2-8.el7               epel      
libreoffice-headless.x86_64                1:4.3.7.2-5.el7_2.1        updates   
nodejs-less.noarch                         1.7.0-2.el7                epel      
php-lessphp.noarch                         0.5.0-2.el7                epel      
python-blessings.noarch                    1.5-3.el7                  epel      
python-lesscpy.noarch                      0.9j-4.el7                 epel      
wireless-tools.x86_64                      1:29-13.el7                epel      
wireless-tools-debuginfo.x86_64            1:29-9.1.el7.nux           nux-dextop
wireless-tools-devel.x86_64                1:29-13.el7                epel

Se quiser ver quais pacotes estão instalados em seu servidor, você pode usar o comando yum listinstalled.

lista #yum instalada

[root@centos Desktop]# yum list installed |grep less
java-1.7.0-openjdk-headless.x86_64    1:1.7.0.91-2.6.2.3.el7         @anaconda  
java-1.8.0-openjdk-headless.x86_64    1:1.8.0.65-3.b17.el7           @anaconda  
less.x86_64                           458-9.el7                      @anaconda  

O comando yum list também pode ser útil quando usado com o nome de um pacote específico como argumento.

Ao gerenciar serviços específicos em uma máquina Linux, muitas vezes você precisa de vários pacotes diferentes. Se, por exemplo, ao configurar seu servidor como um servidor web, você também precisar instalar pacotes adicionais como PHP em muitos casos. Em vez de pesquisar e instalar todos os pacotes individuais que pertencem a uma função específica, você pode simplesmente instalar o grupo , que instalará todos os pacotes que pertencem ao grupo.

[root@centos ~]# yum group list


Available Groups:
   CIFS file server
   Compatibility Libraries
   Console Internet Tools
   Desktop
   Desktop Platform
   Desktop Platform Development
   Development Tools
   Eclipse
   Educational Software
   Electronic Lab
   FCoE Storage Client
   Fedora Packager
   General Purpose Desktop
   Graphical Administration Tools
   Haskell
   Legacy UNIX Compatibility
   Messaging Client Support
   Messaging Server Support
   Milkymist
   MySQL Database client
   MySQL Database server
   NFS file server
   Network Storage Server
   SNMP Support
   Scientific Support
   Security Tools
   Server Platform
   Server Platform Development
   Smart Card Support
   Storage Availability Tools
   System Administration Tools
   System Management
   TeX support
   TurboGears application framework
   Virtualization
   Web-Based Enterprise Management
   Xfce
   iSCSI Storage Client
Done
yum groupinstall "<group name>"

podemos instalar um grupo de software específico usando a opção groupinstall.

Se você já instalou um grupo de software usando yum groupinstall e gostaria de atualizá-lo para a versão mais recente, use 'yum groupupdate' e podemos removê-lo usando yum groupremove

Yum repolist

Todos os comandos yum vão contra um ou mais repositórios yum. Para visualizar todos os repositórios yum que estão configurados em seu sistema, faça ‘yum repolist’ conforme mostrado abaixo.

O seguinte exibirá apenas os repositórios habilitados.

[root@centos Desktop]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: ftp.jaist.ac.jp
 * extras: mirror.nbrc.ac.in
 * nux-dextop: mirror.li.nux.ro
 * updates: mirror.nbrc.ac.in
repo id                repo name                                         status
!adobe-linux-x86_64    Adobe Systems Incorporated                            2
!base/7/x86_64         CentOS-7 - Base                                   9,007
!bsrtech               bsrtech                                           1,164
*!epel/x86_64          Extra Packages for Enterprise Linux 7 - x86_64    9,627
!extras/7/x86_64       CentOS-7 - Extras                                   226
!nux-dextop/x86_64     Nux.Ro RPMs for general desktop use               2,360
!updates/7/x86_64      CentOS-7 - Updates                                  919
repolist: 23,305

Yum fornece

Use ‘yum fornece’ se quiser saber 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, faça o seguinte.

[root@centos Desktop]# yum provides /etc/httpd/conf/httpd.conf
Loaded plugins: fastestmirror, langpacks

httpd-2.4.6-40.el7.centos.x86_64 : Apache HTTP Server
Repo        : base
Matched from:
Filename    : /etc/httpd/conf/httpd.conf



httpd-2.4.6-40.el7.centos.x86_64 : Apache HTTP Server
Repo        : @anaconda
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

Que delícia, limpo

O comando “yum clean all” não removerá apenas pacotes em cache, mas também quaisquer cabeçalhos. faço isso ocasionalmente para limpar tudo totalmente, caso haja cabeçalhos obsoletos – que também podem ocupar espaço.

pacotes yum clean
Elimine quaisquer pacotes em cache do sistema. Observe que pack-
as idades não são excluídas automaticamente após serem baixadas.

cabeçalhos limpos
Elimine todos os arquivos que o yum usa para determinar o
disponibilidade remota de pacotes. Usar esta opção forçará
yum para baixar todos os cabeçalhos na próxima vez que for executado.

sim, limpe tudo
Executa pacotes yum clean e cabeçalhos yum clean como acima.”

[root@centos Desktop]# yum clean
Loaded plugins: fastestmirror, langpacks
Error: clean requires an option: headers, packages, metadata, dbcache, plugins
, expire-cache, rpmdb, all
[root@centos Desktop]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: adobe-linux-x86_64 base bsrtech epel extras nux-dextop updates
Cleaning up everything
Cleaning up list of fastest mirrors

História do Yum

Ao trabalhar com yum, todas as ações são registradas no arquivo /var/log/yum.log. Você pode usar o comando yum history para obter uma visão geral de todas as ações que foram emitidas.

[root@centos ~]# yum history
Loaded plugins: fastestmirror, langpacks
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    10 | root <root>              | 2016-03-16 15:32 | Erase          |    1   
     9 | root <root>              | 2016-03-16 15:23 | Install        |    1   
     8 | root <root>              | 2016-03-16 14:52 | Install        |    1   
     7 | root <root>              | 2016-03-14 13:49 | Install        |    1   
     6 | root <root>              | 2016-03-14 13:48 | Install        |   37   
     5 | root <root>              | 2016-03-14 13:25 | Install        |    1   
     4 | root <root>              | 2016-03-14 13:25 | Update         |    1   
     3 | root <root>              | 2016-03-14 13:17 | Install        |    1  
     2 | root <root>              | 2016-03-14 12:47 | Install        |    1  
     1 | System <unset>           | 2016-03-14 11:17 | Install        | 1939   
history list

A partir do arquivo histórico é possível desfazer ações específicas; use yum history undo seguido pelo número da ação específica (mencionada como ID na saída acima) que você deseja desfazer.

No seu sistema, dois bancos de dados de pacotes são mantidos:
O banco de dados yum e
  O banco de dados rpm.
Ao instalar pacotes por meio do yum, o banco de dados yum é atualizado primeiro e depois as informações atualizadas são sincronizadas com o banco de dados RPM. Se você instalar pacotes usando o comando rpm, a atualização será gravada apenas no banco de dados rpm e não será atualizada no banco de dados yum, o que é um motivo importante para não usar mais o comando rpm para instalar pacotes de software.