Red Hat Training
A Red Hat training course is available for RHEL 8
Instalação, gerenciamento e remoção de componentes de espaço do usuário
Uma introdução ao AppStream e ao BaseOS no Red Hat Enterprise Linux 8
Resumo
Tornando o código aberto mais inclusivo
A Red Hat tem o compromisso de substituir a linguagem problemática em nosso código, documentação e propriedades da web. Estamos começando com estes quatro termos: master, slave, blacklist e whitelist. Por causa da enormidade deste esforço, estas mudanças serão implementadas gradualmente ao longo de vários lançamentos futuros. Para mais detalhes, veja a mensagem de nosso CTO Chris Wright.
Fornecendo feedback sobre a documentação da Red Hat
Agradecemos sua contribuição em nossa documentação. Por favor, diga-nos como podemos melhorá-la. Para fazer isso:
Para comentários simples sobre passagens específicas:
- Certifique-se de que você está visualizando a documentação no formato Multi-page HTML. Além disso, certifique-se de ver o botão Feedback no canto superior direito do documento.
- Use o cursor do mouse para destacar a parte do texto que você deseja comentar.
- Clique no pop-up Add Feedback que aparece abaixo do texto destacado.
- Siga as instruções apresentadas.
Para enviar comentários mais complexos, crie um bilhete Bugzilla:
- Ir para o site da Bugzilla.
- Como Componente, use Documentation.
- Preencha o campo Description com sua sugestão de melhoria. Inclua um link para a(s) parte(s) relevante(s) da documentação.
- Clique em Submit Bug.
Capítulo 1. Usando o AppStream
As seções seguintes fornecem uma visão geral dos conceitos relacionados ao repositório AppStream no Red Hat Enterprise Linux 8.
- Seção 1.1, “Distribuição do conteúdo no RHEL 8” descreve como o conteúdo do Red Hat Enterprise Linux 8 é dividido em BaseOS e AppStream.
- Seção 1.2, “Fluxos de aplicação” descreve o conceito de Fluxos de Aplicação.
- Seção 1.3, “Métodos de embalagem no RHEL 8” descreve os tipos de conteúdo fornecidos pela AppStream.
- Seção 1.4, “Gerenciamento de pacotes usando YUM no RHEL 8” descreve como o YUM o gerente de pacotes fornecido no Red Hat Enterprise Linux 8 combina as características tradicionais e modulares.
1.1. Distribuição do conteúdo no RHEL 8
O conteúdo da RHEL 8 é distribuído através dos dois repositórios principais: BaseOS e AppStream.
- BaseOS
- O conteúdo no repositório BaseOS destina-se a fornecer o conjunto central da funcionalidade do SO subjacente que fornece a base para todas as instalações. Este conteúdo está disponível no formato RPM e está sujeito a termos de suporte similares aos de versões anteriores do Red Hat Enterprise Linux.
- AppStream
- O conteúdo no repositório AppStream inclui aplicações adicionais de espaço do usuário, linguagens de tempo de execução e bancos de dados em apoio às diversas cargas de trabalho e casos de uso. O conteúdo no AppStream está disponível em um dos dois formatos - o familiar formato RPM e uma extensão para o formato RPM chamada modules.
Os conjuntos de conteúdo BaseOS e AppStream são necessários para uma instalação básica da RHEL, e estão disponíveis com todas as assinaturas RHEL. Para instruções de instalação, consulte o documento Executando uma instalação padrão RHEL.
1.2. Fluxos de aplicação
O Red Hat Enterprise Linux 8 introduz o conceito de Application Streams - versões de componentes de espaço do usuário. Múltiplas versões destes componentes são agora entregues e atualizadas mais freqüentemente do que os pacotes do sistema operacional principal. Isto proporciona maior flexibilidade para personalizar o Red Hat Enterprise Linux sem impactar a estabilidade subjacente da plataforma ou implementações específicas.
Os componentes disponibilizados como Application Streams podem ser empacotados como módulos ou pacotes RPM, e são entregues através do repositório AppStream no Red Hat Enterprise Linux 8. Cada Application Stream tem um determinado ciclo de vida, seja o mesmo que o RHEL 8 ou mais curto, mais adequado para a aplicação em particular. Os fluxos de aplicações com um ciclo de vida mais curto são listados na página do Red Hat Enterprise Linux 8 Application Streams Life Cycle Cycle.
Nem todos os módulos são Fluxos de Aplicação. As dependências de outros módulos não são consideradas Fluxos de Aplicação.
1.3. Métodos de embalagem no RHEL 8
O repositório AppStream contém conteúdo embalado de duas maneiras:
- Pacotes individuais de RPM
- Pacotes tradicionais de RPM disponíveis para instalação imediata.
- Módulos
- Os módulos são coleções de pacotes que representam uma unidade lógica: uma aplicação, uma pilha de idiomas, um banco de dados ou um conjunto de ferramentas. Estes pacotes são construídos, testados e lançados juntos.
1.4. Gerenciamento de pacotes usando YUM no RHEL 8
O YUM a ferramenta de gerenciamento de pacotes é agora baseada na tecnologia DNF e adiciona suporte para as novas características modulares.
Utilização de YUM não foi alterado no manuseio de pacotes individuais de RPM. Para lidar com o conteúdo modular, o comando yum module
foi adicionado. Veja Capítulo 4, Instalando o conteúdo do RHEL 8 para detalhes adicionais.
Quando necessário, a funcionalidade modular seleciona automaticamente a combinação apropriada de módulos e fluxos para permitir a instalação de conjuntos lógicos de pacotes para uso conveniente.
Capítulo 2. Introdução aos módulos
Além dos pacotes individuais de RPM, o repositório AppStream contém módulos. Um módulo é um conjunto de pacotes RPM que representam um componente e são normalmente instalados juntos. Um módulo típico contém pacotes com uma aplicação, pacotes com as bibliotecas de dependências específicas da aplicação, pacotes com documentação para a aplicação, e pacotes com utilitários de ajuda.
As seções subseqüentes descrevem outras características de organização e manuseio de conteúdo dentro dos módulos:
- Streams - organização do conteúdo por versão. Para mais detalhes, veja Seção 2.1, “Rios de módulos”.
- Perfis - organização do conteúdo por finalidade. Para mais detalhes, veja Seção 2.2, “Perfis dos módulos”.
2.1. Rios de módulos
Os fluxos de módulos são filtros que podem ser imaginados como repositórios virtuais no repositório físico AppStream. Os fluxos de módulos representam versões dos componentes do AppStream. Cada um dos fluxos recebe atualizações independentemente.
Os fluxos de módulos podem estar ativos ou inativos. Os fluxos ativos dão ao sistema acesso aos pacotes de RPM dentro do fluxo do módulo específico, permitindo a instalação da respectiva versão do componente. Os fluxos estão ativos ou se marcados como padrão ou se são explicitamente habilitados por uma ação do usuário.
Apenas um fluxo de um determinado módulo pode estar ativo em um determinado momento. Assim, apenas uma versão de um componente pode ser instalada em um sistema. Versões diferentes podem ser usadas em recipientes separados.
Cada módulo pode ter um fluxo padrão. Os fluxos padrão facilitam o consumo de pacotes RHEL da maneira usual, sem a necessidade de aprender sobre os módulos. O fluxo padrão está ativo, a menos que o módulo inteiro tenha sido desativado ou outro fluxo desse módulo ativado.
Certas correntes de módulos dependem de outras correntes de módulos. Por exemplo, os fluxos de módulos perl-App-cpanminus, perl-DBD-MySQL, perl-DBD-Pg, perl-DBD-SQLite, perl-DBI, perl-YAML, e freeradius dependem de certos fluxos de módulos perl.
Para selecionar um determinado fluxo para uma aplicação de usuário em tempo de execução ou uma aplicação de desenvolvedor, considere o seguinte:
- Funcionalidade necessária e quais as versões de componentes que a suportam
- Compatibilidade
- Duração dociclo de vida e seu plano de atualização
Para uma lista de todos os módulos e fluxos disponíveis, veja o manifesto do pacote. Para mudanças por componente, veja as Notas de Lançamento.
Exemplo 2.1. postgresql módulos de fluxos
O módulo postgresql fornece o PostgreSQL versões 9.6, 10 e 12 dos bancos de dados nas respectivas correntes 9.6, 10, e 12. A corrente 10 é atualmente a corrente padrão. Isto significa que o sistema tentará instalar o postgresql-10.6 pacote, se solicitado postgresql.
Recursos adicionais
- Para mais informações sobre dependências modulares, veja Seção 6.1, “Dependências modulares e mudanças de fluxo”.
- Para instruções sobre como atualizar os fluxos de módulos, veja Seção 6.5, “Mudando para um fluxo posterior”.
2.2. Perfis dos módulos
A profile é uma lista de pacotes recomendados para serem instalados juntos para um caso de uso particular, como para um servidor, cliente, desenvolvimento, instalação mínima, ou outro. Estas listas de pacotes podem conter pacotes fora do fluxo do módulo, geralmente do repositório BaseOS ou das dependências do fluxo.
A instalação de pacotes através de um perfil é uma ação única prevista para a conveniência do usuário. Ela não impede a instalação ou desinstalação de qualquer um dos pacotes fornecidos pelo módulo. Também é possível instalar pacotes usando múltiplos perfis do mesmo fluxo do módulo sem qualquer outra etapa preparatória.
Cada fluxo de módulos pode ter qualquer número de perfis, inclusive nenhum. Para qualquer fluxo de módulo, alguns de seus perfis podem ser marcados como default e são então usados para ações de instalação de perfis quando nenhum perfil é explicitamente especificado. Entretanto, a existência de um perfil padrão para um fluxo de módulos não é necessária.
Exemplo 2.2. httpd perfis dos módulos
O módulo httpd, que fornece o Apache oferece os seguintes perfis para instalação:
-
common
- uma implantação endurecida pronta para a produção, o perfil padrão -
devel
- os pacotes necessários para fazer modificações emhttpd
-
minimal
- o menor conjunto de pacotes que irá fornecer um servidor web em funcionamento
Capítulo 3. Encontrando o conteúdo do RHEL 8
As seções seguintes descrevem como localizar e examinar o conteúdo nos repositórios AppStream e BaseOS no Red Hat Enterprise Linux 8.
- Seção 3.1, “Procura de um pacote” descreve como pesquisar os pacotes que fornecem o conteúdo desejado.
- Seção 3.2, “Listagem dos módulos disponíveis” descreve como listar os módulos disponíveis e descobrir detalhes sobre eles.
- Exemplo 3.1, “Descobrindo detalhes sobre um módulo” contém um exemplo de passos necessários para examinar um módulo com mais detalhes.
- Seção 3.3, “Comandos para o conteúdo da listagem” fornece uma referência dos comandos úteis para inspecionar o conteúdo.
3.1. Procura de um pacote
Esta seção descreve os passos necessários para encontrar um pacote que forneça uma determinada aplicação ou outro conteúdo.
Pré-requisitos
- O nome da aplicação ou conteúdo desejado deve ser conhecido
Procedimento
Procure um pacote com uma cadeia de texto, como o nome do aplicativo:
Pesquisa de yum dólar "text string"
Veja detalhes sobre um pacote:
$ yum info package
3.2. Listagem dos módulos disponíveis
Esta seção descreve os passos necessários para encontrar quais módulos estão disponíveis e quais são seus detalhes.
Procedimento
Liste os fluxos de módulos disponíveis para seu sistema:
Lista de módulos $ yum
A saída deste comando lista os fluxos do módulo com nome, fluxo, perfis e resumo em uma linha separada.
Mostrar detalhes sobre um módulo, incluindo uma descrição, uma lista de todos os perfis, e uma lista de todos os pacotes fornecidos:
Informações do módulo $ yum module-name
Opcional: Você também pode listar quais destes pacotes são instalados por cada um dos perfis de módulo:
Informações sobre o módulo $ yum - perfil module-name
Exibir o status atual de um módulo, incluindo fluxos habilitados e perfis instalados:
Lista de módulos $ yum module-name
Recursos adicionais
Exemplo 3.1. Descobrindo detalhes sobre um módulo
Este exemplo mostra como localizar um módulo no repositório AppStream e como saber mais sobre seu conteúdo.
Os resultados neste exemplo foram editados por uma questão de brevidade. As saídas reais podem conter mais informações do que as mostradas aqui.
Procedimento
Liste os módulos disponíveis:
$
yum module list
Name Stream Profiles Summary (...) postgresql 9.6 client, PostgreSQL server and client module server [d] postgresql 10 [d] client, PostgreSQL server and client module server [d] postgresql 12 client, PostgreSQL server and client module server [d] (...) Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledExamine os detalhes do módulo postgresql:
$
yum module info postgresql
Name : postgresql Stream : 10 [d][a] Version : 820190104140132 Context : 9edba152 Profiles : client, server [d] Default profiles : server Repo : appstream Summary : PostgreSQL server and client module Description : (...) (...) Name : postgresql Stream : 12 Version : 8010120191120141335 Context : e4e244f9 Profiles : client, server [d] Default profiles : server Repo : appstream Summary : PostgreSQL server and client module Description : (...) (...) Name : postgresql Stream : 9.6 Version : 820190104140337 Context : 9edba152 Profiles : client, server [d] Default profiles : server Repo : appstream Summary : PostgreSQL server and client module Description : (...) (...) Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctiveComo nenhum fluxo é especificado, todos os fluxos são utilizados para a listagem.
Examine os perfis disponíveis no fluxo 10 do módulo postgresql:
$
yum module info --profile postgresql:10
(...) Name : postgresql:10:820190104140132:9edba152:x86_64 client : postgresql server : postgresql-serverCada um dos perfis instala um conjunto diferente de pacotes, incluindo suas dependências.
Instale o módulo postgresql usando o fluxo padrão 10 e o perfil server:
#
yum module install postgresql
Dependencies resolved. ==================================================================== Package Version Repository Size ==================================================================== Installing group/module packages: postgresql-server 10.6-1.module+el8+2469+5ecd5aae appstream 5.1 M Installing dependencies: libpq 10.5-1.el8 appstream 188 k postgresql 10.6-1.module+el8+2469+5ecd5aae appstream 1.5 M Installing module profiles: postgresql/server Enabling module streams: postgresql 10 Transaction Summary ==================================================================== Install 3 Packages Total download size: 6.7 M Installed size: 27 M Is this ok [y/N]: y (...)O fluxo 10 está habilitado e pacotes em seu perfil server instalados.
Inspecione o status atual do módulo postgresql:
$
yum module list postgresql
Name Stream Profiles Summary postgresql 9.6 client, server [d] (...) postgresql 10 [d][e] client, server [d] [i] (...) postgresql 12 client, server [d] (...) Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledA saída mostra que o fluxo padrão 10 está habilitado e seu perfil server está instalado.
3.3. Comandos para o conteúdo da listagem
A seguir estão os comandos comumente usados para encontrar o conteúdo e seus detalhes.
- Lista de pacotes disponíveis
Lista de yum disponível
- Pesquisar os repositórios YUM disponíveis para um pacote selecionado
US$ yum repoquery package
- Procura de um pacote usando uma cadeia de texto arbitrária
Pesquisa de yum dólar "text string"
- Mostrar detalhes para um pacote
$ yum info package
- Descubra quais módulos fornecem um pacote
O módulo $ yum fornece package
Se o pacote estiver disponível fora de qualquer módulo, a saída deste comando estará vazia.
- Lista de módulos disponíveis
Lista de módulos $ yum
- Exibir detalhes de um módulo
Informações do módulo $ yum module-name
- Listar pacotes instalados por perfis de um módulo usando o fluxo padrão
Informações sobre o módulo $ yum - perfil module-name
- Exibir pacotes instalados por perfis de um módulo usando um fluxo especificado
Informações sobre o módulo $ yum - perfil module-namestream
- Mostrar o status atual de um módulo
Lista de módulos $ yum module-name
Capítulo 4. Instalando o conteúdo do RHEL 8
As seções seguintes descrevem como instalar conteúdo no Red Hat Enterprise Linux 8.
- Seção 4.1, “Instalando um pacote” inclui passos para a instalação de um pacote.
- Seção 4.2, “Seleção de um fluxo antes da instalação de pacotes” descreve como selecionar um fluxo para instalação de pacotes.
- Seção 4.3, “Instalação de conteúdo modular” descreve os passos para instalar conjuntos de pacotes fornecidos por módulos, fluxos e perfis.
- Exemplo 4.1, “Instalação de um fluxo não inadimplente de uma aplicação” mostra um exemplo de passos necessários para instalar um conjunto de pacotes em uma versão não predefinida.
- Seção 4.4, “Executando o conteúdo instalado” fornece detalhes para executar o conteúdo instalado do RHEL 8.
- Seção 4.5, “Comandos para a instalação do conteúdo RHEL 8” fornece uma referência de comandos úteis para a instalação do conteúdo RHEL 8.
4.1. Instalando um pacote
Esta seção descreve como instalar pacotes.
Procedimento
Instale o pacote:
# instalação do yum package
- Se o pacote não for fornecido por nenhum fluxo de módulos, este procedimento é idêntico ao procedimento usado nas versões anteriores do Red Hat Enterprise Linux.
- Se o pacote for fornecido por um fluxo de módulos habilitado, o pacote é instalado sem qualquer outra manipulação.
-
Se o pacote for fornecido por um fluxo de módulos marcado como padrão, a ferramenta
yum
habilita automaticamente e de forma transparente esse fluxo de módulos antes de instalar este pacote. - Se o pacote for fornecido por um fluxo de módulos que não esteja ativo (nenhum dos casos acima), ele não será reconhecido até que você ative manualmente o respectivo fluxo de módulos.
4.2. Seleção de um fluxo antes da instalação de pacotes
Os fluxos de módulos padrão garantem que os usuários possam instalar pacotes sem se preocupar com as características modulares. Quando o usuário deseja pacotes com versão de um fluxo não predefinido, esse fluxo deve ser habilitado antes que os pacotes fornecidos por ele possam ser instalados.
Pré-requisitos
- Você deve entender o conceito de um active module stream.
Procedimento
Habilitar o fluxo do módulo:
# módulo yum habilitado module-namestream
Substituir module-name e stream pelos nomes do módulo e do fluxo.
yum
pede confirmação e o fluxo está habilitado e ativo. Se outro fluxo do módulo estava anteriormente ativo porque era padrão, ele não está mais ativo.
4.3. Instalação de conteúdo modular
Esta seção descreve como instalar o conteúdo modular fornecido por um fluxo de módulos ou por um perfil.
Pré-requisitos
- Você deve entender o conceito de um active module stream.
- Você não tem nenhum pacote instalado a partir de outro fluxo do mesmo módulo.
Procedimento
Instale um fluxo de módulo ativo (o padrão ou o que você habilitou):
# instalação do módulo yum module-name
Instalar um fluxo de módulos selecionado:
# instalação do módulo yum module-namestream
O fluxo selecionado é ativado automaticamente. Se um perfil padrão for definido para o fluxo, este perfil é automaticamente instalado.
Instale um perfil selecionado do fluxo do módulo:
# instalação do módulo yum module-name:stream/profile
Isto permite o fluxo e instala o conjunto de pacotes recomendado para um determinado fluxo (versão) e perfil (finalidade) do módulo.
Recursos adicionais
Exemplo 4.1. Instalação de um fluxo não inadimplente de uma aplicação
Este exemplo mostra como instalar uma aplicação a partir de um fluxo não inadimplente (versão).
Mais especificamente, este exemplo mostra como instalar o PostgreSQL servidor (pacote postgresql-server) na versão 9.6, enquanto o fluxo padrão fornece a versão 10.
Procedimento
Liste os módulos que fornecem o postgresql-server pacote para ver quais fluxos estão disponíveis:
$
yum module list postgresql
Name Stream Profiles Summary postgresql 9.6 client, server [d] PostgreSQL server and client module postgresql 10 [d] client, server [d] PostgreSQL server and client module postgresql 12 client, server [d] PostgreSQL server and client module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledA saída mostra que o módulo postgresql está disponível com os fluxos 9.6, 10 e 12. O fluxo padrão é 10.
Instale os pacotes fornecidos pelo módulo postgresql no fluxo 9.6:
#
yum module install postgresql:9.6
Dependencies resolved. ===================================================================== Package Version Repository Size ===================================================================== Installing group/module packages: postgresql-server 9.6.10-1.module+el8+2470+d1bafa0e appstream 5.0 M Installing dependencies: libpq 10.5-1.el8 appstream 188 k postgresql 9.6.10-1.module+el8+2470+d1bafa0e appstream 1.4 M Installing module profiles: postgresql/server Enabling module streams: postgresql 9.6 Transaction Summary ===================================================================== Install 3 Packages Total download size: 6.6 M Installed size: 27 M Is this ok [y/N]: y (...) Complete!Como o perfil de instalação não foi especificado, foi utilizado o perfil padrão server.
Verificar a versão instalada de PostgreSQL:
$ postgres --version postgres (PostgreSQL) 9.6.10
4.4. Executando o conteúdo instalado
Normalmente, depois de instalar o conteúdo dos repositórios RHEL 8, novos comandos serão habilitados. Se os comandos forem originados de um pacote RPM ou pacotes RPM habilitados por um módulo, a experiência de usar o comando não deve ser diferente. Para executar os novos comandos, use-os diretamente:
$ command
4.5. Comandos para a instalação do conteúdo RHEL 8
Esta seção lista os comandos comumente usados para instalar o conteúdo do RHEL 8.
Lista de comando
- Instalar um pacote
# instalação do yum package
Se o pacote for fornecido por um fluxo de módulos,
yum
resolve o fluxo de módulos necessário e o habilita automaticamente durante a instalação deste pacote. Isto também acontece de forma recorrente para todas as dependências do pacote. Se mais fluxos de módulos satisfizerem a exigência, são utilizados os fluxos padrão.- Habilitar um módulo usando seu fluxo padrão
# Módulo yum habilitado module-name
Ative o módulo quando desejar disponibilizar os pacotes para o sistema, mas não deseje, neste momento, instalar nenhum deles.
Alguns módulos podem não definir os fluxos padrão. Nesse caso, é necessário especificar explicitamente o fluxo.
- Habilitar um módulo usando um fluxo específico
# módulo yum habilitado module-namestream
Se o módulo definir um fluxo padrão, você pode omitir o fluxo e os dois pontos.
- Instalar um módulo usando o fluxo padrão e os perfis
# instalação do módulo yum module-name
Alternativamente:
# yum install @module-name
CuidadoAlguns módulos não definem os fluxos padrão.
- Instalar um módulo usando um fluxo específico e perfis padrão
# instalação do módulo yum module-namestream
Alternativamente:
# yum install @module-namestream
- Instalar um módulo usando um fluxo e um perfil específicos
# instalação do módulo yum module-name:stream/profile
Alternativamente:
# yum install @module-name:stream/profile
4.6. Recursos adicionais
Recursos on-line
- Para mais informações sobre os métodos tradicionais de instalação de software, consulte o capítulo Instalação de pacotes de software com yum no documento Configuring basic system settings.
Recursos instalados
Para obter detalhes de vários comandos de ferramentas
yum
, consulte a página do manualyum(8)
:R$ homem yum
Capítulo 5. Removendo o conteúdo do RHEL 8
As seções seguintes descrevem como remover conteúdo do Red Hat Enterprise Linux 8:
- Seção 5.1, “Remoção de pacotes instalados” descreve a remoção de um pacote.
- Seção 5.2, “Remoção do conteúdo modular instalado” descreve a remoção do conteúdo instalado de um fluxo de módulos ou de um perfil.
- Seção 5.3, “Reinicialização de fluxos de módulos” descreve a reposição dos fluxos do módulo para o estado inicial.
- Seção 5.4, “Comandos para remoção de conteúdo” resume os comandos para remoção de conteúdo.
5.1. Remoção de pacotes instalados
Esta seção descreve como remover pacotes.
Procedimento
Retire o pacote:
# yum remover package
O pacote é removido junto com qualquer outro pacote dependente.
5.2. Remoção do conteúdo modular instalado
Ao remover o conteúdo modular instalado, você pode remover pacotes tanto de um perfil selecionado quanto de todo o fluxo.
YUM tentará remover todos os pacotes com um nome correspondente aos pacotes instalados com um perfil ou um fluxo, incluindo seus pacotes dependentes. Verifique sempre a lista de pacotes a serem removidos antes de prosseguir, especialmente se você tiver habilitado repositórios personalizados em seu sistema.
5.2.1. Remoção de todos os pacotes de um fluxo de módulos
Quando você remove pacotes instalados com um fluxo de módulos, todos os pacotes com um nome correspondente aos pacotes instalados pelo fluxo são removidos, incluindo suas dependências, com exceção dos pacotes requeridos por outros módulos.
Pré-requisitos
- O fluxo do módulo foi ativado e pelo menos alguns pacotes do fluxo foram instalados.
- Você deve compreender a resolução de dependência modular.
Procedimento
Remover todos os pacotes de um fluxo selecionado:
# yum módulo remover -- todo module-namestream
Substitua module-name e stream pelo módulo e fluxo que você deseja desinstalar.
-
Verifique a lista de pacotes em
Removing:
eRemoving unused dependencies:
antes de prosseguir com a transação de remoção. - Opcionalmente, reiniciar ou desativar o fluxo.
Se você quiser remover apenas pacotes de um perfil selecionado, siga as instruções em Seção 5.2.2, “Remoção de pacotes de um perfil instalado”.
Exemplo 5.1. Remoção de pacotes de todo o fluxo
Este exemplo mostra como remover todos os pacotes do fluxo do módulo.
Procedimento
Instale o fluxo do módulo
php:7.3
, incluindo todos os perfis disponíveis:[root@rhel-8 ~]# yum module install php:7.3/* Updating Subscription Management repositories. Last metadata expiration check: 0:20:19 ago on Tue Mar 3 11:32:05 2020. Dependencies resolved. ========================================================================= Package Arch Version Repository Size ========================================================================= Installing group/module packages: libzip x86_64 1.5.2-1.module+el8.1.0+3189+a1bff096 rhel-8-for-x86_64-appstream-rpms 63 k php-cli x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 3.0 M php-common x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 663 k php-devel x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 735 k php-fpm x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 1.6 M php-json x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 73 k php-mbstring x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 610 k php-pear noarch 1:1.10.9-1.module+el8.1.0+3189+a1bff096 rhel-8-for-x86_64-appstream-rpms 359 k php-pecl-zip x86_64 1.15.4-1.module+el8.1.0+3189+a1bff096 rhel-8-for-x86_64-appstream-rpms 51 k php-process x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 84 k php-xml x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 188 k Installing dependencies: autoconf noarch 2.69-27.el8 rhel-8-for-x86_64-appstream-rpms 710 k ... Installing weak dependencies: perl-IO-Socket-IP noarch 0.39-5.el8 rhel-8-for-x86_64-appstream-rpms 47 k ... Installing module profiles: php/common php/devel php/minimal Enabling module streams: httpd 2.4 nginx 1.14 php 7.3 Transaction Summary ========================================================================= Install 73 Packages Total download size: 76 M Installed size: 220 M Is this ok [y/N]: y
Remover todos os pacotes do fluxo do módulo
php:7:3
:[root@rhel-8 ~]# yum module remove php:7.3 --all Updating Subscription Management repositories. Last metadata expiration check: 0:21:26 ago on Tue Mar 3 11:32:05 2020. Dependencies resolved. ========================================================================= Package Arch Version Repository Size ========================================================================= Removing: libzip x86_64 1.5.2-1.module+el8.1.0+3189+a1bff096 @rhel-8-for-x86_64-appstream-rpms 313 k php-cli x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 @rhel-8-for-x86_64-appstream-rpms 11 M php-common x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 @rhel-8-for-x86_64-appstream-rpms 6.5 M php-devel x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 @rhel-8-for-x86_64-appstream-rpms 5.3 M php-fpm x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 @rhel-8-for-x86_64-appstream-rpms 5.6 M php-json x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 @rhel-8-for-x86_64-appstream-rpms 53 k php-mbstring x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 @rhel-8-for-x86_64-appstream-rpms 1.9 M php-pear noarch 1:1.10.9-1.module+el8.1.0+3189+a1bff096 @rhel-8-for-x86_64-appstream-rpms 2.1 M php-pecl-zip x86_64 1.15.4-1.module+el8.1.0+3189+a1bff096 @rhel-8-for-x86_64-appstream-rpms 119 k php-process x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 @rhel-8-for-x86_64-appstream-rpms 117 k php-xml x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 @rhel-8-for-x86_64-appstream-rpms 557 k Removing unused dependencies: autoconf noarch 2.69-27.el8 @rhel-8-for-x86_64-appstream-rpms 2.2 M ... Disabling module profiles: php/common php/devel php/minimal Transaction Summary ========================================================================= Remove 73 Packages Freed space: 220 M Is this ok [y/N]: y
5.2.2. Remoção de pacotes de um perfil instalado
Quando você remove pacotes instalados com um perfil, todos os pacotes com um nome correspondente aos pacotes instalados pelo perfil são removidos, incluindo suas dependências, com exceção dos pacotes requeridos por um perfil diferente.
Pré-requisitos
-
O perfil selecionado foi instalado utilizando o
yum module install module-name:stream/profile
ou como um perfil padrão usando o comandoyum install module-name:stream
comando. - Você deve compreender a resolução de dependência modular.
Procedimento
Desinstalar pacotes pertencentes ao perfil selecionado:
# yum módulo remover module-name:stream/profile
Substitua module-name, stream, e profile pelo módulo, fluxo e perfil que você deseja desinstalar.
Alternativamente, desinstale os pacotes de todos os perfis instalados dentro de um fluxo:
# yum módulo remover module-namestream
Estas operações não removerão pacotes do fluxo que não pertençam a nenhum dos perfis.
-
Verifique a lista de pacotes em
Removing:
eRemoving unused dependencies:
antes de prosseguir com a transação de remoção.
Para remover todos os pacotes de um fluxo selecionado, siga as instruções em Seção 5.2.1, “Remoção de todos os pacotes de um fluxo de módulos”.
Exemplo 5.2. Remoção de pacotes de um perfil selecionado
Este exemplo mostra como remover pacotes pertencentes apenas a um perfil selecionado.
Procedimento
Instale o fluxo do módulo
php:7.3
, incluindo todos os perfis disponíveis:[root@rhel-8 ~]# yum module install php:7.3/* Updating Subscription Management repositories. Last metadata expiration check: 0:08:41 ago on Tue Mar 3 11:32:05 2020. Dependencies resolved. ========================================================================= Package Arch Version Repository Size ========================================================================= Installing group/module packages: libzip x86_64 1.5.2-1.module+el8.1.0+3189+a1bff096 rhel-8-for-x86_64-appstream-rpms 63 k php-cli x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 3.0 M php-common x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 663 k php-devel x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 735 k php-fpm x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 1.6 M php-json x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 73 k php-mbstring x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 610 k php-pear noarch 1:1.10.9-1.module+el8.1.0+3189+a1bff096 rhel-8-for-x86_64-appstream-rpms 359 k php-pecl-zip x86_64 1.15.4-1.module+el8.1.0+3189+a1bff096 rhel-8-for-x86_64-appstream-rpms 51 k php-process x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 84 k php-xml x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 rhel-8-for-x86_64-appstream-rpms 188 k Installing dependencies: autoconf noarch 2.69-27.el8 rhel-8-for-x86_64-appstream-rpms 710 k ... Installing weak dependencies: perl-IO-Socket-IP noarch 0.39-5.el8 rhel-8-for-x86_64-appstream-rpms 47 k ... Installing module profiles: php/common php/devel php/minimal Enabling module streams: httpd 2.4 nginx 1.14 php 7.3 Transaction Summary ========================================================================= Install 73 Packages Total download size: 76 M Installed size: 220 M Is this ok [y/N]: y
Remover pacotes do perfil
devel
:[root@rhel-8 ~]# yum module remove php:7.3/devel Updating Subscription Management repositories. Last metadata expiration check: 0:09:40 ago on Tue Mar 3 11:32:05 2020. Dependencies resolved. ========================================================================= Package Arch Version Repository Size ========================================================================= Removing: libzip x86_64 1.5.2-1.module+el8.1.0+3189+a1bff096 @rhel-8-for-x86_64-appstream-rpms 313 k php-devel x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 @rhel-8-for-x86_64-appstream-rpms 5.3 M php-pear noarch 1:1.10.9-1.module+el8.1.0+3189+a1bff096 @rhel-8-for-x86_64-appstream-rpms 2.1 M php-pecl-zip x86_64 1.15.4-1.module+el8.1.0+3189+a1bff096 @rhel-8-for-x86_64-appstream-rpms 119 k php-process x86_64 7.3.5-5.module+el8.1.0+4560+e0eee7d6 @rhel-8-for-x86_64-appstream-rpms 117 k Removing unused dependencies: autoconf noarch 2.69-27.el8 @rhel-8-for-x86_64-appstream-rpms 2.2 M ... Disabling module profiles: php/devel Transaction Summary ========================================================================= Remove 64 Packages Freed space: 193 M Is this ok [y/N]: y
5.3. Reinicialização de fluxos de módulos
Reiniciar um módulo é uma ação que devolve todas as suas correntes ao seu estado inicial - nem habilitadas nem desabilitadas. Se o módulo tiver um fluxo padrão, esse fluxo se torna ativo como resultado da reinicialização do módulo.
Procedimento
Redefinir o estado do módulo:
# reinicialização do módulo yum module-name
O módulo é devolvido ao estado inicial. As informações sobre um fluxo habilitado e perfis instalados são apagadas, mas nenhum conteúdo instalado é removido.
5.4. Comandos para remoção de conteúdo
Esta seção lista comandos comumente usados para remover conteúdo.
Lista de comando
- Remover um pacote
# yum remover package
- Remover pacotes de um perfil instalado
# yum módulo remover module-name:stream/profile
- Remover todas as embalagens de um fluxo ativo
# yum módulo remover -- todo module-namestream
- Redefinir um módulo para o estado inicial
# reinicialização do módulo yum module-name
- Desativar um módulo e todas as suas correntes
# módulo yum desativado module-name
Capítulo 6. Gerenciando versões do conteúdo do Application Stream
O conteúdo no repositório AppStream pode estar disponível em múltiplas versões, correspondendo a fluxos de módulos. Este capítulo descreve as operações que você precisa realizar ao alterar os fluxos de módulos habilitados de outras maneiras, além de habilitar apenas novos fluxos de módulos.
- Seção 6.1, “Dependências modulares e mudanças de fluxo” descreve as regras de dependência modular.
- Seção 6.2, “Interação de dependências modulares e não modulares” fornece detalhes de como as dependências dos fluxos de módulos afetam o manuseio de dependências de pacotes.
- o siteSeção 6.3, “Reinicialização de fluxos de módulos” fornece passos para a redefinição dos módulos ao seu estado inicial.
- Seção 6.4, “Desabilitando todos os fluxos de um módulo” fornece passos para desativar completamente um módulo e todas as suas correntes.
- Seção 6.5, “Mudando para um fluxo posterior” fornece passos para mudar para um fluxo posterior de um módulo.
6.1. Dependências modulares e mudanças de fluxo
Tradicionalmente, os pacotes que fornecem conteúdo dependem de outros pacotes, e geralmente especificam as versões de dependência desejadas. Para pacotes contidos em módulos, este mecanismo também se aplica, mas o agrupamento de pacotes e suas versões particulares em módulos e fluxos fornece outras restrições. Além disso, os fluxos de módulos podem declarar dependências em fluxos de outros módulos, independentemente dos pacotes contidos e fornecidos por eles.
Após qualquer operação com pacotes ou módulos, toda a árvore de dependência de todos os pacotes subjacentes instalados deve satisfazer todas as condições que os pacotes declaram. Além disso, todas as dependências do fluxo de módulos devem ser satisfeitas.
Como resultado:
- A habilitação de um fluxo de módulos pode exigir a habilitação de outros módulos.
- A instalação de um perfil de fluxo de módulos ou a instalação de pacotes a partir de um fluxo pode exigir a habilitação de outros módulos e a instalação de outros pacotes.
- A desativação de um fluxo de um módulo pode exigir a desativação de outros fluxos de módulos. Nenhum pacote será removido automaticamente.
- A remoção de um pacote pode exigir a remoção de outros pacotes. Se estes pacotes forem fornecidos por módulos, os fluxos de módulos permanecem habilitados em preparação para instalação posterior, mesmo que nenhum pacote destes fluxos seja mais instalado. Isto espelha o comportamento de um repositório yum não utilizado.
Não é possível habilitar um fluxo de um módulo quando outro fluxo do mesmo módulo já está habilitado. Para mudar o fluxo, siga o procedimento em Seção 6.5, “Mudando para um fluxo posterior”. Alternativamente, reinicie o módulo, e então habilite o novo fluxo. A remoção de todos os pacotes instalados de um fluxo antes de mudar para um fluxo diferente impede que o sistema chegue a estados onde os pacotes possam ser instalados sem nenhum repositório ou fluxo que os forneça.
Tecnicamente, o módulo de reinicialização não altera automaticamente nenhum pacote instalado. A remoção dos pacotes fornecidos pelo fluxo anterior e quaisquer pacotes que dependam deles é uma operação manual explícita.
6.2. Interação de dependências modulares e não modulares
As dependências modulares são uma camada adicional em cima das dependências RPM regulares. As dependências modulares comportam-se de forma semelhante às dependências hipotéticas entre os repositórios. Isto significa que a instalação de diferentes pacotes requer não somente a resolução das dependências RPM, mas também as dependências modulares devem ser resolvidas de antemão.
O sistema sempre manterá as escolhas de módulo e fluxo, a menos que explicitamente instruído a mudá-las. Um pacote modular receberá atualizações contidas no fluxo atualmente habilitado do módulo que fornece este pacote, mas não irá atualizar para uma versão contida em um fluxo diferente.
6.3. Reinicialização de fluxos de módulos
Reiniciar um módulo é uma ação que devolve todas as suas correntes ao seu estado inicial - nem habilitadas nem desabilitadas. Se o módulo tiver um fluxo padrão, esse fluxo se torna ativo como resultado da reinicialização do módulo.
Procedimento
Redefinir o estado do módulo:
# reinicialização do módulo yum module-name
O módulo é devolvido ao estado inicial. As informações sobre um fluxo habilitado e perfis instalados são apagadas, mas nenhum conteúdo instalado é removido.
6.4. Desabilitando todos os fluxos de um módulo
Os módulos que têm um fluxo padrão terão sempre um fluxo ativo. Em situações onde o conteúdo de todos os fluxos de módulos não deve ser acessível, é possível desativar o módulo inteiro.
Pré-requisitos
- Você deve entender o conceito de um active module stream.
Procedimento
Desativar o módulo:
# módulo yum desativado module-name
yum
pede confirmação e depois desabilita o módulo com todas as suas correntes. Todos os fluxos do módulo ficam inativos. Nenhum conteúdo instalado é removido.
6.5. Mudando para um fluxo posterior
Quando você muda para um fluxo de módulos posterior, todos os pacotes do módulo são substituídos por suas versões posteriores.
Este procedimento só é viável sob as condições descritas abaixo.
Pré-requisitos
- O sistema está totalmente atualizado.
- Nenhum pacote instalado no sistema é mais novo do que os pacotes disponíveis no repositório.
Procedimento
Execute o seguinte comando para determinar se seu sistema está preparado para mudar para um fluxo posterior:
# yum distro-sync
Este comando deve terminar com a mensagem Nothing to do. Complete!. Se, em vez disso, ele propõe mudanças e pede confirmação, reveja cuidadosamente estas mudanças e considere se você deseja prosseguir. Execute o comando
yum distro-sync
repetidamente, se necessário. Alternativamente, você pode recusar as mudanças sugeridas e modificar manualmente seu sistema para um estado em que o comando retorne Nothing to do. Complete!NotaAo verificar o resultado
yum distro-sync
antes de mudar os fluxos, você evita fazer mudanças no sistema que não estejam relacionadas com a mudança do fluxo, pois é necessário o mesmo comando que a última etapa deste procedimento.Mude o fluxo ativo para o posterior:
# yum module reset module-name # yum module enable module-name:new-stream
Sincronizar os pacotes instalados para realizar a mudança entre os fluxos:
# yum distro-sync
Se esta ação sugerir mudanças no conteúdo fora das correntes, revise-as cuidadosamente.
Nota-
Se determinados pacotes instalados dependerem do fluxo anterior e não houver uma versão compatível no fluxo posterior, yum irá relatar um conflito de dependência. Neste caso, use a opção
--allowerasing
para remover tais pacotes porque eles não podem ser instalados junto com o fluxo posterior devido à falta de dependências. -
Ao trocar os módulos Perl, a opção
--allowerasing
é sempre necessária porque certos pacotes na instalação base RHEL 8 dependem de Perl 5.26. -
Extensões binárias (normalmente escritas em C ou C ) para idiomas interpretados precisam ser reinstaladas depois que o novo fluxo for ativado; por exemplo, certos pacotes instalados pelo comando
gem
do móduloruby
, o comandonpm
do módulonodejs
, o comandocpan
do móduloperl
, ou o comandopecl
do módulophp
. Para mais informações, veja Como trocar os fluxos Ruby no RHEL 8.
-
Se determinados pacotes instalados dependerem do fluxo anterior e não houver uma versão compatível no fluxo posterior, yum irá relatar um conflito de dependência. Neste caso, use a opção
Alternativamente, remova todo o conteúdo do módulo instalado do fluxo atual, reinicie o módulo e instale o novo fluxo.