Consultar e Atualizar Pacotes com YUM no Linux

Red Hat Enterprise LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você adquirirá as habilidades essenciais para gerenciar pacotes de software em sistemas Linux baseados em RHEL utilizando o gerenciador de pacotes YUM. Você começará inspecionando os detalhes e as dependências dos pacotes instalados no momento através dos comandos yum list e yum deplist. Além disso, explorará os repositórios de software configurados em seu sistema com o yum repolist para entender a origem dos seus programas e o que está disponível para instalação.

Com base nesses conhecimentos fundamentais, o foco será direcionado para a manutenção e atualização do sistema. Você aprenderá a utilizar o comando yum check-update para identificar pacotes que possuem versões mais recentes disponíveis. Por fim, praticará a aplicação dessas atualizações, compreendendo a diferença entre atualizar um único pacote específico e realizar uma atualização completa do sistema para manter seu ambiente seguro e moderno.

Este é um Laboratório Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para concluir cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 98%. Ele recebeu uma taxa de avaliação positiva de 99% dos alunos.

Inspecionar um Pacote Instalado com 'yum list' e 'yum deplist'

Nesta etapa, você aprenderá a inspecionar pacotes instalados usando o yum, o gerenciador de pacotes padrão para CentOS e outras distribuições Linux baseadas em RHEL. Começaremos examinando o pacote bash, que fornece o ambiente de shell que você provavelmente está utilizando. Esses comandos ajudam a entender o que está instalado em seu sistema e de quais outros componentes um pacote depende para funcionar.

Primeiro, vamos usar o comando yum list para verificar o status de um pacote específico. Este comando informa se um pacote está instalado e qual versão está presente no sistema.

Para verificar os detalhes do pacote bash, execute o seguinte comando no seu terminal:

sudo yum list bash

Você verá uma saída semelhante a esta, confirmando que o bash está instalado. O símbolo @ na coluna do repositório (por exemplo, @anaconda ou @System) indica um pacote já instalado.

Installed Packages
bash.x86_64    <version>    @anaconda

Em seguida, vamos explorar o conceito de dependências. A maioria dos pacotes de software não é autossuficiente; eles dependem de outros pacotes, como bibliotecas ou ferramentas, para funcionar corretamente. Esses pacotes necessários são chamados de dependências. O comando yum deplist permite visualizar a lista completa de dependências de um determinado pacote.

Para ver todos os pacotes dos quais o bash depende, execute este comando:

sudo yum deplist bash

A saída listará cada dependência e o pacote que a fornece. Isso é crucial para entender como o yum resolve e gerencia as instalações de software.

package: bash.x86_64 <version>
  dependency: /bin/sh
   provider: bash.x86_64 <version>
  dependency: chkconfig
   provider: chkconfig.x86_64 <version>
  dependency: coreutils
   provider: coreutils.x86_64 <version>
  dependency: libc.so.6(GLIBC_2.15)(64bit)
   provider: glibc.x86_64 <version>
... (output truncated) ...

Ao utilizar o yum list e o yum deplist, você obtém uma compreensão clara dos pacotes instalados em seu sistema e de como eles se relacionam entre si.

Explorar Repositórios e Pacotes Disponíveis com 'yum repolist'

Nesta etapa, você aprenderá a explorar as fontes de software, conhecidas como repositórios, que o yum utiliza para localizar e instalar pacotes. Você também aprenderá a pesquisar novos pacotes que estão disponíveis para instalação no seu sistema.

Um repositório de pacotes é um local de armazenamento centralizado onde os pacotes de software são mantidos. Quando você solicita ao yum a instalação de um pacote, ele entra em contato com os repositórios configurados, baixa os arquivos necessários e os instala no sistema.

Para visualizar a lista de repositórios que estão habilitados no momento, utilize o comando yum repolist. Isso é útil para verificar quais fontes de software estão ativas.

Execute o seguinte comando no terminal:

sudo yum repolist

A saída exibirá uma lista com os IDs dos repositórios, seus nomes e a quantidade de pacotes que cada um contém. O resultado será parecido com este:

repo id                                                                                                                          repo name
rhui-rhel-9-for-x86_64-appstream-rhui-rpms                                                                                       Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs)
rhui-rhel-9-for-x86_64-baseos-rhui-rpms                                                                                          Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (RPMs)

