{ "meta": { "title": "Atualização do sistema Proxmox | Documentação ProxMenux", "description": "Atualiza os pacotes dentro da versão principal atual do Proxmox com apt-get update e apt full-upgrade -y. Verifica o espaço em disco e os repositórios configurados, tenta recuperar chaves GPG, verifica e repara cabeçalhos PV LVM antigos, recompila os controladores DKMS geridos quando necessário, executa autoremove/autoclean e propõe reiniciar quando é preciso.", "ogTitle": "Atualização do sistema Proxmox | Documentação ProxMenux", "ogDescription": "apt full-upgrade com verificação de repositórios, autoremove/autoclean e pedido de reinício quando necessário." }, "header": { "title": "Atualização do sistema Proxmox", "description": "Chama um único script de execução (update-pve-safe.sh) que deteta a versão principal do Proxmox. Os repositórios são lidos através da API Proxmox e preservados; um host sem subscrição que use apenas Enterprise tem de confirmar a mudança para no-subscription. O script atualiza pacotes e recompila os controladores DKMS geridos pelo ProxMenux para um kernel preparado para o próximo arranque. O script principal propõe reiniciar se existir o marcador de sistema ou se o kernel instalado mais recente diferir do que está em execução. Também pode ser iniciado em Update Now, no cabeçalho do ProxMenux Monitor, quando há atualizações pendentes.", "section": "Utilitários" }, "calloutWhat": { "title": "O que isto faz", "body": "Leva o host para o nível de patch mais recente de sua versão principal atual. não atualiza entre versões principais — para PVE 8 → PVE 9 consulte Atualizar PVE 8 para PVE 9." }, "official": { "heading": "A recomendação oficial da Proxmox", "intro": "A própria orientação de atualização do Proxmox para um host em execução (na mesma versão principal) deve ser executada:", "code": "apt update && apt full-upgrade -y", "outro": "Esta linha é o comando oficial nas versões atuais do Proxmox. É igualmente necessário garantir que os repositórios estão corretos, que os adequados estão ativos e que o host fica num estado coerente após a atualização." }, "onTop": { "heading": "O que o ProxMenux acrescenta: verificado no script", "intro": "Usa a mesma operação apt full-upgrade, com verificação dos repositórios, recompilação DKMS e limpeza final. Os passos seguintes correspondem a scripts/utilities/proxmox_update.sh e ao seu único script de execução scripts/global/update-pve-safe.sh:", "items": [ "Deteta a versão principal do PVE no script de execução (pveversion | grep -oP ''pve-manager/\\K[0-9]+''). Um único script trata do PVE 8 e do PVE 9; os repositórios são preservados, salvo se um host sem subscrição aceitar a mudança proposta.", "Mantém os repositórios configurados. ensure_repositories lê os repositórios e o estado da subscrição através da API Proxmox. Com uma subscrição ativa ou um repositório no-subscription ou test já utilizado, nada muda. Um host sem subscrição ativa que use apenas Enterprise tem de confirmar a mudança para no-subscription. Se recusar, a atualização termina sem alterar as fontes.", "Executa a atualização sem interação com DEBIAN_FRONTEND=noninteractive e --force-confdef --force-confold. Para decisões sobre ficheiros de configuração dpkg, aceita a ação predefinida quando existe; caso contrário, mantém o ficheiro atual.", "Não impõe utilitários opcionais. O script não força a instalação de zfsutils-linux, chrony, ifupdown2 ou pacotes semelhantes. Se a instalação Proxmox optou por dispensar algum deles, essa escolha mantém-se. Os pacotes em falta são indicados nos processos de instalação superiores, não na atualização.", "Verificação e reparação de metadados LVM. Deteta cabeçalhos PV antigos e executa vgck --updatemetadata e vgchange -ay nos grupos de volumes afetados. Pode alterar metadados LVM; não é uma verificação que apenas emite avisos.", "Limpa depois: apt-get autoremove -y + apt-get autoclean -y.", "Recompilação DKMS antes do pedido de reinício. O script de execução chama pmx_rebuild_dkms_after_kernel quando está preparado um kernel instalado mais recente. O script principal verifica /var/run/reboot-required e usa dpkg-query para comparar o kernel indicado por uname -r com o pacote proxmox-kernel-*-pve-signed / pve-kernel-*-pve instalado mais recente. O marcador pode não existir em hosts sem needrestart; a comparação dos kernels continua a funcionar." ] }, "calloutOneSentence": { "title": "Em uma frase", "body": "Atualiza os pacotes do host, preserva os repositórios salvo uma mudança aceite, verifica os metadados LVM, recompila os controladores DKMS geridos, limpa com autoremove/autoclean e propõe reiniciar quando necessário." }, "confirm": { "heading": "Janela de confirmação", "intro": "A seleção da opção abre um resumo das ações previstas e exige uma confirmação explícita:", "imageAlt": "Janela de confirmação da atualização Proxmox com verificação dos repositórios, atualização dos pacotes e limpeza" }, "routes": { "heading": "Como o script principal delega a execução", "nodes": { "source": { "label": "proxmox_update.sh", "detail": "pveversion |\ngrep -oP ''pve-manager/\\K[0-9]+''" }, "bridge": { "label": "Um único script de execução", "detail": "update-pve-safe.sh\n(detecta PVE 8 / 9\ninternamente)" }, "target": { "label": "Após a atualização", "detail": "apt-get autoremove\napt-get autoclean\nPedido de reinício se necessário" } } }, "worker": { "heading": "O que faz o script de execução", "intro": "Um único script (scripts/global/update-pve-safe.sh) trata do PVE 8 (bookworm) e do PVE 9 (trixie). Deteta a versão principal e verifica os repositórios existentes sem reescrever as fontes base do Debian. As etapas são:", "items": [ "Verificações prévias. Verifica se há pelo menos ~1 GB livre em /var/cache/apt/archives. Caso contrário, termina de imediato com uma mensagem clara para evitar falhar a meio de uma operação apt.", "Verificação dos repositórios. ensure_repositories lê os repositórios e o estado da subscrição. Com um repositório Proxmox utilizável, nada muda. Num host sem subscrição ativa que use apenas Enterprise, pede confirmação antes de passar a no-subscription e interrompe a atualização em caso de recusa.", "apt update com recuperação automática GPG. Perante NO_PUBKEY num repositório, incluindo de terceiros, o script importa a chave em falta e tenta novamente antes de apresentar uma falha.", "Atualizações pendentes e de segurança. Indica quantos pacotes vão mudar e quantos provêm da suite de segurança, para apresentar números concretos na janela de confirmação.", "Janela de confirmação. Depois de atualizar as listas de pacotes, o script exige um sim explícito antes de atualizar os pacotes.", "apt full-upgrade. Usa DEBIAN_FRONTEND=noninteractive e --force-confdef --force-confold. O dpkg segue a ação predefinida para os ficheiros de configuração quando existe; caso contrário, conserva o ficheiro atual.", "Verificação LVM. lvm_repair_check atualiza os metadados dos grupos de volumes quando discos atribuídos diretamente a VMs convidadas (DSM, TrueNAS ou appliances de armazenamento) regressam com cabeçalhos PV antigos.", "Recompilação DKMS dos controladores geridos pelo ProxMenux. Quando há um kernel novo preparado, pmx_rebuild_dkms_after_kernel lê os controladores instalados pelo ProxMenux em components_status.json (atualmente nvidia_driver → módulo nvidia e coral_driver → módulo gasket), instala os cabeçalhos correspondentes (proxmox-headers-<newkver> quando disponível; caso contrário, pve-headers-<newkver>) e executa dkms autoinstall -k <newkver>. Se dkms status não mostrar os módulos compilados para o novo kernel, volta a executar cada instalador com --auto-reinstall. As falhas são registadas sem interromper a atualização, que chega na mesma ao pedido de reinício.", "Limpeza final. apt-get autoremove + apt-get autoclean antes de devolver o controlo ao script principal." ] }, "post": { "heading": "Limpeza e reinício após a atualização", "intro": "Quando o script de execução termina, o script principal executa:", "code": "apt-get autoremove -y # drop unused dependencies pulled in by old packages\napt-get autoclean # drop downloaded .deb files no longer in the index", "afterCode": "O script principal também verifica se é preciso reiniciar. Qualquer um destes sinais faz aparecer o pedido:", "items": [ "Existe /var/run/reboot-required: um pacote ou uma ferramenta do sistema marcou a necessidade de reiniciar o host.", "O pacote de kernel Proxmox instalado mais recente difere do kernel em execução, segundo dpkg-query e uname -r." ], "outro": "Se alguma condição for verdadeira, uma janela whiptail pergunta «Algumas alterações exigem um reinício. Pretende reiniciar agora?». Recuse para continuar com o kernel atual até reiniciar manualmente, por exemplo numa janela de manutenção planeada." }, "end": { "heading": "O que vês no fim", "intro": "Quando o script de execução termina, o terminal apresenta o resultado da limpeza e, se necessário, o pedido de reinício:", "imageAlt": "Resumo de conclusão da atualização do sistema Proxmox com saída de limpeza e prompt de reinicialização" }, "calloutDeclineReboot": { "title": "Adie o reinício apenas por um motivo concreto", "body": "Instalar um novo pacote proxmox-kernel-* não substitui o kernel em execução até reiniciar. O novo kernel e os módulos correspondentes ficam ativos no próximo arranque. Planeie o reinício para uma janela de manutenção adequada e reveja antes os avisos de compilação DKMS." }, "noSub": { "heading": "Como o script trata o repositório Enterprise", "intro": "O Proxmox ativa o repositório Enterprise por predefinição. Sem subscrição ativa, esse repositório devolve 401 em apt-get update. O script só altera os repositórios nesse caso e após confirmação, através da API Proxmox usada por Node → Updates → Repositories. Estes são os casos possíveis:", "items": [ "Com uma subscrição ativa, os repositórios mantêm-se e o Enterprise fornece as atualizações.", "Com o repositório no-subscription ou test já ativo, os repositórios mantêm-se, independentemente de outras fontes configuradas.", "Sem subscrição ativa e apenas com o repositório Enterprise, uma janela propõe a mudança. Aceitar desativa Enterprise, ativa no-subscription e atualiza as listas de pacotes. A mudança é registada na vista Changes de Audit & Report. Recusar termina a atualização sem alterar as fontes.", "As fontes Ceph Enterprise existentes são desativadas na mesma mudança, sem escolher outro canal Ceph. Um host que use Ceph configura o respetivo canal separadamente.", "Se não houver um terminal para pedir confirmação, nenhuma fonte é alterada e a atualização termina com uma mensagem que remete para Node → Updates → Repositories." ], "outro": "As fontes Debian e todos os outros ficheiros de repositórios nunca são alterados por este processo. Uma entrada que misture Enterprise com outros componentes não é mudada: a atualização termina e pede para separar a entrada na vista de repositórios Proxmox." }, "cluster": { "heading": "Considerações para clusters", "calloutTitle": "Em clusters: atualizar um nó de cada vez", "calloutBody": "Num cluster Proxmox, execute esta opção em um nó de cada vez e espere pelo fim do reinício antes de passar ao seguinte. Migre primeiro os sistemas convidados para fora do nó, para evitar interrupções de serviço no cluster. Versões secundárias diferentes, como 8.4.1 e 8.4.5, podem coexistir durante algumas horas; kernels em execução diferentes podem causar comportamentos inesperados em sistemas convidados geridos por HA." }, "doesnt": { "heading": "O que não faz", "items": [ "Atualização de versão principal. A passagem 8 → 9 é uma operação separada; consulte Atualizar do PVE 8 para o PVE 9.", "Backup. Sem instantâneos, sem retrocesso. As operações Apt não são transacionais. Combine com sua disciplina de backup normal (PBS, vzdump, ZFS instantâneos).", "Atualizações de contentores / VMs. Só o host é atualizado; os sistemas convidados mantêm-se.", "Gravação dedicada de firmware. Esta ferramenta não serve para gravar BIOS ou firmware de dispositivos. Os pacotes de firmware ou microcódigo CPU já instalados podem receber atualizações através de apt." ] }, "troubleshooting": { "heading": "Resolução de Problemas", "items": [ { "title": "apt update falha com 401 Unauthorized", "body": "O repositório Enterprise está ativo, mas o host não tem subscrição ativa. Antes de apt-get update, o script propõe passar a no-subscription. Se recusou, repita a atualização e aceite, ou desative Enterprise em Node → Updates → Repositories e ative no-subscription." }, { "title": "dist-upgrade trava em \"Configuring grub-pc\"", "body": "Se aparecer uma pergunta interativa do GRUB, pede os dispositivos onde instalar o gestor de arranque. A opção --force-confold aplica-se aos ficheiros de configuração, não à escolha dos dispositivos. Use Tab + Space para selecionar os discos de arranque adequados e depois OK. Pode configurar esta escolha antes com dpkg-reconfigure grub-pc." }, { "title": "O Kernel atualizou, mas faltam os novos módulos para um driver fora da árvore", "body": "Para os controladores geridos (nvidia_driver e coral_driver), a função executa dkms autoinstall -k <newkver> e pode repetir os instaladores com --auto-reinstall. Verifique o resultado com dkms status. O comando autoinstall também pode recompilar outros módulos DKMS registados; os instaladores alternativos limitam-se às entradas geridas de components_status.json. Inspecione os módulos de terceiros ainda em falta e recompile-os se necessário com dkms autoinstall." }, { "title": "O prompt de reinicialização não apareceu, mas tenho certeza que o kernel mudou", "body": "Os sinais são alternativos: /var/run/reboot-required ou uma diferença entre o kernel em execução e o kernel Proxmox instalado mais recente. O script principal não analisa entradas linux-image no registo apt. Verifique a versão em execução com uname -r e os pacotes de kernel instalados com dpkg-query. Planeie o reinício necessário ou execute shutdown -r now quando estiver pronto." } ] }, "files": { "heading": "Ficheiros envolvidos", "code": "scripts/utilities/proxmox_update.sh # this script (wrapper)\nscripts/global/update-pve-safe.sh # single safe worker (PVE 8 + PVE 9)\nscripts/global/repository-functions.sh # ensure_repositories\nscripts/global/repository_policy.py # reads and switches repositories through the Proxmox API\nscripts/global/utils-install-functions.sh # pmx_rebuild_dkms_after_kernel\n/usr/local/share/proxmenux/components_status.json # ProxMenux-managed DKMS driver registry\n/etc/apt/sources.list.d/proxmox.sources # no-subscription source, written by Proxmox when the switch is accepted\n/var/run/reboot-required # read to decide on reboot prompt\n# Reboot fallback when needrestart isn't installed:\n# dpkg-query -W 'proxmox-kernel-*-pve-signed' 'pve-kernel-*-pve' vs. uname -r" }, "related": { "heading": "Relacionado", "items": [ { "href": "/docs/utils/upgrade-pve8-pve9", "label": "Atualize PVE 8 para PVE 9", "tail": " — para a actualização da versão principal (ferramenta diferente, modelo de segurança diferente)." }, { "href": "/docs/utils/system-utils", "label": "Instalador de utilitários de sistema", "tail": " — para instalar ferramentas CLI úteis durante as atualizações (htop / btop / ncdu)." }, { "href": "/docs/utils", "label": "Visão geral dos utilitários", "tail": " — voltar ao panorama da secção." } ] } }