Projeto como automatizar o Zorin OS para empresas com suporte ICP-Brasil

Fala, pessoal da comunidade Diolinux! :waving_hand:

O Zorin OS se consolidou como uma das alternativas mais maduras para substituir o Windows em escritórios e órgãos públicos.

No entanto, quem gerencia TI ou faz consultoria e já tentou aplicar essa migração na prática no Brasil se depara com “pedras no sapato” muito específicas:

  • Certificados e Tokens A3 (ICP-Brasil) que não funcionam de primeira no Linux.
  • Sistemas judiciais e fiscais (PJe, Assinador SERPRO, Certillion, WebPKI) que exigem ajustes manuais de bibliotecas em cada máquina.
  • Lentidão e saturação do link de internet ao baixar gigabytes de atualizações e pacotes Flatpak repetidamente em dezenas de estações.

Para resolver essa dor de cabeça e transformar o Zorin OS 18.1 (assim como Ubuntu LTS e Linux Mint) em um sistema 100% pronto para o mercado corporativo brasileiro em minutos, desenvolvi o zorin_corporate_configs!

:film_projector: Contexto de Origem & Inspiração

A motivação para este projeto veio diretamente das pautas debatidas aqui na comunidade:

  • Matéria: O Zorin OS consegue substituir o Windows 10? – Mostra a facilidade de adaptação da interface e o suporte a Web Apps.
  • Vídeo: Conheça o Zorin OS antes do fim do Windows 10 – Demonstra a instalação e preparação do sistema.
  • Tópico no Fórum: Instalar Linux para substituir o Windows 10 na empresa – Onde diversos SysAdmins relataram o desafio de padronizar estações em lote.

O zorin_corporate_configs entra exatamente como o “elo perdido” dessa equação: a camada de automação pós-instalação que entrega uma máquina configurada, segura e compatível com a infraestrutura governamental e jurídica brasileira.

:rocket: O que a ferramenta automatiza?

O projeto é estruturado em 16 módulos encadeados de execução (00 a 15) que realizam a configuração completa do sistema:

  • Cadeia de Certificados ICP-Brasil: O script instalar_certificados_icp_brasil.sh baixa e valida as raízes oficiais do ITI, enquanto o import-icp-brasil.sh injeta as chaves diretamente no repositório do SO, no p11-kit e no banco NSS dos navegadores.
  • Tokens Criptográficos A3: Instalação e integração automatizada de drivers para G&D SafeSign, Safenet (Aladdin/eToken) e Dexon DXSafe. Ajusta permissões do Flatpak (–filesystem=/usr/lib:ro) para que navegadores em sandbox leiam os tokens do hospedeiro.
  • Ecossistema de Assinadores Digitais:Assinador SERPRO (AppImage 4.4.0). Certillion (.run preparado para usuários não-root). PJe Office, WebPKI (Lacuna) e Shodō (com bibliotecas libssl1.1 e Java pré-configurados).
  • Navegadores e Roaming de Rede:Firefox ESR e Stable: O ESR vem pré-configurado abrindo portais governamentais, com substituição nativa do libnssckbi.so pelo p11-kit-trust.so.

:high_voltage: Arquitetura de Cache Triplo: Deploy sem travar a internet

Instalar 20 ou 50 máquinas baixando tudo da WAN destrói a banda da empresa. Por isso, criei um sistema de cache híbrido em 3 níveis que garante 98,3% de retenção local de dados:

Otimizações de I/O e Desempenho Hardware:

  • Preservação de SSD/NVMe: Logs de execução são gravados em RAM (tmpfs de 50 MB em /var/log/customization).
  • Instalação em Massa APT: Todos os 446 pacotes necessários são processados em um único comando no módulo 02-bulk-packages.sh.
  • Gerenciamento de Locks: Interrupção temporária do packagekit e apt-daily.timer durante a instalação para evitar travamentos de trava no dpkg.

:control_knobs: Perfis de Instalação Adaptáveis

