Instalar Software no Red Hat Enterprise Linux

Red Hat Enterprise LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você ganhará experiência prática na gestão de pacotes de software em sistemas Red Hat Enterprise Linux (RHEL) usando o DNF. Você começará compreendendo o comando subscription-manager para o registro de suporte da Red Hat, mesmo em um ambiente simulado. Posteriormente, explorará como recuperar e interpretar informações sobre pacotes RPM e, em seguida, dominará a instalação e a remoção de pacotes de software usando o DNF.

Além disso, este laboratório guiará você na gestão de repositórios de software DNF, incluindo a adição, ativação e desativação deles. Finalmente, você aprenderá a visualizar e compreender o histórico de transações do DNF, proporcionando 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.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar 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 91%. Recebeu uma taxa de avaliações positivas de 93% dos estudantes.

Registrar seu Sistema para Suporte da Red Hat

Neste passo, você aprenderá a 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, compreender 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, adicione 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 substituto. Isso demonstrará o uso do comando, embora o registro real exija credenciais válidas da Red Hat.

sudo subscription-manager register --username labex

Você será solicitado a fornecer uma senha. Como este é um ambiente simulado, você pode inserir qualquer senha ou simplesmente pressionar Enter se o sistema permitir. O comando provavelmente falhará ao conectar-se ao serviço de assinatura da Red Hat, o que é esperado neste ambiente de laboratório. O importante é entender a sintaxe do comando e seu uso pretendido.

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)

Finalmente, vamos ver como visualizar as assinaturas consumidas. Este comando mostra quais assinaturas estão atualmente associadas ao seu sistema.

sudo subscription-manager list --consumed

Como o sistema não está registrado, você verá uma mensagem indicando que não há assinaturas consumidas.

No consumed subscription pools were found.

Em seguida, vamos explorar como você normalmente listaria as assinaturas disponíveis para sua conta Red Hat. Este comando mostraria os diversos pools de assinatura associados à sua conta Red Hat.

sudo subscription-manager list --available

Como o sistema ainda não está registrado, você verá uma mensagem de erro indicando que o registro é necessário primeiro.

This system is not yet registered. Try 'subscription-manager register --help' for more information.

Este exercício demonstra o uso básico do subscription-manager para registro e visualização de informações de assinatura. Embora a funcionalidade completa seja limitada neste ambiente simulado, esses comandos são fundamentais para gerenciar o acesso a software em sistemas RHEL.

Explorar Informações de Pacotes RPM

Neste passo, você aprenderá a usar o comando rpm para investigar pacotes de software. RPM (Red Hat Package Manager) é o sistema de gerenciamento de pacotes principal 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 em seu sistema. Isso pode gerar uma lista muito longa, então vamos usar o head para ver apenas o início.

rpm -qa | head

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 um pacote instalado. Usaremos o próprio pacote dnf como exemplo.

rpm -qi dnf

Este comando fornece uma riqueza de informações, incluindo o nome do pacote, versão, lançamento, arquitetura, tamanho, resumo, URL, licença e uma descrição detalhada.

(Saída do comando)

Você também pode listar todos os arquivos instalados por um pacote. Isso pode ser útil para entender o que um pacote coloca em seu sistema.

rpm -ql dnf | head -n 10

Isso mostrará os dez primeiros arquivos instalados pelo pacote dnf.

(Saída do comando)

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.

(Saída do comando)

Finalmente, para visualizar as informações do log de alterações de um pacote, use --changelog. Isso pode fornecer insights sobre a história de atualizações e correções para um pacote. Vamos analisar o 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 em vez disso. 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 em seu sistema e os arquivos que eles contêm.

Instalar e Remover Pacotes de Software com o DNF

Neste passo, você aprenderá a 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 gerenciar repositórios de software. Ele lida automaticamente com dependências, tornando a gestão de software muito mais fácil do que apenas com o rpm.

Primeiro, vamos listar todos os pacotes disponíveis e instalados que contenham "http" em seus nomes. Isso lhe dará uma ideia dos pacotes relacionados a 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.

(Saída do comando)

Agora, vamos procurar pacotes que contenham "servidor web" em seus nomes, resumos ou descrições. A opção search all é útil para uma busca mais ampla.

sudo dnf search all 'web server'

Este comando retornará uma lista de pacotes que correspondem aos termos de busca.

(Saída do comando)

Vamos obter informações detalhadas sobre o pacote httpd, que é o servidor HTTP Apache.

sudo dnf info httpd

Isso exibirá detalhes abrangentes sobre o pacote, incluindo seu tamanho, licença e descrição.

(Saída do comando)

Agora, vamos instalar o pacote httpd. Você precisará de privilégios sudo para esta operação.

sudo dnf install httpd -y

O sinalizador -y responde automaticamente "sim" a quaisquer solicitações, o que é útil para scripts, mas use com cautela em ambientes de produção.

(Saída do comando)

Você pode verificar se o httpd está instalado consultando o rpm:

rpm -q httpd
(Saída do comando)

Agora, vamos remover o pacote httpd.

sudo dnf remove httpd -y

Isso removerá o pacote httpd e quaisquer dependências que não sejam mais necessárias por outros pacotes instalados.

(Saída do comando)

Você pode confirmar sua remoção:

