DUP deixou de ser só pra Debian — agora com suporte a Fedora e Arch também

DUP deixou de ser só pra Debian — agora com suporte a Fedora e Arch também

E aí, pessoal!

Há um dia compartilhei aqui o DUP, minha ferramenta de manutenção via terminal feita em Bash, focada em distros baseadas em Debian (Ubuntu, Mint, Kali etc).

O DUP acabou de passar por uma reescrita e agora é multi-distro: além de Debian, ele suporta nativamente Fedora (via dnf) e Arch (via pacman, com suporte opcional a AUR via yay).

O que mudou:

  • Detecção automática da família da distro no início — o menu se adapta e só mostra as opções que fazem sentido pra cada sistema
  • Novo suporte a AUR, com instalação e gerenciamento do yay direto pelo menu (exclusivo Arch)
  • A migração para Debian Sid continua disponível, mas agora é exibida só em sistemas Debian, já que é uma feature específica dessa família
  • O "escudo" de proteção contra remoção de pacotes críticos (kernel, bootloader, ambiente gráfico) foi adaptado pra cada gerenciador de pacotes

O resto continua como era:

  • Atualização de pacotes + Flatpak num só passo
  • Remoção segura de órfãos com dry-run
  • Limpeza de cache, correção de dependências quebradas, remoção de configs residuais
  • Verificação de necessidade de reboot
  • Interface em PT, EN, ES e FR

Segue funcionando do mesmo jeito de sempre:

chmod +x dup.sh
sudo ./dup.sh

Quem já testou a versão focada em Debian a experiência é a mesma, só que agora com mais gente podendo aproveitar. Quem tiver Fedora ou Arch em casa, testa e me conta se rodou redondo!

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

u/Willing-Tie-9890 — 5 days ago

DUP - Debian Maintenance Tool

O DUP (Debian Maintenance Tool) é uma ferramenta CLI (Interface de Linha de Comando) interativa e amigável desenvolvida em Bash para simplificar a manutenção rotineira de sistemas operacionais derivados do Debian (como Ubuntu, Linux Mint, Pop!_OS, entre outros).

Ele une comandos do ecossistema apt e do flatpak em menus gráficos simplificados via terminal usando o whiptail, oferecendo explicações detalhadas sobre o que cada operação realiza.

Funcionalidades

  • Atualização do Sistema: Atualiza repositórios, pacotes do Debian (apt-get dist-upgrade) e aplicativos Flatpak em um único passo.
  • Limpeza de Órfãos: Remove bibliotecas e runtimes inutilizados acumulados no sistema (autoremove e flatpak uninstall --unused). Agora fortificado com um dry-run simulado, um Escudo de Pacote Crítico que bloqueia explicitamente a remoção de componentes do sistema do núcleo (como kernel, grub, e ambientes de desktop), e uma caixa de confirmação rolável para revisar a carga útil exata antes da exclusão.
  • Limpeza de Cache: Libera espaço em disco apagando instaladores .deb antigos mantidos em /var/cache/apt/archives.
  • Correção de Pacotes Quebrados: Força a checagem e instalação de dependências interrompidas por quedas de energia ou falhas de conexão.
  • Remoção de Configurações Residuais: Localiza e apaga arquivos de configuração deixados para trás por pacotes desinstalados (status rc).
  • Status de Reinício: Verifica se alguma atualização recente do Kernel exige que a máquina seja reiniciada (/var/run/reboot-required).
  • Manutenção Dedicada do Flatpak: Repara o banco de dados interno e higieniza dependências e repositórios remotos.
  • Migração para Debian Sid: Permite transformar o sistema em versão Unstable (Rolling Release) com backup automático do seu sources.list.
  • Suporte Multilíngue (i18n): Traduzido nativamente para Português, Inglês, Espanhol e Francês.

Pré-requisitos

  • Sistema operacional baseado em Debian (Debian, Ubuntu, Mint, Kali, etc.).
  • Privilégios de superusuário (root ou sudo).
  • O pacote whiptail (o próprio script tentará instalá-lo automaticamente caso não esteja presente).

Licença

Este projeto é de uso livre para modificação e redistribuição.

Github

https://github.com/ogoncas/dup

reddit.com
u/Willing-Tie-9890 — 6 days ago
▲ 51 r/xubuntu+2 crossposts

FlatStore

Um gerenciador gráfico de pacotes Flatpak rápido, leve e nativo, ideal para ambientes de desktop GTK, como o XFCE. Desenvolvido em Python 3 com PyGObject (GTK3), o FlatStore oferece uma interface limpa para buscar, instalar, atualizar e remover aplicativos, além de gerenciar repositórios (remotes) diretamente da interface.

