Há um pouco para explicar com sua pergunta.
Primeiramente, é importante entender como YUM
e rpm
funcionam juntos:
- O RPM é um formato de pacote e há uma ferramenta de linha de comando denominada
rpm
, que instala pacotes RPM individuais. Você pode pensar na ferramenta de linha de comandorpm
como análoga à ferramenta de linha de comandodpkg
, pois ambas instalam pacotes individuais sem suas dependências. -
yum
é um programa de nível superior que instala um pacote RPM e suas dependências. Você pode pensar no comandoyum
como análogo aapt-get
, pois ambos podem instalar um pacote e todas as suas dependências. - Quando você executar
yum install
, deverá usar o nome do pacote, não o URL. Por exemplo:yum install package
, semelhante a como você executaria:apt-get install package
. - Se você tiver um URL de pacote, poderá executar
rpm -i https://url
, mas se não tiver as dependências do pacote instaladas, precisará instalá-las uma a uma comrpm -i
(doloroso) ou comyum
e um repositório configurado.
Agora, no que diz respeito ao GPG, há algumas coisas a serem entendidas que se aplicam aos sistemas de pacotes Debian e RPM, mas as coisas mais importantes a serem entendidas são:
- Ambos os sistemas têm 2 conjuntos de assinaturas GPG: assinaturas GPG nos próprios pacotes e assinaturas GPG nos repositórios.
- Os pacotes Debian não têm suas assinaturas GPG verificadas e os pacotes oficiais dos repositórios de projeto do Ubuntu e do Debian não são assinados com o GPG.
- Ambos os sistemas são vulneráveis a uma série de ataques de repetição de GPG quando usados sobre HTTP de texto não criptografado; você deve absolutamente, 100% instalar seus pacotes via HTTPS e não texto simples HTTP, se possível.
Até agora, as assinaturas GPG e YUM GPG:
- Primeiro, você pode especificar o caminho ou o URL para a chave GPG no arquivo de configuração com:
gpgkey=https://example/gpg.key
ougpgkey=/usr/share/example/gpg.key
. Você pode especificar várias chaves GPG, se mais de uma for necessária. - Em segundo lugar, há duas opções:
gpgcheck=1
erepo_gpgcheck=1
. A primeira opção faz com queyum install
verifique a assinatura GPG no próprio pacote, a segunda opção verifica a assinatura GPG do repositório. Idealmente, você deve usar ambos, mas muitos repositórios não estão configurados adequadamente para suportar ambos. - Na primeira vez que você executar
yum install
,yum
tentará importar as chaves GPG listadas emgpgkey
, se ainda não tiverem sido importadas. Você será solicitado e solicitado a aceitar ou recusar. - Você deve ter o pacote
pygpgme
instalado em seu sistema para que as assinaturas GPG sejam verificadas. Nas versões mais recentes do RHEL e do CentOSpygpgme
é instalado automaticamente uma dependência deyum
, mas você deve verificar se está instalado em seu sistema. - Não há equivalente de
apt-transport-https
,yum
pode falar sobre HTTPS pronto para uso, mas você deve garantir que a versão deyum
que você está usando tenha a opçãosslverify
padronizada como ativada; algumas versões deyum
não. Se a sua versão não, você deve configurá-lo para habilitado. É fundamental verificar os certificados SSL.
Mesmo com assinaturas GPG em ambos os pacotes e repositórios, os repositórios ainda estão vulneráveis a ataques de repetição; você deve acessar seus repositórios via HTTPS, se possível. A breve explicação de um ataque é que um invasor mal-intencionado pode capturar metadados de repositório e a assinatura GPG associada em um determinado momento e reproduzir esses metadados e assinaturas em um cliente que o solicita, impedindo que o cliente veja pacotes atualizados. Como os metadados não são tocados, a assinatura GPG será válida. O atacante pode então usar uma exploração contra um bug conhecido no software que não foi atualizado para atacar a máquina. Você pode ler mais sobre ataques a gerenciadores de pacotes em este documento .
Eu escrevi dois extensos posts sobre GPG e YUM / rpm , bem como GPG e APT .
Por favor, deixe um comentário se você tiver perguntas adicionais que eu possa responder; o gerenciamento de pacotes é incrivelmente difícil de fazer corretamente.