rpm -q httpd
(Saída do comando)

Isso demonstra os comandos básicos do dnf para instalar e remover pacotes de software.

Gerenciar Repositórios de Software DNF

Neste passo, você aprenderá a gerenciar repositórios de software DNF. Repositórios são locais onde pacotes de software são armazenados e de onde o dnf os recupera. Compreender como listar, habilitar, desabilitar e adicionar repositórios é crucial para controlar quais softwares estão disponíveis em seu sistema.

Primeiro, vamos listar todos os repositórios DNF configurados e seus status (habilitados ou desabilitados).

sudo dnf repolist all

Você verá uma lista de IDs de repositório, nomes e seus status atuais.

(Saída do comando)

O comando dnf config-manager é uma ferramenta poderosa para gerenciar as 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 ser acessível neste ambiente de laboratório, o comando demonstra a sintaxe.

sudo dnf config-manager --enable rhel-9-server-debug-rpms

Você verá mensagens sobre gerenciamento de assinatura e um erro indicando que o repositório não foi encontrado, o que é esperado neste ambiente.

(Saída do comando)

Agora, vamos tentar desabilitar um repositório. Usaremos rhel-9-for-x86_64-appstream-rpms como exemplo. Observação: este nome de repositório específico não existe neste ambiente UBI, mas o comando demonstra a sintaxe.

sudo dnf config-manager --disable rhel-9-for-x86_64-appstream-rpms

Você verá mensagens de gerenciamento de assinatura e um erro indicando que o repositório não existe neste ambiente.

(Saída do comando)

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 no ambiente UBI.

(sem saída)

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

Novamente, você verá a mesma mensagem de erro:

(Saída do comando)

O comando dnf config-manager --add-repo também pode ser usado para adicionar novos repositórios especificando um URL. Para fins de demonstração, tentaremos adicionar um URL de repositório EPEL (Extra Packages for Enterprise Linux) comum. Embora isso possa não configurar totalmente o repositório (pois geralmente requer uma chave GPG e um arquivo .repo específico), ele mostra a capacidade do comando.

sudo dnf config-manager --add-repo="https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/"

Você verá uma saída indicando que um novo arquivo .repo foi criado.

(Saída do comando)

Você pode inspecionar o novo arquivo .repo em /etc/yum.repos.d/. O nome do arquivo será derivado do 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.

(Saída do comando)

Finalmente, 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

Este passo mostrou como listar, habilitar, desabilitar e adicionar repositórios DNF, habilidades essenciais para gerenciar fontes de software no RHEL.

Visualizar Histórico de Transações DNF

Neste passo, você aprenderá como visualizar o histórico de transações das operações 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 DNF que ocorreram em seu sistema.

sudo dnf history

Você verá uma tabela listando cada transação com um ID, a linha de comando usada, a data e hora, as ações executadas e o número de pacotes alterados.

ID     | Linha de comando              | Data e hora    | Ação(ões)      | Alterados
--------------------------------------------------------------------------------
     3 | install httpd             | 2024-04-22 08:00 | Instalar        |   10
     2 | remove httpd              | 2024-04-22 08:01 | Remover         |    6
     1 |                           | 2024-04-22 07:50 | Instalar        |  767 EE

A coluna ID é particularmente importante, pois permite que você se refira a transações específicas. Por exemplo, se você quiser ver informações detalhadas sobre uma transação específica, pode usar dnf history info <ID>. Vamos analisar os detalhes da última transação (que deve ser a remoção do httpd do passo anterior). Você pode encontrar o ID na saída do dnf history. No exemplo acima, é 2.

sudo dnf history info 2

Este comando fornece uma análise completa da transação selecionada, incluindo os pacotes removidos, suas versões e o motivo da ação.

(Saída do comando)

Um dos recursos mais poderosos do histórico DNF é a capacidade de desfazer ou refazer transações. Por exemplo, para desfazer a remoção do httpd, você usaria dnf history undo <ID>. Vamos desfazer a transação de remoção do httpd (usando o ID da sua saída dnf history, por exemplo, 2).

sudo dnf history undo 2 -y

Este comando reinstalará o pacote httpd e suas dependências que foram removidas nessa transação específica.

(Saída do comando)

Você pode verificar se o httpd agora está instalado novamente:

rpm -q httpd
(Saída do comando)

Finalmente, vamos remover o httpd novamente para deixar o sistema em um estado limpo para laboratórios futuros.

sudo dnf remove httpd -y
(Saída do comando)

Este passo demonstrou como usar dnf history para visualizar, inspecionar e até mesmo reverter transações DNF, fornecendo recursos poderosos para gerenciamento de sistema.

Resumo

Neste laboratório, aprendemos habilidades essenciais para gerenciar pacotes de software no Red Hat Enterprise Linux usando o DNF. Começamos compreendendo o comando subscription-manager, crucial para registrar sistemas com a Red Hat e acessar sua rede de entrega de conteúdo, embora o registro completo não tenha sido possível no ambiente simulado.

Em seguida, exploramos como consultar informações sobre pacotes RPM, instalar e remover software usando o DNF, gerenciar repositórios de software DNF e visualizar o histórico de transações DNF. Esses passos forneceram uma visão abrangente das capacidades do DNF para gerenciamento eficiente de software.