2 điểm bởi GN⁺ 2025-04-07 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trong thời gian dài, macOS đã tích hợp sẵn rsync 2.6.9 làm mặc định; đây là một phiên bản rất cũ được phát hành từ năm 2006
  • Phiên bản mới hơn là rsync 3.x được phát hành theo giấy phép GPLv3, nhưng Apple cho rằng khó đáp ứng các điều kiện của giấy phép này nên đã không tích hợp
  • Trong khi đó, rsync 2.x được phát hành theo GPLv2, ít ràng buộc hơn tương đối nên có thể được tích hợp

Bối cảnh đưa openrsync vào sử dụng

  • Từ macOS Sequoia, Apple tích hợp openrsync thay cho rsync cũ
  • openrsync tuân theo giấy phép ISC thuộc họ BSD, nên gần như không có hạn chế trong việc sử dụng, sửa đổi và phân phối
  • Điều này cho phép Apple tự do cập nhật và bảo trì openrsync mà không gặp ràng buộc pháp lý

Những điểm cần lưu ý khi dùng openrsync

  • openrsync tương thích với rsync, nhưng không hỗ trợ mọi lệnh của rsync
  • Đặc biệt, một số tính năng nâng cao hoặc tùy chọn phức tạp có thể không hoạt động, vì vậy các script rsync hiện có có thể sẽ không chạy trên macOS Sequoia
  • Có thể xem danh sách các lệnh và tùy chọn tương thích tại trang manual chính thức

Vị trí lệnh và cách kiểm tra phiên bản

  • Tính đến macOS 15.4, đường dẫn /usr/bin/rsync được liên kết tới openrsync
  • Có thể kiểm tra thông tin phiên bản bằng cách chạy lệnh sau trong terminal:
    /usr/bin/rsync –version  
    openrsync: protocol version 29  
    rsync version 2.6.9 compatible  
    

Tóm tắt dành cho quản trị viên và nhà phát triển Mac

  • Với việc đưa openrsync vào sử dụng, macOS không còn phụ thuộc vào phiên bản rsync cũ nữa
  • Tuy nhiên, do có thể không tương thích với trải nghiệm dùng rsync trước đây, cần thận trọng khi migration
  • Nếu một số tính năng rsync cụ thể không hoạt động, cũng có thể cân nhắc cài đặt và sử dụng trực tiếp rsync 3.x từ bên ngoài

1 bình luận

 
GN⁺ 2025-04-07
Ý kiến Hacker News
  • Có ý kiến cho rằng do tài liệu của openrsync còn thiếu nên khó tin cậy nó như một sự thay thế cho rsync

    • Một chương trình sao chép tệp phải có khả năng sao chép hoàn hảo dữ liệu và metadata của tệp gốc
    • Nhiều chương trình sao chép trên các hệ điều hành họ UNIX không thể sao chép hoàn hảo với tùy chọn mặc định
    • Lệnh scp trước đây không thể sao chép hoàn hảo giữa các hệ điều hành và hệ thống tệp khác nhau
    • rsync, nếu dùng đúng tùy chọn, có thể sao chép hoàn hảo ngay cả giữa các hệ điều hành và hệ thống tệp khác nhau
    • Tài liệu hiện tại của openrsync không đảm bảo việc sao chép tệp hoàn hảo
    • bsdtar có thể lưu trữ để sao chép tệp hoàn hảo khi dùng định dạng tệp pax
    • Khi dùng rsync, có những tùy chọn nhất định luôn được sử dụng
  • Có người từng thay bản rsync đi kèm trên macOS bằng phiên bản mới hơn

    • macOS ngày càng giống iOS hơn, với xu hướng cần sự cho phép của Apple
  • Khi xem qua openrsync, có cảm nhận đây là mã nguồn tốt

    • Điều đáng tiếc là openrsync không tương thích 100% với rsync
    • Đã biết được rằng Apple bắt đầu chuyển sang openrsync
  • Với tư cách là người dùng Linux mới, có ý kiến cho rằng việc quản lý phiên bản các tiện ích hệ thống đi kèm khá khó hiểu

    • Với unzip, có những phiên bản không xử lý được tệp ZIP mã hóa AES-256
    • Khó tìm được phiên bản unzip đã được cập nhật
    • Không chắc việc thay thế các tiện ích đi kèm với hệ thống có an toàn hay không
    • Từng kỳ vọng Linux sẽ quản lý các tiện ích hệ thống tốt hơn
  • Có chút tiếc vì openrsync không hỗ trợ một số tính năng của rsync

    • Việc có nhiều triển khai rsync độc lập vẫn là điều tích cực
  • Đã thêm patch vào rsync để hỗ trợ extended attributes cho metadata của macOS

    • Bombich "Carbon Copy Cloner" là ứng dụng GUI bọc quanh nó
    • Nathaniel Gray đã tạo ra một công cụ để kiểm tra độ chính xác của bản sao lưu
  • Hài lòng vì Apple vẫn tiếp tục củng cố khía cạnh POSIX của osx

  • Có ý kiến hỏi liệu có tài liệu nào giải thích vì sao Apple e ngại GPLv3 hay không

  • openrsync được viết như một phần của dự án trình xác thực RPKI của OpenBSD và nhận được hỗ trợ từ nhiều tổ chức

  • Cho tới Sequoia 15.3, vẫn có thể dùng rsync_sambarsync_openrsync

    • Có người từng gửi báo cáo lỗi cho Apple về một tính năng cụ thể của openrsync
    • rsync_samba đã biến mất từ Sequoia 15.4
    • Cài đặt rsync thông qua Homebrew