AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1556137
Accepted
timppu
timppu
Asked: 2020-05-30 02:10:09 +0800 CST2020-05-30 02:10:09 +0800 CST 2020-05-30 02:10:09 +0800 CST

Manter algumas máquinas Linux no mesmo nível de patch

  • 772

Existe alguma palavra simples e direta para manter algumas máquinas Linux no mesmo nível de patch? Eu precisaria disso separadamente para alguns Ubuntu e alguns CentOS 7 (na verdade, Oracle Linux 7, mas próximo o suficiente, pois o CentOS provavelmente é mais familiar para outros), máquinas.

EDIT: Só para esclarecer, distros diferentes não precisam estar "no mesmo nível de patch", então eu só preciso manter, por exemplo, as máquinas Ubuntu 16.xx no mesmo nível de patch, as máquinas Ubuntu 18.xx no mesmo nível nível de patch, as máquinas Oracle Linux 7.x no mesmo nível de patch, etc.

O que quero dizer é isso. Eu tenho uma máquina CentOS 7 A que atualizo com "sudo yum update". Ele possui os repositórios padrão, além de alguns repositórios adicionais de terceiros. Então, um mês depois, quero atualizar outra máquina CentOS 7, mas não para os pacotes mais recentes, mas para as mesmas versões da máquina A.

Se houver disparidades com quais repositórios e pacotes estão instalados (como a máquina A tem um repositório Yarn e Jenkins e um pacote instalado, enquanto B não os possui, ou vice-versa), eles não contariam, mas seriam atualizados para o mais novo versão disponível em qualquer máquina. Portanto, apenas esses pacotes seriam "restritos à versão" existentes em ambas as máquinas.

Eu sei que pelo menos no CentOS ( YUM ) você pode atualizar um pacote para uma determinada versão em vez da mais recente, e presumo que também seja possível com o APT no Ubuntu. A questão é se existe uma ferramenta para Ubuntu e CentOS que usaria a saída (quais pacotes estão instalados e quais versões) da primeira máquina como entrada nas segundas máquinas, para qual versão atualizá-lo, se esse pacote (e repositório) está instalado lá também. E então o resto seria atualizado para qualquer versão mais recente.

Eu tentei pesquisar isso no Google antes e vejo principalmente duas sugestões:

  1. Configure repositórios locais. Na verdade, fiz isso, mas parece muito grande e pesado, apenas para que eu possa manter algumas máquinas no mesmo nível de patch. Faz mais sentido se houver dezenas ou centenas de máquinas para atualizar e manter no mesmo nível de patch (nesse ponto também automatizar tudo com Ansible ou algo assim).

  2. Use algum CD de mídia de instalação que tenha um determinado nível de patch e instale as atualizações a partir dele. Não tenho certeza de como isso funciona, mas principalmente, esses CDs de mídia não incluem apenas os repositórios oficiais de distribuição? Que tal os repositórios de terceiros que foram adicionados posteriormente nas máquinas, como Jenkins, GitLab CI , Chrome, epel e o que você tem?

linux ubuntu
  • 1 1 respostas
  • 359 Views

1 respostas

  • Voted
  1. Best Answer
    James
    2020-06-23T12:37:38+08:002020-06-23T12:37:38+08:00

    Existe uma maneira mais fácil de fazer isso usando arquivos de bloqueio de pacote. O yum-versionlock deve permitir que você crie um arquivo de bloqueio de referência na máquina A, que você pode copiar para outras máquinas centOS 7 manualmente ou usando o Ansible.

    Se você se preocupa apenas com alguns pacotes, é mais fácil gerenciá-los usando o Ansible. Se você realmente precisa de TODOS os pacotes mantidos exatamente nas mesmas versões nas máquinas, o yum-versionlock é o caminho a seguir. Você ainda pode usar o Ansible para copiar o arquivo de bloqueio da máquina A.

    Instalar yum-versionlock

    [centos@ec2]$ sudo yum -y install yum-versionlock
    

    Em seguida, adicione todos os pacotes com *ou um pacote específico comohttpd

    [centos@ec2]$ sudo versionlock add *
    

    Você deve ver esses pacotes no versionlock.listarquivo conforme especificado em versionlock.conf. Por padrão, esses arquivos estão em/etc/yum/pluginconfg.d/

    [centos@ec2]$ cat /etc/yum/pluginconf.d/versionlock.conf
    [main]
    enabled = 1
    locklist = /etc/yum/pluginconf.d/versionlock.list
    #  Show a hint when any locked packages have updates available
    show_hint = 1
    #  Uncomment this to lock out "upgrade via. obsoletes" etc. (slower)
    # follow_obsoletes = 1
    
    [centos@ec2]$ cat /etc/yum/pluginconf.d/versionlock.list
    # Added locks on Mon Jun 22 20:05:02 2020
    0:libverto-libevent-0.2.5-4.el7.*
    0:nss-sysinit-3.44.0-7.el7_7.*
    10:qemu-guest-agent-2.12.0-3.el7.*
    1:wpa_supplicant-2.6-12.el7.*
    2:shadow-utils-4.6-5.el7.*
    0:libgcrypt-1.5.3-14.el7.*
    0:rsyslog-8.24.0-41.el7_7.2.*
    0:gettext-libs-0.19.8.1-2.el7.*
    ...
    

    Em seguida, copie versionlock.listpara outra máquina e execute sudo yum install -you sudo yum update -ye ele instalará ou atualizará todos os pacotes para as versões no arquivo de bloqueio. Se você acabou de executar a atualização, ela deve atualizar apenas o que você já possui para o que o arquivo de bloqueio permite (mas não tentei isso).

    Para outros sistemas operacionais, existem ferramentas semelhantes, conforme explicado aqui para apt , mas não conheço uma ferramenta que bloqueie pacotes em diferentes gerenciadores de pacotes.

    Novamente, se você se preocupa apenas com alguns pacotes, pode usar o módulo de pacote do Ansible para fazer isso, mas pode encontrar alguns casos de uso em que precisará usar o yum e outros módulos específicos do gerenciador de pacotes. Isso pode ficar confuso, mas valerá a pena.

    Se você realmente precisa de uma única ferramenta, pode usar o Ansible para criar os arquivos de bloqueio de pacote a partir dos modelos jinja2 nos diferentes gerenciadores de pacotes que você precisa oferecer suporte e, em seguida, copiá-los para suas máquinas. Isso levaria mais tempo para configurar e seria propenso a erros, mas permitiria que você mantivesse uma única lista de pacotes para instalar.

    • 1

relate perguntas

  • Existe um equivalente a cd - para cp ou mv?

  • pasta compartilhada vmwared não está funcionando

  • execute o contêiner do docker como root

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • Como alterar permanentemente Ctrl + C para Ctrl + K no CentOS 7?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve