- macOS ได้รวม rsync 2.6.9 มาเป็นค่าเริ่มต้นมาเป็นเวลานาน ซึ่งเป็นเวอร์ชันที่เก่ามากและเปิดตัวตั้งแต่ปี 2006
- แม้ว่าเวอร์ชันใหม่อย่าง rsync 3.x จะเผยแพร่ภายใต้ไลเซนส์ GPLv3 แต่ Apple มองว่าเป็นเรื่องยากที่จะปฏิบัติตามเงื่อนไขของไลเซนส์นี้ จึงไม่ได้รวมไว้
- ในทางกลับกัน rsync 2.x เผยแพร่ภายใต้ GPLv2 ซึ่งมีข้อจำกัดน้อยกว่าเมื่อเปรียบเทียบกัน จึงสามารถรวมมาได้
เหตุผลเบื้องหลังการนำ openrsync มาใช้
- ตั้งแต่ macOS Sequoia เป็นต้นไป Apple ได้รวม openrsync แทน rsync เดิม
- openrsync ใช้ ไลเซนส์ ISC ในตระกูล BSD จึงแทบไม่มีข้อจำกัดในการใช้งาน แก้ไข และแจกจ่าย
- สิ่งนี้ช่วยให้ Apple สามารถอัปเดตและบำรุงรักษา openrsync ได้อย่างอิสระโดยไม่มีข้อจำกัดทางกฎหมาย
ข้อควรระวังเมื่อใช้ openrsync
- openrsync เข้ากันได้ กับ rsync แต่ ไม่ได้รองรับคำสั่ง rsync ทุกคำสั่ง
- โดยเฉพาะฟีเจอร์ขั้นสูงบางอย่างหรือออปชันที่ซับซ้อนอาจใช้งานไม่ได้ ดังนั้นสคริปต์ rsync เดิมอาจไม่ทำงานบน macOS Sequoia
- สามารถตรวจสอบรายการคำสั่งและออปชันที่รองรับได้จากหน้าคู่มืออย่างเป็นทางการ
ตำแหน่งคำสั่งและวิธีตรวจสอบเวอร์ชัน
สรุปสำหรับผู้ดูแลระบบและนักพัฒนา Mac
- ด้วยการนำ openrsync มาใช้ macOS จึงไม่ต้องพึ่งพา rsync รุ่นเก่าอีกต่อไป
- อย่างไรก็ตาม อาจไม่เข้ากันกับประสบการณ์การใช้งาน rsync เดิม จึงควรระมัดระวังระหว่างการย้ายระบบ
- หากฟีเจอร์บางอย่างของ rsync ใช้งานไม่ได้ ก็อาจพิจารณาติดตั้ง rsync 3.x จากภายนอกแล้วใช้งานโดยตรงได้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
มีความเห็นว่าด้วยเอกสารของ openrsync ที่ยังไม่เพียงพอ จึงรู้สึกว่ายังไม่น่าเชื่อถือในฐานะตัวแทนของ rsync
มีประสบการณ์เปลี่ยน rsync ที่มากับ macOS เป็นเวอร์ชันใหม่กว่า
เมื่อดู openrsync แล้วพบว่าเป็นโค้ดที่ดี
ในฐานะผู้ใช้ Linux มือใหม่ มีความเห็นว่าการจัดการเวอร์ชันของยูทิลิตีระบบที่มากับเครื่องเป็นเรื่องชวนสับสน
unzipมีบางเวอร์ชันที่ไม่สามารถจัดการไฟล์ ZIP ที่เข้ารหัสแบบ AES-256 ได้unzipเวอร์ชันที่อัปเดตแล้วได้ยากน่าเสียดายที่ openrsync ไม่รองรับความสามารถบางส่วนของ rsync
มีการเพิ่มแพตช์ให้ rsync เพื่อรองรับ extended attributes ที่ใช้สนับสนุนเมทาดาทาของ macOS
พอใจที่ Apple ยังคงเสริมความแข็งแกร่งให้ด้าน POSIX ของ osx อย่างต่อเนื่อง
มีความเห็นถามว่ามีแหล่งข้อมูลเกี่ยวกับเหตุผลที่ Apple กลัว GPLv3 หรือไม่
openrsync ถูกเขียนขึ้นเป็นส่วนหนึ่งของโครงการตัวตรวจสอบ RPKI ของ OpenBSD และได้รับการสนับสนุนจากหลายองค์กร
จนถึง Sequoia 15.3 ยังสามารถใช้ rsync_samba และ rsync_openrsync ได้