Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 5. Novas características no RHEL 8

Esta seção documenta as mudanças mais notáveis na embalagem RPM entre o Red Hat Enterprise Linux 7 e 8.

5.1. Apoio para dependências fracas

5.1.1. Introdução à política de dependências fracas

Weak dependencies são variantes da diretiva Requires. Estas variantes são comparadas com o virtual Provides: e nomes de pacotes usando Epoch-Version-Release comparações de faixa.

Weak dependencies tem dois pontos fortes (weak e hint) e duas direções (forward e backward), conforme resumido na tabela a seguir.

Nota

A direção forward é análoga a Requires:. O backward não tem análogo no sistema de dependência anterior.

Tabela 5.1. Possíveis combinações de forças e direções de dependências fracas

Força/DireçãoAvançarPara trás

Fraco

Recomenda:

Suplementos:

Dica

Sugere:

Aprimoramentos:

As principais vantagens da política Weak dependencies são:

  • Permite instalações mínimas menores, mantendo o recurso de instalação padrão rico.
  • Os pacotes podem especificar preferências para fornecedores específicos, mantendo a flexibilidade das ofertas virtuais.

5.1.1.1. Dependências fracas

Por padrão, Weak dependencies são tratados de forma semelhante ao normal Requires:. Os pacotes de correspondência estão incluídos no YUM transação. Se a adição do pacote levar a um erro, YUM por padrão, ignora a dependência. Portanto, os usuários podem excluir pacotes que seriam adicionados por Weak dependencies ou removê-los posteriormente.

Condições de uso

Você pode usar Weak dependencies somente se o pacote ainda funcionar sem a dependência.

Nota

É aceitável criar pacotes com funcionalidade muito limitada sem acrescentar nenhuma de suas fracas exigências.

Casos de uso

Use Weak dependencies especialmente onde é possível minimizar a instalação para casos de uso razoável, como a construção de máquinas virtuais ou containers que têm um único propósito e não requerem o conjunto completo de recursos do pacote.

Os casos típicos de uso para Weak dependencies são:

  • Documentação

    • Os telespectadores de documentação, se faltarem, são tratados com elegância
  • Exemplos
  • Plug-ins ou add-ons

    • Suporte para formatos de arquivo
    • Apoio a protocolos

5.1.1.2. Dicas

Hints são, por padrão, ignorados por YUM. Eles podem ser usados por ferramentas GUI para oferecer pacotes adicionais que não são instalados por padrão, mas podem ser úteis em combinação com os pacotes instalados.

Não utilize Hints para as exigências dos casos de uso principal de um pacote. Inclua tais requisitos no forte ou Weak dependencies em seu lugar.

Preferência de pacote

YUM usa Weak dependencies e Hints para decidir qual pacote usar se há uma escolha entre vários pacotes igualmente válidos. Os pacotes que são apontados por dependências de pacotes instalados ou a serem instalados são preferidos.

Observe que as regras normais de resolução de dependência não são influenciadas por esta característica. Por exemplo, Weak dependencies não pode impor uma versão mais antiga de um pacote a ser escolhido.

Se houver vários fornecedores para uma dependência, o pacote necessário pode adicionar um Suggests: para fornecer uma dica ao resolvedor de dependência sobre qual opção é preferida.

Enhances: só é usado quando o pacote principal e outros fornecedores concordam que adicionar a dica ao pacote necessário é, por alguma razão, a solução mais limpa.

Exemplo 5.1. Usando Dicas para preferir um pacote em vez de outro

Package A: Requires: mysql

Package mariadb: Provides: mysql

Package community-mysql: Provides: mysql

Se você quiser preferir o pacote mariadb ao invés do pacote community-mysql utilize →:

Sugere: mariadb para o Pacote A.

5.1.1.3. Dependências para frente e para trás

Forward dependencies são, de forma semelhante a Requires, avaliados para pacotes que estão sendo instalados. Os melhores dos pacotes correspondentes também são instalados.

Em geral, prefira Forward dependencies. Adicione a dependência ao pacote quando conseguir que o outro pacote seja adicionado ao sistema.

Para Backward dependencies, os pacotes contendo a dependência são instalados se um pacote correspondente for instalado também.

Backward dependencies são projetados principalmente para fornecedores terceiros que podem anexar seus plug-ins, add-ons ou extensões à distribuição ou outros pacotes de terceiros.