Loading repository data…
Loading repository data…
glaubergf / repository
O objetivo desse projeto é automatizar a configuração na pós-instalação do sistema GNU/Linux Debian, bem como algumas configurações adicionais e também upgrade de versão do sistema, assim poupando tempo e trabalho manual.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.


Este projeto utiliza o Ansible para automatizar a configuração do Debian GNU/Linux (pós instalação e/ou upgrade de release) poupando tempo e trabalho manual.
.deb externos.contrib, non-free, non-free-firmware) e repositórios de terceiros.O projeto inicial foi desenvolvido para automatizar uma pós-instalação do Debian 10.9 (Stable Buster) em um Notebook Dell Inspiron N5010 core i5 de 1ª geração (2010).
Com isso, o projeto vem servindo para automatizar o sistema operacional Debian em novos lançamentos de release Stable, usando a playbook completa para update de versão e configurações ou usando tags para role única.
Com o moderno repositórios no formato DEB822 (.sources) no Trixie ainda segue o default (.list), foi executado a conversão para usar o novo formato de configuração do repositório. Tem caso que pacotes de terceiros criam o repositório (.list) em script postinst, no entanto, foi mapeado quais pacotes criavam esses repositórios automático e alterado o atributos especiais desses arquivos para que não seja mais aplicado e não duplique entrada para o apt.
Para usar esse projeto, altere as configurações de acordo com seu cenário e necessidade de uso.
ansible-debian-workstation
├── group_vars
│ └── all.yml
├── pictures
│ ├── debian-trixie-after.png
│ ├── debian-trixie-before.png
│ ├── lightdm-debian-trixie-after.png
│ ├── lightdm-debian-trixie-before.png
│ └── rio-de-janeiro-swirl-debian.jpg
├── roles
│ ├── add-repo
│ │ ├── files
│ │ │ └── sources.list
│ │ ├── tasks
│ │ │ ├── add_repo.yml
│ │ │ └── main.yml
│ │ └── vars
│ │ └── main.yml
│ ├── aws-cli
│ │ ├── tasks
│ │ │ ├── aws_cli.yml
│ │ │ └── main.yml
│ │ ├── vars
│ │ │ ├── main.yml
│ │ │ └── template_main.yml
│ ├── conf-all
│ │ ├── files
│ │ │ ├── lightdm-gtk-greeter
│ │ │ │ ├── Gas-Soldier-with-Weapon-64x64.png
│ │ │ │ ├── lightdm-gtk-greeter.conf
│ │ │ │ ├── solarized-wallpaper-debian.png
│ │ │ │ └── TheMandalorian_BabyYoda_StarWars.jpeg
│ │ │ ├── custom_bashrc.sh
│ │ │ ├── readme-template-xfce4.txt
│ │ │ ├── xfce4-template-full.sh
│ │ │ ├── xfce4-template-full.tar.gz
│ │ │ ├── xfce4-template-minimal.sh
│ │ │ └── xfce4-template-minimal.tar.gz
│ │ ├── tasks
│ │ │ ├── conf_all.yml
│ │ │ └── main.yml
│ │ └── vars
│ │ └── main.yml
│ ├── create-user
│ │ ├── tasks
│ │ │ ├── create_user.yml
│ │ │ └── main.yml
│ │ └── vars
│ │ └── main.yml
│ ├── dist-upgrade
│ │ ├── tasks
│ │ │ ├── dist_upgrade.yml
│ │ │ └── main.yml
│ │ └── vars
│ │ └── main.yml
│ ├── install-app
│ │ ├── tasks
│ │ │ ├── install_app.yml
│ │ │ └── main.yml
│ │ └── vars
│ │ └── main.yml
│ ├── install-loffice
│ │ ├── tasks
│ │ │ ├── install_loffice.yml
│ │ │ └── main.yml
│ │ └── vars
│ │ └── main.yml
│ ├── remove-user
│ │ ├── tasks
│ │ │ ├── main.yml
│ │ │ └── remove_user.yml
│ │ └── vars
│ │ └── main.yml
│ ├── uninstall-app
│ │ ├── tasks
│ │ │ ├── main.yml
│ │ │ └── uninstall_app.yml
│ │ └── vars
│ │ └── main.yml
│ └── update-upgrade-app
│ ├── tasks
│ │ ├── main.yml
│ │ └── update_upgrade_app.yml
│ └── vars
│ └── main.yml
├── ansible.cfg
├── hosts
├── LICENSE
├── main.yml
└── README.md
- Atualizar cache do APT (apt-get update)
- Atualizar todos os pacotes (apt-get upgrade). Aguarde...
- Verificar necessidade de reiniciar o sistema operacional
- Reiniciar o sistema operacional (se necessário)
- Detectar serviço ativo de interface gráfica
- Parar GUI ativa (se houver)
- Substituir repositório Bookworm por Trixie no sources.list
- Localizar repositórios de terceiros (.list)
- Exibir repositórios de terceiros (.list)
- Comentar repositórios de terceiros para upgrade de release
- Garantir que debconf-utils esteja instalado
- Detectar disco de boot ou raiz para configurar GRUB (compatível com NVMe, LVM, etc)
- Exibir disco detectado
- Pré-configurar o GRUB para não-interativo
- Atualizar cache do APT (apt-get update)
- Atualizar todos os pacotes para a nova release (apt-get dist-upgrade). Aguarde...
- Reiniciar o sistema para aplicar as mudanças
- Remover pacotes obsoletos (apt-get autoremove)
- Verificar versão do Debian
- Garantir que o sistema esteja na nova versão antes de continuar
- Descomentar linhas dos repositórios de terceiros (.list)
- Substituir Bookworm por Trixie nos repositórios de terceiros (.list)
- Modernizar todos os repositórios para o formato DEB822 (.list → .sources) de forma não-interativa
- Localizar todos os repositórios (.sources)
- Habilitar (Enabled yes) em todos os repositórios (.sources)
- Atualizar cache do APT (update) e registrar saída
- Detectar repositórios com erro crítico na URL
- Localizar repositórios (.sources)
- Ler conteúdo dos repositórios (.sources)
- Garantir lista de arquivos desabilitados
- Desabilitar repositórios com erro crítico na URL
- Construir lista dos repositórios desabilitados
- Listar os repositórios desabilitados
- Verificar se existem repositórios em formato .sources
- Definir fato se usando formato .sources
- Aplicar novo sources.list com todos os componentes
- Atualizar cache do APT (apt-get update)
- Instalar pacotes keyrings, Debian e curl
- Baixar e converter chaves GPG de terceiros
- Verificar se já existe arquivo .sources correspondente
- Fazer backup de arquivos .sources existentes antes de recriar
- Criar repositórios de terceiros (.list)
- Instalar Flatpak
- Adicionar Repositório Flathub
- Converter todos os repositórios (.list) para o formato DEB822 moderno (.sources)
- Localizar todos os repositórios (.sources)
- Garantir que "Enabled yes" esteja definido nos repositórios .sources
- Atualizar cache do APT (apt-get update) e registrar saída
- Detectar URLs dos repositórios com erro crítico
- Localizar repositórios (.sources)
- Ler conteúdo dos repositórios (.sources)
- Inicializar lista de repositórios desabilitados
- Desabilitar repositórios com erro crítico
- Construir lista dos repositórios desabilitados
- Listar os repositórios desabilitados
- Remover arquivos .list (Google Chrome e MEGAsync) existentes (se houver)
- Criar arquivos .list (Google Chrome e MEGAsync) vazios
- Definir atributo imutável para os arquivos .list (Google Chrome e MEGAsync)
- Remover pacotes default que nao serão usados
- Atualizar cache do APT (apt-get update)
- Instalar aplicações dos repositórios APT. Aguarde...
- Instalar tldr via pipx globalmente
- Baixar e instalar Postman e Drawio (flatpak). Aguarde...
- Parar e desabilitar o autostart do Anydesk
- Remover pacotes LibreOffice existentes
- Criar diretório para LibreOffice em Downloads
- Baixar pacotes LibreOffice (.tar.gz) com verificação de checksum
- Descompactar arquivos LibreOffice
- Criar lista de pacotes .deb do LibreOffice
- Registrar variavel da lista de pacotes do LibreOffice
- Listar os pacotes do LibreOffice com DEBUG
- Instalar pacotes .deb do LibreOffice
- Garantir pacotes necessários
- Verificar se o diretório xfce4 existe
- Backup do ~/.config/xfce4 (tar.gz com timestamp)
- Verificar se o arquivo lightdm-gtk-greeter.conf existe
- Backup do /etc/lightdm/lightdm-gtk-greeter.conf (cópia com timestamp)
- Copiar template XFCE4
- Extrair template XFCE4 no diretório correto
- Reiniciar XFCE4 serviços para aplicar mudanças
- Remover arquivo template XFCE4 após aplicar
- Copiar templates do LightDM GTK+ Greeter
- Criar diretório temporário para downloads
- Baixar temas de ícones e cursores
- Descompactar os temas em /usr/share/icons
- Copiar subpastas internas de temas para /usr/share/icons (somente onde necessário)
- Listar temas de cursor disponíveis
- Mostrar temas encontrados
- Criar diretório ~/.icons/default
- Criar arquivo index.theme com tema do cursor
- Criar ou atualizar arquivo .Xresources com tema do cursor
- Baixar fontes Ubuntu
- Descompactar fontes Ubuntu
- Remover pasta __MACOSX após extração (se existir)
- Atualizar cache de fontes
- Criar diretório ~/Imagens/wallpapers do usuário
- Baixar wallpapers
- Backup do .bashrc (cópia com timestamp)
- Copiar script custom_bashrc.sh para o guest
- Executar script custom_bashrc.sh no guest
- Remover script custom_bashrc.sh após aplicar
- Garantir 1 linha em branco antes de inserir HISTORY_TIME (no EOF)
- Inserir data e hora no histórico do bash (no EOF)
- Reiniciar sistema para aplicar mudanças na interface gráfica
- Instalar Python3 pip
- Verificar se EXTERNALLY-MANAGED existe
- Fazer backup do EXTERNALLY-MANAGED
- Remover arquivo EXTERNALLY-MANAGED original
- Instalar boto e awscli
- Testar AWS CLI
- Mostrar versão do AWS CLI
- Criar diretório ~/.aws
- Criar arquivo de credenciais AWS com multiplos perfis
- Criar arquivo de configuração AWS com multiplos perfis
- Criar diretório ~/.ssh
- Copiar chave SSH
- Debug new_user
- Criar conta de usuários
- Forçar usuários a alterar a senha no primeiro login
- Debug delete_user
- Remover contas de usuários
git clone https://github.com/glaubergf/ansible-debian-workstation.git
cd ansible-debian-workstation
Editar o inventário (hosts) e variáveis conforme o ambiente.
Executar o playbook completo. Comente a linha no arquivo main.yml caso não queira que alguma role seja executada.
ansible-playbook -i hosts main.yml