Agora que você sabe onde o yum busca os pacotes, vamos descobrir quais estão disponíveis para instalação. O comando yum list available mostra todos os pacotes dos repositórios habilitados que ainda não estão instalados no seu sistema.

Executar apenas yum list available geraria uma lista extremamente longa. É mais prático pesquisar por algo específico. Vamos buscar pacotes disponíveis relacionados ao kernel do Linux. Você pode usar um caractere curinga (*) para encontrar vários nomes de pacotes correspondentes.

Execute este comando para listar todos os pacotes disponíveis que começam com kernel:

sudo yum list available 'kernel*'

As aspas simples em torno de kernel* são importantes para evitar que o shell tente expandir o curinga antes de enviar o comando ao yum. A saída mostrará uma lista de pacotes relacionados ao kernel, suas versões e o repositório de origem.

Available Packages
kernel-devel.x86_64      <version>      updates
kernel-doc.noarch        <version>      updates
kernel-headers.x86_64    <version>      updates
... (output truncated) ...

Esses comandos são fundamentais para o gerenciamento de software, permitindo que você visualize suas fontes de programas e descubra novas ferramentas para instalar.

Verificar Atualizações Disponíveis com 'yum check-update'

Nesta etapa, você aprenderá a verificar se existem atualizações de software disponíveis para os pacotes instalados no seu sistema. Manter o sistema atualizado é uma tarefa crítica para a segurança e estabilidade, pois as atualizações frequentemente contêm correções de vulnerabilidades, reparos de bugs e novos recursos.

O comando yum check-update oferece uma maneira segura de visualizar quais dos seus pacotes instalados possuem versões mais recentes nos repositórios. É importante notar que este comando apenas lista as atualizações disponíveis; ele não faz o download nem as instala. Isso permite que você revise as mudanças potenciais antes de aplicá-las.

Para verificar todas as atualizações disponíveis no seu sistema, execute o seguinte comando no terminal:

sudo yum check-update

O yum se conectará a todos os repositórios habilitados, atualizará o cache local de informações de pacotes e comparará as versões instaladas com as versões mais recentes disponíveis.

Se houver atualizações, você verá uma lista semelhante ao exemplo abaixo. Cada linha exibe o nome do pacote, a nova versão e o repositório de onde a atualização virá.

bind-libs.x86_64                 <version>      updates
bind-license.noarch              <version>      updates
curl.x86_64                      <version>      updates
glibc.x86_64                     <version>      updates
glibc-common.x86_64              <version>      updates
... (output truncated) ...

Se o seu sistema já estiver totalmente atualizado, o comando terminará sem listar nenhum pacote. Este comando é parte essencial da rotina de manutenção do sistema, fornecendo um panorama claro do estado do ambiente antes de prosseguir para o processo de atualização real nas próximas etapas.

Aplicar a Atualização de um Único Pacote com 'yum update '

Nesta etapa, você aplicará a atualização de um pacote específico. Na etapa anterior, você usou o yum check-update para ver a lista de todos os pacotes com atualizações disponíveis. Embora seja comum atualizar o sistema inteiro de uma vez, existem situações em que você pode querer atualizar apenas um pacote individual. Isso oferece maior controle sobre as alterações no sistema.

Vamos escolher um pacote da lista visualizada anteriormente para atualizar. Usaremos o curl como exemplo, que é uma ferramenta comum para transferência de dados. Se o curl não estiver na sua lista de atualizações, você pode escolher qualquer outro pacote daquela lista.

Antes de atualizar o pacote, precisamos fazer o downgrade do pacote curl para uma versão que possua uma atualização disponível.

sudo yum downgrade -y curl

Para atualizar apenas o pacote curl, execute o seguinte comando:

sudo yum update curl

O yum resolverá as dependências do curl, determinará o que precisa ser atualizado e apresentará um resumo da transação. Este resumo mostra quais pacotes serão atualizados e o tamanho total do download.

Resolving Dependencies
--> Running transaction check
---> Package curl.x86_64 0:<old_version> will be updated
---> Package curl.x86_64 0:<new_version> will be an update
--> Processing Dependency: libcurl = <new_version> for package: curl-<new_version>.x86_64
--> Running transaction check
---> Package libcurl.x86_64 0:<old_version> will be updated
---> Package libcurl.x86_64 0:<new_version> will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package      Arch         Version              Repository                 Size
================================================================================
Updating:
 curl         x86_64       <new_version>        updates                    <size>
