Introdução
Neste laboratório, você aprenderá as habilidades essenciais para gerenciar pacotes de software em sistemas Linux baseados em RHEL usando o gerenciador de pacotes YUM. Você começará inspecionando os detalhes e as dependências dos pacotes instalados atualmente usando os comandos yum list e yum deplist. Você também explorará os repositórios de software configurados no seu sistema com o yum repolist para entender a origem do seu software e o que está disponível.
Com base nessas habilidades fundamentais, você mudará seu foco para a manutenção e atualização do sistema. Você aprenderá a usar o yum check-update para identificar pacotes que possuem versões mais recentes disponíveis. Por fim, você praticará a aplicação dessas atualizações, aprendendo a distinção entre atualizar um pacote específico e realizar uma atualização completa do sistema para manter seu ambiente seguro e atualizado.
Inspecionar um pacote instalado com 'yum list' e 'yum deplist'
Nesta etapa, você aprenderá como inspecionar pacotes instalados usando o yum, o gerenciador de pacotes padrão do 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á usando. Esses comandos ajudam a entender o que está instalado no 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 pode informar se um pacote está instalado e qual versão está no seu sistema.
Para tornar a verificação do laboratório confiável, salve a saída do comando em /home/labex/project enquanto a inspeciona. Para verificar os detalhes do pacote bash, execute o seguinte comando no seu terminal:
sudo yum list bash | tee /home/labex/project/bash-package.txt
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 instalado.
Installed Packages
bash.x86_64 <version> @anaconda
A seguir, 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 que você veja uma lista completa de dependências para um determinado pacote.
Para ver todos os pacotes dos quais o pacote bash depende, execute este comando:
sudo yum deplist bash | tee /home/labex/project/bash-deplist.txt
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 usar yum list e yum deplist, você pode obter uma compreensão clara dos pacotes instalados no seu sistema e seus relacionamentos 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 usa para encontrar 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 que instale um pacote, ele entra em contato com os repositórios configurados, baixa os arquivos necessários e os instala no seu sistema.
Para ver uma lista dos repositórios que estão habilitados atualmente no seu sistema, você pode usar o comando yum repolist. Isso é útil para verificar quais fontes de software estão ativas.
Execute o seguinte comando no seu terminal e salve a saída para revisão posterior:
sudo yum repolist | tee /home/labex/project/yum-repolist.txt
A saída exibirá uma lista de IDs de repositório, seus nomes e o número de pacotes que eles contêm. Será algo parecido com isto:
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 procura pacotes, vamos descobrir quais pacotes estão disponíveis para instalação. O comando yum list available mostra todos os pacotes dos seus repositórios habilitados que ainda não estão instalados no seu sistema.
Executar yum list available sozinho produziria uma lista muito longa. É mais prático pesquisar algo específico. Vamos pesquisar pacotes disponíveis relacionados ao kernel do Linux. Você pode usar um caractere curinga (*) para corresponder a vários nomes de pacotes.
Execute este comando para listar todos os pacotes disponíveis que começam com kernel:
sudo yum list available 'kernel*' | tee /home/labex/project/yum-kernel-available.txt
As aspas simples ao redor de kernel* são importantes para evitar que o shell tente expandir o caractere curinga por conta própria. A saída mostrará uma lista de pacotes relacionados ao kernel disponíveis, suas versões e o repositório de onde vêm.
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 essenciais para gerenciar o software do seu sistema, permitindo que você veja suas fontes de software e descubra novas ferramentas para instalar.
Verificar atualizações disponíveis com 'yum check-update'
Nesta etapa, você aprenderá como verificar se há atualizações de software disponíveis para os pacotes instalados no seu sistema. Manter seu sistema atualizado é uma tarefa crítica para a segurança e estabilidade, pois as atualizações geralmente contêm patches para vulnerabilidades, correções de bugs e novos recursos.
O comando yum check-update oferece uma maneira segura de ver quais dos seus pacotes instalados possuem versões mais recentes disponíveis nos repositórios. É importante observar que este comando apenas lista as atualizações disponíveis; ele não as baixa nem as instala. Isso permite que você revise as possíveis alterações antes de aplicá-las.
Para verificar todas as atualizações disponíveis no seu sistema, execute o seguinte comando no seu terminal. A parte || true evita que o shell pare quando o yum check-update retornar o status 100, que é como o yum informa que há atualizações disponíveis.
sudo yum check-update | tee /home/labex/project/yum-check-update.txt || true
O yum agora se conectará a todos os seus repositórios habilitados, atualizará seu cache local de informações de pacotes e comparará as versões dos seus pacotes instalados com as versões mais recentes disponíveis.
Se houver atualizações disponíveis, você verá uma lista delas, semelhante ao exemplo a seguir. Cada linha mostra o nome do pacote, a nova versão e o repositório de onde ele será atualizado.
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 será concluído sem listar nenhum pacote. Este comando é uma parte essencial da manutenção rotineira do sistema, fornecendo uma visão clara do status do seu sistema antes de prosseguir com o processo de atualização real nas próximas etapas.
Aplicar uma atualização de pacote único com 'yum update '
Nesta etapa, você aplicará uma atualização de pacote específica. Na etapa anterior, você usou o yum check-update para ver uma lista de todos os pacotes com atualizações disponíveis. Embora seja comum atualizar todo o sistema de uma vez, há situações em que você pode querer atualizar apenas um único pacote. Isso lhe dá mais controle sobre as alterações no sistema.
Vamos escolher um pacote da lista que você viu 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 disponíveis, você pode escolher outro pacote dessa lista.
Antes de atualizar o pacote, precisamos fazer o downgrade do pacote curl para uma versão que tenha uma atualização disponível.
sudo yum downgrade -y curl
Para atualizar apenas o pacote curl, execute o seguinte comando:
sudo yum update curl | tee /home/labex/project/curl-update.txt
O yum agora 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 fará o download e instalará as atualizações.
Após a conclusão do processo, você verá uma 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!
Agora 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 uma atualização completa 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 a atualização de pacotes individuais seja útil, atualizar regularmente todo o software do seu sistema é crucial para manter a segurança, a estabilidade e receber os recursos e correções de bugs mais recentes.
O comando yum update, quando executado sem especificar um nome de pacote, verificará todos os pacotes instalados em relação às versões disponíveis nos seus 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 pode 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 seu terminal:
sudo yum update | tee /home/labex/project/full-system-update.txt
Semelhante à atualização de um único pacote, o yum primeiro resolverá todas as dependências e, em seguida, 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 para prosseguir, digite n para ignorar a atualização, pois levaria muito tempo para atualizar todos os pacotes neste ambiente de prática.
Você revisou a transação de atualização completa do sistema sem aplicá-la. Em uma janela de manutenção real, você executaria novamente sudo yum update e digitaria y quando estivesse pronto para instalar todas as atualizações disponíveis.
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 yum list para verificar seu status e versão, e depois usou yum deplist para examinar suas dependências. Você 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 como verificar atualizações disponíveis em todo o sistema sem instalá-las usando yum check-update. Você praticou a aplicação de uma atualização específica para um único pacote com yum update <package> e concluiu revisando a transação de atualização completa do sistema com o comando yum update, para que você possa reconhecer o que uma atualização completa do sistema faria antes de aprová-la.



