Sobre o projeto
nog é um wrapper de gerenciador de pacotes baseado em Rust para Arch Linux que adiciona um sistema de retenção em camadas sobre o pacman. Em vez de substituir o pacman, ele usa os mesmos comandos e flags, introduzindo atrasos de atualização com base na importância do pacote.
**Sistema de camadas:** Os pacotes são classificados em três camadas com durações de retenção configuráveis:
- Camada 1 (kernel, bootloader, glibc, systemd, mesa): retenção de 30 dias
- Camada 2 (ambientes de desktop, aplicativos principais): retenção de 15 dias
- Camada 3 (todo o resto): retenção de 7 dias
As retenções contam a partir de quando uma atualização foi vista pela primeira vez, não da compilação mais recente, evitando que pacotes com muitas atualizações fiquem retidos indefinidamente. Quando uma retenção expira, a versão mais recente ainda precisa passar por uma "espera de segurança" mais curta (7/3/1 dias por camada) antes da instalação.
**Suporte a múltiplas fontes:** nog gerencia atualizações dos repositórios oficiais do pacman, AUR (via yay ou paru), Flatpak e Snap. Cada fonte pode ser ativada ou desativada individualmente. As retenções do Snap são aplicadas no próprio snapd para evitar que a atualização automática contorne o sistema.
**Recursos de segurança:** Pacotes de keyring nunca são retidos. Interruptores de emergência podem cortar as fontes AUR ou chaotic-aur durante incidentes. nog é executado como usuário normal e escala para root apenas em momentos específicos. As retenções usam a própria flag --ignore do pacman. Os auxiliares do AUR recebem apenas nomes de pacotes liberados, evitando contornos por meio de buscas falhas.
**Relatórios:** As atualizações são agrupadas nas categorias Prontas, Retidas e Desconhecidas, com cores por camada. Uma tabela resumo mostra o status por repositório. Cada execução é registrada em um arquivo CSV com data, mantido por 90 dias. Recomendações de reinicialização são fornecidas quando atualizações de kernel ou drivers deixam o sistema em execução dessincronizado.
**Manutenção:** nog clean limpa downloads antigos do cache do pacman com retenção por camada (3 versões para a Camada 1, 2 para a Camada 2, 1 para a Camada 3), sempre mantendo as versões instaladas para rollback.
**Configuração:** As atribuições de camadas e as durações de retenção são configuradas em /etc/nog/. Pacotes podem ser fixados em camadas, agrupados para se moverem juntos (por exemplo, kernel e headers), e a Camada 1 pode exigir aprovação manual no modo especialista.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.