Introdução
Neste laboratório, você ganhará experiência prática no gerenciamento de pacotes de software em sistemas Red Hat Enterprise Linux (RHEL) usando o DNF. Você começará entendendo o comando subscription-manager para registro de suporte da Red Hat, mesmo em um ambiente simulado. Posteriormente, você explorará como recuperar e interpretar informações de pacotes RPM e, em seguida, dominará a instalação e remoção de pacotes de software usando o DNF.
Além disso, este laboratório o guiará pelo gerenciamento de repositórios de software DNF, incluindo como adicioná-los, habilitá-los e desabilitá-los. Por fim, você aprenderá a visualizar e entender o histórico de transações do DNF, obtendo uma visão abrangente das operações de gerenciamento de pacotes.
Nota: Este laboratório requer conectividade de rede para baixar pacotes e acessar repositórios. Ele está disponível apenas para usuários do LabEx Pro.
Registrar seu sistema para suporte Red Hat
Nesta etapa, você aprenderá como registrar seu sistema para suporte da Red Hat usando o comando subscription-manager. Embora uma assinatura completa da Red Hat não esteja disponível neste ambiente simulado, entender o comando subscription-manager é crucial para gerenciar software em sistemas Red Hat Enterprise Linux. Este comando permite que você registre seu sistema na Red Hat, anexe assinaturas e acesse a rede de entrega de conteúdo da Red Hat para pacotes de software e atualizações.
Primeiro, vamos tentar registrar o sistema usando um nome de usuário de exemplo. Isso demonstrará o uso do comando, embora o registro real exija credenciais válidas da Red Hat.
sudo subscription-manager register --username labex --password labex 2>&1 | tee ~/project/subscription-register.txt
Este laboratório usa credenciais de exemplo para que o comando possa ser executado de forma não interativa. O comando falhará na autenticação, o que é esperado neste ambiente, e a saída será salva em ~/project/subscription-register.txt para revisão.
Registering to: subscription.rhsm.redhat.com:443/subscription
Password:
Invalid username or password. To create a login, please visit https://www.redhat.com/wapps/ugc/register.html (HTTP error code 401: Unauthorized)
Por fim, vamos ver quais repositórios estariam disponíveis por meio de assinaturas Red Hat em um sistema registrado.
sudo subscription-manager repos --list 2>&1 | tee ~/project/subscription-repos.txt
Como o sistema não está registrado, você verá uma mensagem indicando que não há repositórios baseados em assinatura disponíveis.
This system has no repositories available through subscriptions.
Em seguida, vamos verificar o status atual da assinatura deste sistema. Esta é uma maneira prática de confirmar que o sistema ainda não está registrado antes de trabalhar com o conteúdo de assinatura da Red Hat.
sudo subscription-manager status 2>&1 | tee ~/project/subscription-status.txt
Como o sistema ainda não está registrado, o comando informará esse status diretamente.
+-------------------------------------------+
System Status Details
+-------------------------------------------+
Overall Status: Not registered
Este exercício demonstra o uso básico do subscription-manager para registro e verificação de status. Embora a funcionalidade completa seja limitada neste ambiente simulado, esses comandos são fundamentais para entender o acesso a software em sistemas RHEL.
Explorar informações de pacotes RPM
Nesta etapa, você aprenderá como usar o comando rpm para investigar pacotes de software. O RPM (Red Hat Package Manager) é o sistema central de gerenciamento de pacotes usado pelo Red Hat Enterprise Linux. Embora o dnf (que você explorará mais tarde) seja uma ferramenta de nível superior para gerenciar pacotes de repositórios, o rpm permite consultar, verificar, instalar e desinstalar arquivos .rpm individuais.
Primeiro, vamos listar todos os pacotes RPM instalados no seu sistema. Isso pode gerar uma lista muito longa, então vamos redirecionar a saída para o head para ver apenas o início.
rpm -qa | head > ~/project/rpm-installed.txt
cat ~/project/rpm-installed.txt
Você verá uma lista de nomes de pacotes, versões e arquiteturas. Por exemplo:
libgcc-11.4.1-3.el9.x86_64
crypto-policies-20240202-1.git283706d.el9.noarch
tzdata-2024a-1.el9.noarch
subscription-manager-rhsm-certificates-20220623-1.el9.noarch
redhat-release-9.4-0.4.el9.x86_64
setup-2.13.7-10.el9.noarch
filesystem-3.16-2.el9.x86_64
basesystem-11-13.el9.noarch
pcre2-syntax-10.40-5.el9.noarch
ncurses-base-6.2-10.20210508.el9.noarch
Em seguida, vamos descobrir qual pacote fornece um arquivo específico. Usaremos /etc/yum.repos.d como exemplo, que é um diretório contendo arquivos de configuração de repositório DNF.
rpm -qf /etc/yum.repos.d
A saída mostrará o pacote que possui este diretório.
redhat-release-9.4-0.4.el9.x86_64
Agora, vamos obter informações detalhadas sobre o pacote que fornece o comando dnf.
DNF_PACKAGE=$(rpm -qf /usr/bin/dnf)
rpm -qi "$DNF_PACKAGE" > ~/project/dnf-package-info.txt
cat ~/project/dnf-package-info.txt
Esses comandos primeiro identificam qual RPM possui o /usr/bin/dnf e, em seguida, mostram metadados detalhados do pacote, incluindo versão, release, arquitetura, licença e resumo.
Name : dnf
Version : 4.14.0
Release : 9.el9
Architecture: noarch
Install Date: Thu Jul 18 15:50:10 2024
Group : Unspecified
Size : 2425281
License : GPLv2+
Signature : RSA/SHA256, Fri Nov 10 10:14:09 2023, Key ID 199e2f91fd431d51
Source RPM : dnf-4.14.0-9.el9.src.rpm
Build Date : Thu Oct 26 05:20:14 2023
Build Host : x86-64-01.build.eng.rdu2.redhat.com
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
URL : https://github.com/rpm-software-management/dnf
Summary : Package manager
Description :
Utility that allows users to manage packages on their systems.
It supports RPMs, modules and comps groups & environments.
Você também pode listar todos os arquivos instalados por um pacote. Isso pode ser útil para entender o que um pacote coloca no seu sistema.
rpm -ql dnf | head -n 10
Isso mostrará os primeiros 10 arquivos instalados pelo pacote dnf.
/usr/bin/dnf
/usr/lib/systemd/system/dnf-makecache.service
/usr/lib/systemd/system/dnf-makecache.timer
/usr/share/bash-completion
/usr/share/bash-completion/completions
/usr/share/bash-completion/completions/dnf
/usr/share/locale/ar/LC_MESSAGES/dnf.mo
/usr/share/locale/bg/LC_MESSAGES/dnf.mo
/usr/share/locale/bn/LC_MESSAGES/dnf.mo
/usr/share/locale/bn_IN/LC_MESSAGES/dnf.mo
Para ver apenas os arquivos de configuração instalados por um pacote, use a opção -qc. Vamos verificar o pacote openssh-clients.
rpm -qc openssh-clients
Isso listará os arquivos de configuração relacionados aos clientes SSH.
/etc/ssh/ssh_config
/etc/ssh/ssh_config.d/50-redhat.conf
Por fim, para visualizar as informações do log de alterações de um pacote, use --changelog. Isso pode fornecer insights sobre o histórico de atualizações e correções de um pacote. Vamos dar uma olhada no pacote audit.
rpm -q --changelog audit | head -n 5
Se o pacote não estiver instalado, você verá uma mensagem de erro:
package audit is not installed
Você pode tentar com um pacote instalado. Por exemplo, com o pacote setup:
rpm -q --changelog setup | head -n 5
Esses comandos rpm são ferramentas poderosas para entender os pacotes instalados no seu sistema e os arquivos que eles contêm.
Instalar e remover pacotes de software com DNF
Nesta etapa, você aprenderá como usar o dnf (Dandified YUM) para gerenciar pacotes de software. O dnf é o gerenciador de pacotes padrão no Red Hat Enterprise Linux 9 e é usado para instalar, atualizar e remover pacotes de software, bem como para gerenciar repositórios de software. Ele lida automaticamente com dependências, tornando o gerenciamento de software muito mais fácil do que apenas com o rpm.
Primeiro, vamos listar todos os pacotes disponíveis e instalados que possuem "http" em seu nome. Isso lhe dará uma ideia de quais pacotes estão relacionados aos serviços HTTP.
sudo dnf list 'http*'
Você verá uma lista de pacotes, indicando se eles estão instalados ou disponíveis para instalação.
Last metadata expiration check: 0:00:00 ago on Mon Apr 22 08:00:00 2024.
Available Packages
http-parser.i686 2.9.4-6.el9 rhel-9-for-x86_64-appstream-rpms
http-parser.x86_64 2.9.4-6.el9 rhel-9-for-x86_64-appstream-rpms
httpcomponents-client.noarch 4.5.13-2.el9 rhel-9-for-x86_64-appstream-rpms
httpcomponents-core.noarch 4.4.13-6.el9 rhel-9-for-x86_64-appstream-rpms
httpd.x86_64 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
httpd-devel.x86_64 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
httpd-filesystem.noarch 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
httpd-manual.noarch 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
httpd-tools.x86_64 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
Agora, vamos pesquisar pacotes que contenham "web server" em seu nome, resumo ou descrição. A opção search all é útil para uma pesquisa mais ampla.
sudo dnf search all 'web server'
Este comando retornará uma lista de pacotes que correspondem aos termos de pesquisa.
Last metadata expiration check: 0:00:00 ago on Mon Apr 22 08:00:00 2024.
================== Summary & Description Matched: web server ===================
nginx.x86_64 : A high performance web server and reverse proxy server
pcp-pmda-weblog.x86_64 : Performance Co-Pilot (PCP) metrics from web server logs
========================= Summary Matched: web server ==========================
libcurl.x86_64 : A library for getting files from web servers
libcurl.i686 : A library for getting files from web servers
======================= Description Matched: web server ========================
freeradius.x86_64 : High-performance and highly configurable free RADIUS server
git-instaweb.noarch : Repository browser in gitweb
http-parser.i686 : HTTP request/response parser for C
http-parser.x86_64 : HTTP request/response parser for C
httpd.x86_64 : Apache HTTP Server
mod_auth_openidc.x86_64 : OpenID Connect auth module for Apache HTTP Server
mod_jk.x86_64 : Tomcat mod_jk connector for Apache
mod_security.x86_64 : Security module for the Apache HTTP Server
varnish.i686 : High-performance HTTP accelerator
varnish.x86_64 : High-performance HTTP accelerator
Vamos obter informações detalhadas sobre o pacote httpd, que é o Apache HTTP Server.
sudo dnf info httpd
Isso exibirá detalhes abrangentes sobre o pacote, incluindo seu tamanho, licença e descrição.
Last metadata expiration check: 0:00:00 ago on Mon Apr 22 08:00:00 2024.
Available Packages
Name : httpd
Version : 2.4.51
Release : 5.el9
Architecture : x86_64
Size : 1.5 M
Source : httpd-2.4.51-5.el9.src.rpm
Repository : rhel-9-for-x86_64-appstream-rpms
Summary : Apache HTTP Server
URL : https://httpd.apache.org/
License : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
Agora, vamos instalar o pacote httpd. Você precisará de privilégios sudo para esta operação.
sudo dnf install httpd -y | tee ~/project/httpd-install.txt
O sinalizador -y responde automaticamente "yes" a quaisquer prompts, o que é útil para scripts, mas deve ser usado com cautela em ambientes de produção.
Last metadata expiration check: 0:00:00 ago on Mon Apr 22 08:00:00 2024.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
httpd x86_64 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
1.5 M
Installing dependencies:
apr x86_64 1.7.0-11.el9 rhel-9-for-x86_64-appstream-rpms
126 k
apr-util x86_64 1.6.1-20.el9 rhel-9-for-x86_64-appstream-rpms
106 k
apr-util-bdb x86_64 1.6.1-20.el9 rhel-9-for-x86_64-appstream-rpms
13 k
apr-util-openssl x86_64 1.6.1-20.el9 rhel-9-for-x86_64-appstream-rpms
15 k
httpd-filesystem noarch 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
14 k
httpd-tools x86_64 2.4.51-5.el9 rhel-9-for-x86_64-appstream-rpms
100 k
mailcap noarch 2.1.49-5.el9 rhel-9-for-x86_64-baseos-rpms
36 k
mod_http2 x86_64 1.15.7-5.el9 rhel-9-for-x86_64-appstream-rpms
150 k
redhat-logos-httpd noarch 90.4-1.el9 rhel-9-for-x86_64-appstream-rpms
20 k
Transaction Summary
================================================================================
Install 10 Packages
Total download size: 2.1 M
Installed size: 6.9 M
Downloading Packages:
... (downloading package details omitted) ...
Running transaction
... (installation progress omitted) ...
Installed:
apr-1.7.0-11.el9.x86_64
apr-util-1.6.1-20.el9.x86_64
apr-util-bdb-1.6.1-20.el9.x86_64
apr-util-openssl-1.6.1-20.el9.x86_64
httpd-2.4.51-5.el9.x86_64
httpd-filesystem-2.4.51-5.el9.noarch
httpd-tools-2.4.51-5.el9.x86_64
mailcap-2.1.49-5.el9.noarch
mod_http2-1.15.7-5.el9.x86_64
redhat-logos-httpd-90.4-1.el9.noarch
Complete!
Você pode verificar se o httpd está instalado consultando o rpm:
rpm -q httpd
httpd-2.4.51-5.el9.x86_64
Agora, vamos remover o pacote httpd.
sudo dnf remove httpd -y | tee ~/project/httpd-remove.txt
Isso removerá o pacote httpd e quaisquer dependências que não sejam mais necessárias por outros pacotes instalados.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Removing:
httpd x86_64 2.4.51-5.el9 @appstream 4.7 M
Removing dependent packages:
apr-util-bdb x86_64 1.6.1-20.el9 @appstream 13 k
apr-util-openssl x86_64 1.6.1-20.el9 @appstream 15 k
httpd-filesystem noarch 2.4.51-5.el9 @appstream 14 k
mod_http2 x86_64 1.15.7-5.el9 @appstream 150 k
redhat-logos-httpd noarch 90.4-1.el9 @appstream 20 k
Transaction Summary
================================================================================
Remove 6 Packages
Freed space: 4.9 M
... (transaction progress omitted) ...
Removed:
apr-util-bdb-1.6.1-20.el9.x86_64
apr-util-openssl-1.6.1-20.el9.x86_64
httpd-2.4.51-5.el9.x86_64
httpd-filesystem-2.4.51-5.el9.noarch
mod_http2-1.15.7-5.el9.x86_64
redhat-logos-httpd-90.4-1.el9.noarch
Complete!
Você pode confirmar sua remoção:
rpm -q httpd
package httpd is not installed
Isso demonstra os comandos básicos do dnf para instalar e remover pacotes de software.
Gerenciar repositórios de software DNF
Nesta etapa, você aprenderá como gerenciar repositórios de software DNF. Repositórios são locais onde os pacotes de software são armazenados e de onde o dnf os recupera. Entender como listar, habilitar, desabilitar e adicionar repositórios é crucial para controlar qual software está disponível em seu sistema.
Primeiro, vamos listar todos os repositórios DNF configurados e seu status (habilitado ou desabilitado).
sudo dnf repolist all > ~/project/dnf-repolist.txt
cat ~/project/dnf-repolist.txt
Você verá uma lista de IDs de repositório, nomes e seu status atual. Os nomes exatos dos repositórios dependem da imagem usada para o laboratório.
repo id repo name status
rhui-rhel-10-for-x86_64-appstream-rhui-rpms Red Hat Enterprise enabled
rhui-rhel-10-for-x86_64-baseos-rhui-rpms Red Hat Enterprise enabled
rhui-rhel-10-for-x86_64-appstream-rhui-debug-rpms Red Hat Enterprise disabled
O comando dnf config-manager é uma ferramenta poderosa para gerenciar configurações de repositório. Você pode usá-lo para habilitar ou desabilitar repositórios. Por exemplo, vamos tentar habilitar um repositório de depuração hipotético. Embora este repositório específico possa não existir ou não estar acessível neste ambiente de laboratório, o comando demonstra a sintaxe.
sudo dnf config-manager --enable rhel-9-server-debug-rpms 2>&1 | tee ~/project/dnf-enable-debug.txt
Você verá mensagens sobre gerenciamento de assinatura e um erro indicando que o repositório não foi encontrado, o que é esperado neste ambiente.
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Error: No matching repo to modify: rhel-9-server-debug-rpms.
Agora, vamos tentar desabilitar um repositório. Usaremos rhel-9-for-x86_64-appstream-rpms como exemplo. Nota: Este nome de repositório específico não existe na imagem atual do laboratório, mas o comando demonstra a sintaxe.
sudo dnf config-manager --disable rhel-9-for-x86_64-appstream-rpms 2>&1 | tee ~/project/dnf-disable-appstream.txt
Você verá mensagens de gerenciamento de assinatura e um erro indicando que o repositório não existe neste ambiente.
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Error: No matching repo to modify: rhel-9-for-x86_64-appstream-rpms.
Vamos verificar se este nome de repositório não existe no sistema atual:
sudo dnf repolist all | grep rhel-9-for-x86_64-appstream-rpms
Como esperado, não haverá saída, pois este repositório não existe na imagem atual do laboratório.
(no output)
Vamos tentar o mesmo comando de habilitação para confirmar que o repositório não existe:
sudo dnf config-manager --enable rhel-9-for-x86_64-appstream-rpms 2>&1 | tee ~/project/dnf-enable-appstream.txt
Novamente, você verá a mesma mensagem de erro:
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Error: No matching repo to modify: rhel-9-for-x86_64-appstream-rpms.
O comando dnf config-manager --add-repo também pode ser usado para adicionar novos repositórios especificando uma URL. Para fins de demonstração, tentaremos adicionar uma URL comum de repositório EPEL (Extra Packages for Enterprise Linux). Embora isso possa não configurar totalmente o repositório (pois geralmente requer uma chave GPG e um arquivo .repo específico), mostra a capacidade do comando.
sudo dnf config-manager --add-repo="https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/" 2>&1 | tee ~/project/dnf-add-repo.txt
Você verá uma saída indicando que um novo arquivo .repo foi criado.
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Adding repo from: https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/
Você pode inspecionar o arquivo .repo recém-criado em /etc/yum.repos.d/. O nome do arquivo será derivado da URL.
ls /etc/yum.repos.d/
Você deve ver um arquivo como dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo junto com os arquivos de repositório existentes.
dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo redhat.repo ubi.repo
Por fim, vamos remover o arquivo de configuração do repositório que acabamos de adicionar para limpar.
sudo rm /etc/yum.repos.d/dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo
Esta etapa mostrou como listar, habilitar, desabilitar e adicionar repositórios DNF, que são habilidades essenciais para gerenciar fontes de software no RHEL.
Visualizar o histórico de transações do DNF
Nesta etapa, você aprenderá como visualizar o histórico de transações das operações do DNF. O dnf mantém um registro detalhado de todas as instalações, remoções e atualizações de pacotes. Este histórico é inestimável para solução de problemas, auditoria e até mesmo para reverter alterações, se necessário.
Primeiro, vamos visualizar o resumo de todas as transações do DNF que ocorreram em seu sistema.
sudo dnf history | tee ~/project/dnf-history.txt
Você verá uma tabela listando cada transação com um ID, a linha de comando usada, a data e hora, a(s) ação(ões) realizada(s) e o número de pacotes alterados.
ID | Command line | Date and time | Action(s) | Altered
--------------------------------------------------------------------------------
3 | install httpd | 2024-04-22 08:00 | Install | 10
2 | remove httpd | 2024-04-22 08:01 | Remove | 6
1 | | 2024-04-22 07:50 | Install | 767 EE
A coluna ID é particularmente importante, pois permite que você se refira a transações específicas. Neste laboratório, você pode capturar o ID da transação de remoção do httpd da saída do histórico e reutilizá-lo nos próximos comandos.
HTTPD_REMOVE_ID=$(sudo dnf history | awk '/remove httpd/ && $1 ~ /^[0-9]+$/ {print $1; exit}')
echo "$HTTPD_REMOVE_ID"
sudo dnf history info "$HTTPD_REMOVE_ID" | tee ~/project/dnf-history-info.txt
Este comando fornece um detalhamento abrangente da transação selecionada, incluindo os pacotes que foram removidos, suas versões e o motivo da ação.
Transaction ID : 2
Begin time : Mon Apr 22 08:01:00 2024
Begin rpmdb : 777:a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3
End time : Mon Apr 22 08:01:05 2024 (5 seconds)
End rpmdb : 771:a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3
User : labex <labex>
Return Code : Success
Command Line : dnf remove httpd -y
Packages Altered:
Removed apr-util-bdb-1.6.1-20.el9.x86_64
Removed apr-util-openssl-1.6.1-20.el9.x86_64
Removed httpd-2.4.51-5.el9.x86_64
Removed httpd-filesystem-2.4.51-5.el9.noarch
Removed mod_http2-1.15.7-5.el9.x86_64
Removed redhat-logos-httpd-90.4-1.el9.noarch
Um dos recursos mais poderosos do histórico do DNF é a capacidade de desfazer ou refazer transações. Vamos desfazer a transação de remoção do httpd reutilizando o valor HTTPD_REMOVE_ID que você acabou de capturar.
sudo dnf history undo "$HTTPD_REMOVE_ID" -y | tee ~/project/dnf-history-undo.txt
Este comando reinstalará o pacote httpd e suas dependências que foram removidas nessa transação específica.
Last metadata expiration check: 0:00:00 ago on Mon Apr 22 08:00:00 2024.
Undoing transaction 2, from Mon Apr 22 08:01:00 2024
Removed apr-util-bdb-1.6.1-20.el9.x86_64
Removed apr-util-openssl-1.6.1-20.el9.x86_64
Removed httpd-2.4.51-5.el9.x86_64
Removed httpd-filesystem-2.4.51-5.el9.noarch
Removed mod_http2-1.15.7-5.el9.x86_64
Removed redhat-logos-httpd-90.4-1.el9.noarch
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
httpd x86_64 2.4.51-5.el9 ubi-9-appstream-rpms 1.5 M
Installing dependencies:
apr x86_64 1.7.0-11.el9 ubi-9-appstream-rpms 126 k
apr-util x86_64 1.6.1-20.el9 ubi-9-appstream-rpms 106 k
apr-util-bdb x86_64 1.6.1-20.el9 ubi-9-appstream-rpms 13 k
apr-util-openssl x86_64 1.6.1-20.el9 ubi-9-appstream-rpms 15 k
httpd-filesystem noarch 2.4.51-5.el9 ubi-9-appstream-rpms 14 k
httpd-tools x86_64 2.4.51-5.el9 ubi-9-appstream-rpms 100 k
mailcap noarch 2.1.49-5.el9 ubi-9-baseos-rpms 36 k
mod_http2 x86_64 1.15.7-5.el9 ubi-9-appstream-rpms 150 k
redhat-logos-httpd noarch 90.4-1.el9 ubi-9-appstream-rpms 20 k
Transaction Summary
================================================================================
Install 10 Packages
Total download size: 2.1 M
Installed size: 6.9 M
... (installation progress omitted) ...
Complete!
Você pode verificar se o httpd está instalado novamente:
rpm -q httpd
httpd-2.4.51-5.el9.x86_64
Por fim, vamos remover o httpd novamente para deixar o sistema em um estado limpo para futuros laboratórios.
sudo dnf remove httpd -y | tee ~/project/dnf-history-final-remove.txt
... (output omitted) ...
Complete!
Esta etapa demonstrou como usar o dnf history para visualizar, inspecionar e até mesmo reverter transações do DNF, fornecendo recursos poderosos para o gerenciamento do sistema.
Resumo
Neste laboratório, aprendemos habilidades essenciais para gerenciar pacotes de software no Red Hat Enterprise Linux usando o DNF. Começamos entendendo o comando subscription-manager, crucial para registrar sistemas na Red Hat e acessar sua rede de entrega de conteúdo, embora o registro completo não fosse possível no ambiente simulado.
Posteriormente, exploramos como consultar informações de pacotes RPM, instalar e remover software usando o DNF, gerenciar repositórios de software DNF e visualizar o histórico de transações do DNF. Essas etapas forneceram uma visão abrangente das capacidades do DNF para um gerenciamento de software eficiente.



