2 pontos por GN⁺ 2025-04-07 | 1 comentários | Compartilhar no WhatsApp
  • O macOS incluiu por muito tempo o rsync 2.6.9 por padrão, uma versão muito antiga lançada em 2006
  • A versão mais recente, rsync 3.x, foi distribuída sob a licença GPLv3, mas a Apple considerou difícil cumprir os requisitos dessa licença e, por isso, não a incluiu
  • Já o rsync 2.x era distribuído sob GPLv2, relativamente menos restritiva, o que permitia sua inclusão

Contexto da adoção do openrsync

  • A partir do macOS Sequoia, a Apple passou a incluir o openrsync no lugar do rsync tradicional
  • O openrsync segue a licença ISC, da família BSD, o que impõe pouquíssimas restrições de uso, modificação e distribuição
  • Isso permite que a Apple atualize e mantenha o openrsync livremente, sem limitações legais

Pontos de atenção ao usar o openrsync

  • O openrsync é compatível com o rsync, mas não oferece suporte a todos os comandos do rsync
  • Em especial, alguns recursos avançados ou opções mais complexas podem não funcionar, então scripts existentes com rsync podem deixar de funcionar no macOS Sequoia
  • A lista de comandos e opções compatíveis pode ser consultada na página oficial do manual

Local do comando e como verificar a versão

  • No macOS 15.4, o caminho /usr/bin/rsync aponta para o openrsync
  • É possível verificar as informações de versão executando o seguinte comando no Terminal:
    /usr/bin/rsync –version  
    openrsync: protocol version 29  
    rsync version 2.6.9 compatible  
    

Resumo para administradores e desenvolvedores de Mac

  • Com a adoção do openrsync, o macOS deixa de depender do rsync antigo
  • No entanto, como a experiência e a compatibilidade com o rsync anterior podem mudar, é preciso ter cuidado na migração
  • Se algum recurso específico do rsync não funcionar, também vale considerar instalar e usar externamente o rsync 3.x

1 comentários

 
GN⁺ 2025-04-07
Comentários do Hacker News
  • Há a opinião de que o openrsync não inspira confiança como substituto do rsync devido à falta de documentação

    • Um programa de cópia de arquivos deve ser capaz de copiar perfeitamente os dados e os metadados dos arquivos originais
    • Muitos programas de cópia em sistemas operacionais da família UNIX não conseguem fazer uma cópia perfeita com as opções padrão
    • O comando scp não conseguia fazer uma cópia perfeita entre diferentes sistemas operacionais e sistemas de arquivos
    • O rsync, com as opções adequadas, consegue fazer uma cópia perfeita mesmo entre diferentes sistemas operacionais e sistemas de arquivos
    • A documentação atual do openrsync não garante cópia perfeita de arquivos
    • O bsdtar pode arquivar uma cópia perfeita de arquivos ao usar o formato de arquivo pax
    • Ao usar rsync, sempre usam certas opções específicas
  • Há experiência em substituir o rsync incluído no macOS por uma versão mais recente

    • O macOS está ficando cada vez mais parecido com o iOS, com uma tendência de exigir a permissão da Apple
  • Ao analisar o openrsync, ele pareceu ser um bom código

    • É uma pena que o openrsync não seja 100% compatível com o rsync
    • Foi descoberto que a Apple começou a migrar para o openrsync
  • Como novo usuário de Linux, há quem ache confusa a gestão de versões dos utilitários de sistema incluídos

    • No caso do unzip, há versões que não conseguem lidar com arquivos ZIP criptografados com AES-256
    • É difícil encontrar uma versão atualizada do unzip
    • Não há certeza se é seguro substituir utilitários incluídos no sistema
    • Havia a expectativa de que o Linux gerenciasse melhor os utilitários de sistema
  • É uma pena que o openrsync não ofereça suporte a alguns recursos do rsync

    • É positivo que existam várias implementações independentes do rsync
  • Foram adicionados patches ao rsync para dar suporte a atributos estendidos que suportam metadados do macOS

    • O Bombich "Carbon Copy Cloner" é o aplicativo com interface gráfica que encapsula isso
    • Nathaniel Gray criou uma ferramenta para verificar a exatidão dos backups
  • Há satisfação com o fato de a Apple continuar reforçando o lado POSIX do osx

  • Há quem pergunte se existem recursos sobre por que a Apple teme a GPLv3

  • O openrsync foi escrito como parte do projeto validador RPKI do OpenBSD e recebeu apoio de várias organizações

  • Até o Sequoia 15.3, rsync_samba e rsync_openrsync estavam disponíveis

    • Há experiência em enviar à Apple um relatório de bug sobre um recurso específico do openrsync
    • O rsync_samba desapareceu a partir do Sequoia 15.4
    • O rsync é instalado via Homebrew