Disponível em appimage, ou via instalador em python.

Github do Projeto

u/Willing-Tie-9890 — 17 days ago
▲ 2 r/PythonProjects2+1 crossposts

OpenWave Player

Um player de música para Linux desenvolvido em Python com GTK3. Ele foi desenhado com foco na simplicidade, leveza e planejado especialmente para harmonizar com a estética do tema Mint-Y (Linux Mint).

Gerencie sua biblioteca de áudio local com uma interface limpa, leitura inteligente de metadados e suporte nativo a playlists e favoritos.


Recursos

  • Interface GTK3 Limpa: Integração perfeita com ambientes desktop baseados em GTK (projetado com a estética Mint-Y em mente).
  • Leitura de Metadados: Suporte avançado à leitura de tags de áudio e extração de capas embutidas usando o mutagen e GStreamer.
  • Gestão de Biblioteca: Escaneamento automático de pastas, organização dinâmica por Artistas e Álbuns.
  • Playlists & Favoritos: Crie playlists personalizadas e favorite suas faixas preferidas rapidamente.
  • Fila de Reprodução Inteligente: Modo aleatório (shuffle), reprodução sequencial e histórico de faixas.
  • Atualização Automática: Mecanismo integrado (updater.py) que verifica novas versões no GitHub e aplica atualizações sem complicações.
  • Instalador Gráfico Integrado: Acompanha um assistente (installer.py) para instalação no perfil do usuário, criação de atalhos (.desktop) ou remoção completa.

Formatos Suportados

O OpenWave suporta uma ampla variedade de formatos de áudio nativamente, incluindo: MP3, WAV, OGG, FLAC, M4A, AAC, OPUS, WMA, AIFF, ALAC, MP2, MKA.


Instalação

Pré-requisitos

Certifique-se de ter o Python 3 instalado no seu sistema, juntamente com as bibliotecas GTK e GStreamer. Em distribuições baseadas em Debian/Ubuntu (como o Linux Mint), você pode instalar as dependências com:

sudo apt update
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-gst-plugins-base-1.0 gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly python3-mutagen python3-pip

(Nota: O instalador do OpenWave tentará instalar o mutagen via pip automaticamente caso ele não seja encontrado no sistema).

Instalando o OpenWave

O projeto conta com um assistente de instalação gráfico para facilitar o processo.

  1. Clone o repositório:
git clone [https://github.com/openwave-player/openwave.git](https://github.com/openwave-player/openwave.git)
cd openwave
  1. Execute o instalador:
python3 installer.py
  1. Siga os passos na tela do assistente. Ele copiará os arquivos necessários para ~/.local/share/openwave e criará um atalho no seu menu de aplicativos.

Como Usar

  • Pelo Menu do Sistema: Procure por "OpenWave" no seu menu de aplicativos e inicie por lá.
  • Via Terminal: Se preferir rodar direto pelo terminal após instalar:
python3 ~/.local/share/openwave/app.py
  • Primeiro Acesso: Ao abrir pela primeira vez, clique no ícone de pasta na barra superior para escolher o diretório onde suas músicas estão armazenadas. O OpenWave vai ler sua biblioteca automaticamente!

Estrutura do Projeto

O código está organizado em uma arquitetura modular simples:

  • installer.py: Assistente gráfico de instalação/desinstalação.
  • app.py: Ponto de entrada do aplicativo (que se comunica com o script de atualização).
  • openwave/:
  • window.py: Interface principal, fluxo de telas e eventos.
  • player.py: Encapsulamento do pipeline GStreamer (playbin).
  • ui_builder.py: Fábrica de componentes visuais e CSS customizado.
  • utils.py: Leitura de arquivos e extração de metadados.
  • updater.py: Checagem e download assíncrono de atualizações.
  • dialogs.py: Telas de diálogo (Sobre, Criação de Playlists).

Contribuindo

Se você encontrou um bug ou tem uma ideia de nova funcionalidade:

  1. Faça um fork do projeto.
  2. Crie uma branch para sua modificação (git checkout -b feature/minha-feature).
  3. Faça o commit das suas alterações (git commit -m 'Adicionando nova feature').
  4. Faça um push para a branch (git push origin feature/minha-feature).
  5. Abra um Pull Request.

Licença

Este projeto é distribuído sob a Licença MIT. Veja o arquivo LICENSE (ou o cabeçalho do código) para mais detalhes.


Autor

Mateus Calixto

Inspiração visual: Linux Mint Desktop Team. Ícones Simbólicos: GNOME Project.

reddit.com
u/Willing-Tie-9890 — 3 months ago