Updating for dependencies:
 libcurl      x86_64       <new_version>        updates                    <size>

Transaction Summary
================================================================================
Upgrade  1 Package (+1 Dependent package)

Total download size: <total_size>
Is this ok [y/d/N]:

Revise as alterações. Se estiver pronto para prosseguir, digite y e pressione Enter. O yum então baixará e instalará as atualizações.

Após a conclusão do processo, você verá a mensagem "Complete!", confirmando que a atualização foi bem-sucedida.

...
Running transaction
  Updating   : libcurl-<new_version>.x86_64                                 1/4
  Updating   : curl-<new_version>.x86_64                                    2/4
  Cleanup    : curl-<old_version>.x86_64                                    3/4
  Cleanup    : libcurl-<old_version>.x86_64                                 4/4
  Verifying  : curl-<new_version>.x86_64                                    1/4
  ...

Updated:
  curl.x86_64 <new_version>

Dependency Updated:
  libcurl.x86_64 <new_version>

Complete!

Você atualizou com sucesso um único pacote e suas dependências. Essa abordagem direcionada é útil para aplicar patches de segurança específicos ou atualizações de recursos sem realizar um upgrade completo do sistema.

Realizar uma Atualização Completa do Sistema com 'yum update'

Nesta etapa, você realizará a tarefa de gerenciamento de pacotes mais comum e importante: uma atualização completa do sistema. Embora atualizar pacotes individuais seja útil, atualizar regularmente todo o software do sistema é crucial para manter a segurança, a estabilidade e receber as correções de bugs e recursos mais recentes.

O comando yum update, quando executado sem especificar o nome de um pacote, verificará todos os pacotes instalados em relação às versões disponíveis nos repositórios habilitados e atualizará cada pacote para o qual uma versão mais recente for encontrada.

Aviso: Este processo pode baixar uma grande quantidade de dados e levar um tempo considerável para ser concluído, dependendo de quantas atualizações estão disponíveis e da velocidade da sua conexão de rede.

Para iniciar a atualização completa do sistema, execute o seguinte comando no terminal:

sudo yum update

Assim como na atualização de um único pacote, o yum primeiro resolverá todas as dependências e apresentará um resumo da transação. Esta lista provavelmente será muito mais longa do que a anterior, pois inclui todos os pacotes que precisam ser atualizados.

Resolving Dependencies
--> Running transaction check
... (many packages listed) ...

Dependencies Resolved

================================================================================
 Package               Arch         Version              Repository        Size
================================================================================
Updating:
 bind-libs             x86_64       <version>            updates           <size>
 bind-license          noarch       <version>            updates           <size>
 glibc                 x86_64       <version>            updates           <size>
 glibc-common          x86_64       <version>            updates           <size>
 ... (many more packages) ...

Transaction Summary
================================================================================
Upgrade  <X> Packages

Total download size: <total_size>
Is this ok [y/d/N]:

Revise cuidadosamente a lista de pacotes a serem atualizados. Quando estiver pronto, digite n para pular a atualização desta vez, pois atualizar todos os pacotes pode demorar muito no ambiente de laboratório.

Parabéns! Você aprendeu como atualizar todo o seu sistema. Esta é uma habilidade fundamental para gerenciar qualquer servidor ou estação de trabalho Linux, garantindo que ele permaneça seguro e confiável.

Resumo

Neste laboratório, você aprendeu os fundamentos do gerenciamento de pacotes de software em um sistema Linux baseado em RHEL usando o gerenciador de pacotes YUM. Você começou inspecionando um pacote instalado com o yum list para verificar seu status e versão, e depois utilizou o yum deplist para examinar suas dependências. Também explorou as fontes de software configuradas, listando todos os repositórios ativos com o comando yum repolist.

O laboratório então o guiou pelo processo de atualização de pacotes. Você aprendeu a verificar atualizações disponíveis em todo o sistema sem instalá-las usando o yum check-update. Praticou a aplicação de uma atualização específica para um único pacote com yum update <package> e concluiu realizando uma atualização completa do sistema com o comando yum update para aplicar todos os patches e upgrades de software disponíveis, garantindo que o sistema permaneça atualizado e seguro.