Você pode alternar o perfil alterando o arquivo /etc/customization/active-profile.env:

  1. domestic.conf (Uso Pessoal): Desativa rotinas corporativas de backup e restrições SSH. Instala a suíte OnlyOffice e utilitários domésticos.
  2. corporate.conf (Empresarial): Ativa cliente do Proxmox Backup Server, proxy APT local, suporte completo a tokens A3 e restrições de segurança no SSH.
  3. health.conf (Saúde / Clínicas): Inclui o visualizador de imagens médicas DICOM Weasis, terminal pw3270, sincronização NTP e preparação para o antivírus Kaspersky Corporativo.
  4. setup-server-KVM-nfs-acng.sh (Servidor de Infra): Script autônomo que transforma um PC antigo em servidor de proxy APT-Cacher-NG, compartilhamento NFS de Flatpaks e hypervisor de máquinas virtuais KVM.

:bar_chart: Benchmarks e Resultados no Mundo Real

Testes executados em bancada (Laptop AMD Ryzen 5 3500U com SSD NVMe) comprovaram a redução drástica do tempo e do uso de banda:

:light_bulb: Dica Extra: Homologando em Máquinas Virtuais (KVM)

Para quem quer testar o projeto em uma VM mantendo cerca de 97% do desempenho bruto da máquina física, configure seu Virt-Manager com estas especificações:

  • RAM: 1/3 da memória RAM física (ex: 5120 MB para 16 GB).

  • CPU: Metade dos núcleos/threads do processador hospedeiro.

  • Disco: Controladora SCSI VirtIO com Modo de Cache: none e opção Descarte: unmap habilitada.

  • Vídeo: Placa VirtIO com Aceleração 3D ativada (com Exibição Spice configurada com Tipo de Escuta “Nenhum”).

  • Leia a documentação específica no repositório: Fundamental!

:hammer_and_wrench: Como Usar (Quickstart) no Bash

  1. Clone o repositório no diretório de customização
  2. Acesse a pasta e selecione o perfil desejado
  3. Execute o orquestrador principal

Simplificadamente, use os blocos de comando para o terminal descritos no item 11 do README para executar a customização no perfil padrão Corporativo com o parametro 2 após [ ./main.sh 2 ]:

sudo bash -c "mkdir -p /etc/customization/ /var/log/customization-persist/ && rm -rf /tmp/customization\* && wget https://github.com/arthur-aida/zorin_corporate_configs/archive/refs/heads/main.zip -O /tmp/customization.zip && unzip -q /tmp/customization.zip -d /tmp/customization/ && cp -r /tmp/customization/zorin_corporate_configs-main/\* /etc/customization/ && cd /etc/customization/ && chmod +x main.sh && ./main.sh 2 2>&1 | tee /var/log/customization-persist/main.log"

ou

sudo apt install git -y && sudo rm -rf /tmp/zorin_corporate_configs/\* && git clone https://github.com/arthur-aida/zorin_corporate_configs.git /tmp/zorin_corporate_configs/ && sudo bash -c "mkdir -p /etc/customization/ /var/log/customization-persist/ && cp -r /tmp/zorin_corporate_configs/\* /etc/customization/ && cd /etc/customization/ && chmod +x main.sh && ./main.sh 2 2>&1 | tee /var/log/customization-persist/main.log"

:counterclockwise_arrows_button: Manutenção Silenciosa e Autônoma

Depois do deploy, o sistema cuida de si mesmo através do cron:

  • Reativação de Impressoras (/etc/enableprinter.sh): Roda a cada 5 minutos para reativar impressoras desabilitadas automaticamente pelo CUPS por falhas pontuais de comunicação.
  • Limpeza Periódica (/etc/clean.sh): Mantém a máquina enxuta limpando caches temporários e navegadores de tempos em tempos.

:speech_balloon: Deixe seu feedback!

O projeto é código aberto e nasceu da necessidade real de operacionalizar o Linux para uso corporativo no contexto brasileiro.

Se você atua na área de TI, presta suporte para escritórios ou está planejando a migração do Windows 10 no seu ambiente, teste o projeto e me diga o que achou aqui nos comentários! PRs: Extremamente bem-vindos!

Se esse projeto for útil para você, deixe o seu curtir no tópico para ajudar a engajar e levar essa solução para mais membros da comunidade! :rocket::+1:

Zorin OS 18 é tão incrível que substituir o Windows é só um efeito colateral.

Conheça o Zorin OS (Linux) antes do fim do Windows 10!

3 curtidas