Migração do Windows para Linux com Zorin OS Corporate Configs (repositório no github zorin_corporate_configs)
Zorin Corporate Configs – Automação pós-instalação para Zorin OS, Ubuntu e Linux Mint com suporte a ICP-Brasil.
Este projeto é uma ferramenta de automação open-source distribuída gratuitamente. Embora contenha perfis voltados para os setores de saúde e jurídico, não possui garantias de funcionamento de qualquer tipo.
A alteração de regras do Flatpak (--filesystem=/usr/lib:ro) e a automação de drivers PKCS#11 visam a conveniência de uso de tokens A3, mas alteram a superfície de isolamento original do sistema. Certifique-se de testar exaustivamente os módulos em ambiente de homologação (KVM/QEMU) antes de aplicá-los em computadores de produção ou redes corporativas. O uso desta suíte ocorre por sua conta e risco, conforme os termos do Adendo Jurisdicional anexo à licença MIT.
⚠️ AVISO LEGAL E DE RESPONSABILIDADE- 📸 Visão Geral
- ✨ Principais Funcionalidades
- 🔑 Suporte a Certificados e Tokens A3 (ICP-Brasil)
- ⚡ Arquitetura de Cache Triplo (Deploy de Alta Performance)
- 🎭 Perfis de Instalação e Customização
- 📋 Requisitos de Sistema
- 🚀 Instalação e Início Rápido (Quickstart)
- ⚡ Servidor de Infraestrutura
- 📊 Benchmarks e Desempenho
- 💡 Homologação em Ambientes Virtuais (KVM/QEMU)
- 🔄 Manutenção Autônoma e Rotinas Cron
- 📁 Estrutura do Repositório
- ❓ Perguntas Frequentes (FAQ)
- 🤝 Como Contribuir
- 📜 Licença e Autor
O zorin_corporate_configs é uma suíte open-source de automação em Bash desenvolvida para resolver os principais gargalos da migração do Windows 10/11 para Linux no ambiente corporativo brasileiro. Desenvolvido especialmente para gerentes de TI, SysAdmins e consultores de suporte, o projeto transforma uma instalação limpa do Zorin OS 18.1 (ou derivados do Ubuntu LTS como o Linux Mint 22.X) em um ambiente de trabalho de nível corporativo em poucos minutos, pré-configurado com segurança, assinadores digitais governamentais, suíte de escritório e otimização de tráfego de rede.
- 🔒 Compatibilidade total com ecossistema governamental e judiciário brasileiro (PJe, Shodō, SERPRO, Certillion).
- 🔑 Suporte nativo a Tokens Criptográficos A3 e ICP-Brasil nos navegadores Chrome, Edge, Brave e Firefox (mesmo em Flatpak/Sandbox).
- ⚡ Economia de até 98,3% de banda de internet WAN através de arquitetura de cache local de 3 níveis.
- ⏱️ Redução de até 45% no tempo de implantação/deploy por máquina.
- 🎭 3 Perfis de Uso Adaptáveis: Doméstico, Corporativo e Saúde/Clínicas. Provê o servidor de Infraestrutura.
- 🖨️ Manutenção autônoma: Auto-recuperação de impressoras desativadas e limpeza automática de caches temporários.
Um dos maiores desafios de migração para Linux em escritórios de advocacia, clínicas, contabilidade e órgãos públicos no Brasil é a integração de leitores de cartão e tokens A3. O projeto resolve esse problema de ponta a ponta:
-
Instalação da Cadeia de Custódia Oficial:
- O script
instalar_certificados_icp_brasil.shbaixa, valida e instala as raízes da AC Raiz da ICP-Brasil (ITi) atualizadas. - O script
import-icp-brasil.shinjeta automaticamente os certificados na store do sistema, nop11-kite no banco de dados NSS (cert8.db/cert9.db) de todos os perfis de navegadores.
- O script
-
Drivers e PKCS#11 para Tokens A3:
- Suporte pré-configurado para drivers G&D SafeSign, Safenet (Aladdin / eToken) e Dexon DXSafe.
- Integração do
p11-kit-trust.sosubstituindo olibnssckbi.sonativo do Firefox.
-
Compatibilidade com Navegadores Flatpak (Sandbox):
- Permissão global
--filesystem=/usr/lib:roe acesso ao barramento PKCS#11 para que navegadores isolados leiam tokens físicos conectados na máquina hospedeira.
- Permissão global
-
Sistemas e Assinadores Pré-homologados:
- PJe Office e Shodō (com bibliotecas
libssl1.1e ambiente Java pré-configurados). - Assinador SERPRO (AppImage v4.4.0) e Certillion (execução não-root).
- WebPKI (Lacuna Software).
- PJe Office e Shodō (com bibliotecas
Deploy em lote de 10, 50 ou 100 estações de trabalho costuma inviabilizar o link de internet da empresa. O zorin_corporate_configs utiliza um modelo de cache híbrido em 3 níveis para retenção local de dados de 98,3%:
[ Internet / WAN (Apenas 1,7% do tráfego) ]
│
▼
┌───────────────────────────────┐
│ Nível 1: Validação Local │
└───────────────────────────────┘
│
┌────────────────────────┴────────────────────────┐
▼ ▼
┌──────────────────────────────────┐ ┌──────────────────────────────────┐
│ Nível 2: Proxy APT-Cacher-NG │ │ Nível 3: Compartilhamento NFS │
│ (Porta 3142 - Pacotes .deb) │ │ - Repositório OSTree (Flatpak) │
│ Retenção de Tráfego: 18,0% │ │ - Instaladores (.run, AppImage) │
└──────────────────────────────────┘ └──────────────────────────────────┘- Preservação do SSD/NVMe: Logs de execução do instalador são gravados em memória RAM via
tmpfsem/var/log/customization(50 MB max). - Instalação massiva via APT: Todos os pacotes necessários são consolidados e instalados em comando único (
02-bulk-packages.sh). - Gerenciamento de locks do dpkg: Suspensão automática do
packagekit.serviceeapt-daily.timerdurante a execução para evitar travamentos de trava do sistema. - Roaming Inteligente de Rede: Script dispatcher no NetworkManager detecta se o computador está na rede corporativa (aplicando o proxy local APT) ou em home-office/externo, alternando os repositórios sem intervenção do usuário.
Você pode alterar o perfil ativado editando o arquivo /etc/customization/active-profile.env:
| Perfil | Arquivo de Conf. | Público-Alvo / Foco de Aplicação | Recurso Destacado |
|---|---|---|---|
| Corporativo | corporate.conf |
Escritórios, Empresas, Contabilidade e Advocacia | Suporte a Tokens A3, Proxy APT, Cliente Proxmox Backup, Hardening SSH |
| Saúde / Clínicas | health.conf |
Hospital, Clínicas Médicas e Odontológicas | Visualizador DICOM (Weasis), Terminal pw3270, Sincronização NTP |
| Doméstico | domestic.conf |
Uso Pessoal, Home Office e Estudo | Suíte OnlyOffice, utilitários multimídia, sem restrições corporativas |
| Servidor Infra | setup-server-KVM-nfs-acng.sh |
Servidor Local da Empresa | Proxy APT-Cacher-NG, Compartilhamento NFS e Hypervisor KVM |
- Sistema Operacional: Zorin OS 18.1 (Core, Pro ou Lite), Ubuntu 24.04 LTS ou Linux Mint 22.X LTS.
- Processador: CPU x86_64 Dual-Core de 2.0 GHz.
- Memória RAM: 4 GB.
- Armazenamento: 25 GB em SSD / NVMe.
- Conexão de Rede: Placa de rede Ethernet 100/1000 Mbps ou Wi-Fi.
- CPU: Quad-Core ou superior.
- Memória RAM: 8 GB+.
- Armazenamento: SSD de 120 GB+ reservado para cache de pacotes
.debe Flatpaks OSTree.
📋 Para iniciar o processo, clique no ícone Copiar e Cole no terminal linux para executar a otimização automática na estação de trabalho:
sudo apt install git -y && 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"📋 Para transformar um computador antigo ou servidor local em uma central de distribuição de atualizações e hipervisor de máquinas virtuais, execute o script autônomo:
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/scripts && chmod +x ./setup-server-KVM-nfs-acng.sh && ./setup-server-KVM-nfs-acng.sh"Este script configura automaticamente:
- APT-Cacher-NG na porta
3142para interceptar e armazenar atualizações.deb. - Servidor NFS para compartilhamento da pasta de sideload de Flatpaks e programas corporativos.
- KVM / QEMU / Virt-Manager com suporte a ponte de rede (bridge) e aceleração de hardware.
Valores obtidos em bancada de testes utilizando um notebook com Processador AMD Ryzen 5 3500U, 16 GB RAM e SSD NVMe M.2:
| Métrica de Desempenho | Instalação Padrão (Download WAN) | Com zorin_corporate_configs |
Ganho / Economia Obtida |
|---|---|---|---|
| Tempo de Deploy (Perfil Doméstico) | 12 min 25 s | 7 min 40 s | 38% mais rápido ⚡ |
| Tempo de Deploy (Perfil Corporativo/Saúde) | 6 min 57 s | 3 min 50 s | 45% mais rápido ⚡ |
| Consumo de Banda WAN por Máquina | ~4,3 GB | 74 MB (1,7%) | 98,3% de economia 🌐 |
Para testar e validar as configurações em uma máquina virtual garantindo até 97% do desempenho do hardware real, utilize a seguinte especificação no Virt-Manager:
- RAM: 1/3 da memória física (ex.: 5120 MB para hosts com 16 GB).
- Processador: Metade dos núcleos/threads do processador hospedeiro (Habilite o modo
host-passthrough). - Disco: Controladora VirtIO SCSI | Modo de Cache:
none| Otimização:unmap(Descarte/TRIM ativo). - Vídeo: Driver VirtIO com Aceleração 3D ativa | Exibição Spice (Tipo de Escuta: Nenhum).
Após a conclusão da instalação, a estação de trabalho permanece auto-gerenciada através de scripts automatizados no cron:
- 🖨️ Reativação de Impressoras (
/etc/enableprinter.sh): Executado a cada 5 minutos. Detecta impressoras que sofreram pause/offline automático no CUPS por instabilidade de rede e as reativa automaticamente. - 🧹 Limpeza Automática (
/etc/clean.sh): Mantém o sistema enxuto removendo caches de navegadores, arquivos temporários e logs antigos periodicamente.
zorin_corporate_configs/
├── main.sh # Orquestrador principal de execução
├── README.md # Documentação oficial do projeto
├── active-profile.env # Link ou cópia do perfil atualmente ativo
├── modules/ # Módulos encadeados de execução (00 a 15)
│ ├── 00-environment-check.sh # Validação de sistema, arquitetura e permissões
│ ├── 01-network-cache-setup.sh # Configuração de proxy APT e rotas NFS
│ ├── 02-bulk-packages.sh # Instalação em lote de 446+ pacotes .deb
│ ├── 03-icp-brasil-setup.sh # Instalação das cadeias de certificados do ITI
│ ├── 04-tokens-smartcards.sh # Drivers para leitores e tokens A3 (SafeSign, Safenet)
│ ├── 05-signing-apps.sh # Setup do PJe Office, Shodō, SERPRO e Certillion
│ └── ... # Outros módulos de customização corporativa
├── profiles/ # Perfis de configuração
│ ├── corporate.conf # Perfil Corporativo/Empresarial
│ ├── health.conf # Perfil Saúde/Clínicas médicas
│ └── domestic.conf # Perfil Uso Doméstico/Home Office
└── scripts/ # Scripts auxiliares e de infraestrutura
├── setup-server-KVM-nfs-acng.sh # Instalador do Servidor de Cache e KVM
├── import-icp-brasil.sh # Importador de certificados no NSS/p11-kit
├── enableprinter.sh # Daemon de auto-recuperação de impressoras CUPS
└── clean.sh # Rotina de limpeza de cache e temporários
Sim. Embora otimizado para o Zorin OS 18.1, a suíte é totalmente compatível com Ubuntu 24.04 LTS, Linux Mint 22. Pode ser adaptado para distribuições derivadas do Debian x86_64 (não testado).
Sim. O módulo 04-tokens-smartcards.sh aplica as regras do p11-kit e ajusta os privilégios do Flatpak (--filesystem=/usr/lib:ro), permitindo que navegadores conteinerizados acessem os módulos PKCS#11 nativos do sistema.
Não. Se a rede não possuir o servidor de cache APT-Cacher-NG ou NFS, o script identificará a ausência e fará o download direto dos repositórios oficiais via internet (WAN).
Contribuições são super bem-vindas! Se você deseja propor melhorias, novos módulos ou relatar correções:
- Faça um Fork deste repositório.
- Crie uma Branch para a sua funcionalidade:
git checkout -b feature/nova-funcionalidade. - Commit suas alterações:
git commit -m 'Adiciona suporte a novo token A3'. - Envie para o repositório remoto:
git push origin feature/nova-funcionalidade. - Abra um Pull Request.
- A conversão da suite para Ansible Roles pode ser a introdução definitiva no ambiente governamental. A suite funciona como uma prova de conceito (PoC), o Ansible Role é a linguagem que os departamentos de TI de grandes órgãos (como Ministérios, Tribunais e Prefeituras) utilizam para garantir que suas redes Linux mantenham o compliance de segurança exigido pela Estratégia de Governo Digital. A conversão do módulo import-icp-brasil.sh e o firefox-manager.sh resolvem 80% do atrito de adoção do usuário final no funcionalismo público brasileiro.
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para mais detalhes.
Desenvolvido e Mantido por:
- Arthur Mitsuharu Aida - Desenvolvedor
- Discussões Comunitárias: Canais independentes como a Comunidade Diolinux Plus e Viva o Linux (o autor não presta suporte técnico comercial e não se responsabiliza por soluções propostas por terceiros nesses fóruns).
- Projeto Open Source para o Fortalecimento da Tecnologia Livre no Brasil.
- Apoio ao Projeto: Para realizar uma doação de caráter estritamente voluntário e espontâneo (sem direito a suporte contratual ou contraprestação de serviços), acesse o QR-Code.