2 คะแนน โดย GN⁺ 2025-04-07 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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
  • สามารถตรวจสอบรายการคำสั่งและออปชันที่รองรับได้จากหน้าคู่มืออย่างเป็นทางการ

ตำแหน่งคำสั่งและวิธีตรวจสอบเวอร์ชัน

  • ณ macOS 15.4 พาธ /usr/bin/rsync ถูกเชื่อมไปยัง openrsync
  • สามารถตรวจสอบข้อมูลเวอร์ชันได้ด้วยการรันคำสั่งต่อไปนี้ในเทอร์มินัล:
    /usr/bin/rsync –version  
    openrsync: protocol version 29  
    rsync version 2.6.9 compatible  
    

สรุปสำหรับผู้ดูแลระบบและนักพัฒนา Mac

  • ด้วยการนำ openrsync มาใช้ macOS จึงไม่ต้องพึ่งพา rsync รุ่นเก่าอีกต่อไป
  • อย่างไรก็ตาม อาจไม่เข้ากันกับประสบการณ์การใช้งาน rsync เดิม จึงควรระมัดระวังระหว่างการย้ายระบบ
  • หากฟีเจอร์บางอย่างของ rsync ใช้งานไม่ได้ ก็อาจพิจารณาติดตั้ง rsync 3.x จากภายนอกแล้วใช้งานโดยตรงได้

1 ความคิดเห็น

 
GN⁺ 2025-04-07
ความคิดเห็นจาก Hacker News
  • มีความเห็นว่าด้วยเอกสารของ openrsync ที่ยังไม่เพียงพอ จึงรู้สึกว่ายังไม่น่าเชื่อถือในฐานะตัวแทนของ rsync

    • โปรแกรมคัดลอกไฟล์ควรต้องคัดลอกข้อมูลและเมทาดาทาของไฟล์ต้นฉบับได้อย่างสมบูรณ์
    • โปรแกรมคัดลอกของระบบปฏิบัติการตระกูล UNIX จำนวนมากไม่สามารถคัดลอกได้อย่างสมบูรณ์ด้วยตัวเลือกปริยาย
    • คำสั่ง scp ไม่สามารถคัดลอกได้อย่างสมบูรณ์ระหว่างระบบปฏิบัติการและระบบไฟล์ที่ต่างกัน
    • rsync สามารถคัดลอกได้อย่างสมบูรณ์แม้ระหว่างระบบปฏิบัติการและระบบไฟล์ที่ต่างกัน หากใช้ตัวเลือกที่เหมาะสม
    • เอกสารปัจจุบันของ openrsync ไม่ได้รับประกันการคัดลอกไฟล์อย่างสมบูรณ์
    • bsdtar สามารถจัดเก็บการคัดลอกไฟล์แบบสมบูรณ์เป็นอาร์ไคฟ์ได้เมื่อใช้รูปแบบไฟล์ pax
    • เมื่อใช้ rsync จะใช้ตัวเลือกบางอย่างเฉพาะอยู่เสมอ
  • มีประสบการณ์เปลี่ยน rsync ที่มากับ macOS เป็นเวอร์ชันใหม่กว่า

    • macOS ค่อย ๆ มีลักษณะคล้าย iOS มากขึ้น และมีแนวโน้มว่าต้องได้รับการอนุญาตจาก Apple
  • เมื่อดู openrsync แล้วพบว่าเป็นโค้ดที่ดี

    • น่าเสียดายที่ openrsync ไม่เข้ากันได้กับ rsync แบบ 100%
    • ได้ทราบว่า Apple เริ่มเปลี่ยนมาใช้ openrsync แล้ว
  • ในฐานะผู้ใช้ Linux มือใหม่ มีความเห็นว่าการจัดการเวอร์ชันของยูทิลิตีระบบที่มากับเครื่องเป็นเรื่องชวนสับสน

    • ในกรณีของ unzip มีบางเวอร์ชันที่ไม่สามารถจัดการไฟล์ ZIP ที่เข้ารหัสแบบ AES-256 ได้
    • หา unzip เวอร์ชันที่อัปเดตแล้วได้ยาก
    • ไม่แน่ใจว่าการแทนที่ยูทิลิตีที่มากับระบบจะปลอดภัยหรือไม่
    • เคยคาดหวังว่า Linux จะจัดการยูทิลิตีระบบได้ดีกว่านี้
  • น่าเสียดายที่ openrsync ไม่รองรับความสามารถบางส่วนของ rsync

    • การมี implementation ของ rsync ที่เป็นอิสระหลายตัวถือเป็นเรื่องที่ดี
  • มีการเพิ่มแพตช์ให้ rsync เพื่อรองรับ extended attributes ที่ใช้สนับสนุนเมทาดาทาของ macOS

    • Bombich "Carbon Copy Cloner" เป็นแอป GUI ที่ครอบสิ่งนี้ไว้
    • Nathaniel Gray สร้างเครื่องมือสำหรับตรวจสอบความถูกต้องของข้อมูลสำรอง
  • พอใจที่ Apple ยังคงเสริมความแข็งแกร่งให้ด้าน POSIX ของ osx อย่างต่อเนื่อง

  • มีความเห็นถามว่ามีแหล่งข้อมูลเกี่ยวกับเหตุผลที่ Apple กลัว GPLv3 หรือไม่

  • openrsync ถูกเขียนขึ้นเป็นส่วนหนึ่งของโครงการตัวตรวจสอบ RPKI ของ OpenBSD และได้รับการสนับสนุนจากหลายองค์กร

  • จนถึง Sequoia 15.3 ยังสามารถใช้ rsync_samba และ rsync_openrsync ได้

    • มีประสบการณ์ส่งรายงานบั๊กเกี่ยวกับความสามารถบางอย่างของ openrsync ให้ Apple
    • rsync_samba หายไปตั้งแต่ Sequoia 15.4
    • ติดตั้ง rsync ผ่าน homebrew