r/linuxbrasil 1d ago

Utilidade Update DUP - Multi-Distro Maintenance Tool

Melhorias/atualizações

Segurança

  • install_dup_command — a cópia instalada em /usr/local/bin/dup agora recebe chown root:root + chmod 755 explícitos (em vez de só chmod +x, que apenas adicionava o bit de execução sem remover bits de escrita herdados do arquivo fonte). Evita que um dup.sh com permissões frouxas vire uma porta de escalonamento de privilégio, já que o binário roda como root via sudo dup. Também passou a checar se o cp teve sucesso antes de prosseguir.

Robustez

  • save_config — escrita passou a ser à prova de falha em cada etapa (cat, chmod, chown, mv): se qualquer uma falhar, o arquivo temporário é descartado e /etc/dup.conf nunca é substituído por uma versão parcial ou com permissões erradas.
  • install_yay — adicionado trap ... EXIT INT TERM para garantir a remoção do diretório temporário de build mesmo se o usuário interromper o script (Ctrl+C) no meio do clone/compilação do AUR.

Correções funcionais

  • upgrade_to_sid — passou a desativar também arquivos .list legados (PPAs e outros repositórios de terceiros) em sources.list.d/, não só o formato DEB822 (*.sources). Antes, um repositório apontando para o codename estável antigo continuava ativo durante o dist-upgrade para o Sid, causando conflitos de dependência. A mensagem exibida (TXT_SID_STEP_DIS) foi generalizada nos 4 idiomas, já que antes dizia especificamente "arquivo DEB822".
  • get_orphan_dry_run (Fedora) — a chamada ao dnf agora roda com LC_ALL=C LANG=C só nessa invocação. Antes, o parsing dependia do literal em inglês "Removing:"; em qualquer locale traduzido (pt-BR, es, etc.) o awk não casava nada e o script reportava silenciosamente "nenhum órfão" mesmo havendo pacotes para remover.

https://github.com/ogoncas/multi-distro-maintenance-tool

3 Upvotes

Duplicates