1 คะแนน โดย GN⁺ 2025-11-14 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เตรียมยกเลิกแฟล็ก --no-quarantine ที่ใช้บังคับข้าม macOS Gatekeeper เพื่อรัน ซอฟต์แวร์ที่ไม่ได้ลงนาม
  • การเปลี่ยนแปลงนี้เป็น มาตรการเสริมความปลอดภัย และจะดำเนินการให้สอดคล้องกับนโยบายการลงนามโค้ดและการรับรองของ Apple
  • เมื่อ macOS Tahoe จะเป็น macOS เวอร์ชันสุดท้ายสำหรับ Intel ความจำเป็นของฟีเจอร์นี้จึงลดลงอย่างมาก
  • บน ARM Mac ไม่สามารถรันโค้ด arm64 ที่ไม่มีการลงนามได้
  • ตั้งแต่วันที่ 1 กันยายน 2026 จะยุติการรองรับ cask ที่ไม่ผ่านการตรวจสอบของ Gatekeeper

เหตุผล

  • ทั้ง Apple และ Homebrew ต่างกำลังมุ่งไปสู่การยุติการรองรับ Intel Mac และ --no-quarantine เป็นฟังก์ชันสำหรับข้ามความปลอดภัย จึงไม่มีเหตุผลให้คงไว้

ผลกระทบต่อผู้ใช้

  • เมื่อยกเลิกตัวเลือกนี้ จะทำให้สภาพแวดล้อมการติดตั้งสอดคล้องกับมาตรฐานความปลอดภัยของ macOS และ Homebrew จะไม่ให้ฟังก์ชันข้ามความปลอดภัยอีกต่อไป

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

 
GN⁺ 2025-11-14
ความคิดเห็นจาก Hacker News
  • เท่าที่ฉันเข้าใจ การเปลี่ยนแปลงครั้งนี้ดูเหมือนจะส่งผลหลัก ๆ เฉพาะกับ cask บน macOS
    cask ใช้สำหรับติดตั้งแอปไบนารีในรูปแบบ dmg หรือ pkg ซึ่งส่วนใหญ่เป็นไบนารีที่มีการเซ็นอยู่แล้ว
    ดูเหมือนว่าจะไม่กระทบความสามารถของ Homebrew ในการ ดาวน์โหลด·คอมไพล์·ติดตั้ง ซอฟต์แวร์โอเพนซอร์ส

    • ฉันไม่เห็นด้วยกับคำบอกที่ว่าคนส่วนใหญ่ที่ฉันรู้จักไม่ได้ติดตั้ง cask กันมากนัก
      จริง ๆ แล้ว จุดที่ Homebrew ดีกว่าตัวจัดการแพ็กเกจอื่นก็คือ cask นี่แหละ
      ฉันติดตั้ง Homebrew ไว้ใน prefix แบบแยกเพื่อใช้แค่ cask และไม่ได้เพิ่มลงใน PATH
      ฉันก็ใช้แอปที่ไม่ได้เซ็นอยู่หลายตัว
      ฉันคิดว่าสิ่งที่สำคัญกว่าว่าเซ็นหรือไม่เซ็น คือ กระบวนการคัดสรร·ตรวจสอบ แบบที่ Homebrew หรือ Debian มี
      ถ้าออปชัน --no-quarantine หายไป ก็จะไม่สะดวกเพราะต้องมานั่งอนุมัติเองทุกครั้งที่อัปเดต
    • โดยพื้นฐานแล้ว Homebrew ก็แจกจ่ายโอเพนซอร์สในรูปแบบ แพ็กเกจไบนารี (bottle) ด้วย
      ถ้าดูรายการแพ็กเกจทางการ จะพบว่ามีหลายร้อยหน้า
      มีการระบุไว้ชัดเจนว่า “เป้าหมายคือให้ทุกอย่างอยู่ในรูป bottle”
      ดังนั้นแม้การเปลี่ยนแปลงครั้งนี้จะไม่ได้กระทบโดยตรง แต่ก็ควรรู้ไว้ว่าไม่ได้เน้นการบิลด์จากซอร์สเป็นหลักแบบเมื่อก่อนแล้ว
    • หัวหน้าโครงการ Homebrew ออกมายืนยันด้วยตัวเองแล้ว — การเปลี่ยนแปลงครั้งนี้ ไม่กระทบ formulae กระทบเฉพาะ cask เท่านั้น
    • แอปตัวอย่างที่ถูกพูดถึงบ่อยในการถกเถียงครั้งนี้คือ Librewolf และ Freetube
      การสนทนาที่เกี่ยวข้อง: Homebrew Discussions #6334
    • ฉันติดตั้งแอป GUI ทั้งหมดผ่าน Homebrew ตอนนี้มี cask มากกว่า 30 ตัวแล้ว แต่ไม่ค่อยแน่ใจว่าแต่ละตัวมีการเซ็นหรือไม่
  • ฉันคาดไว้นานแล้วว่า Gatekeeper จะค่อย ๆ ถูกเข้มงวดขึ้น และตอนนี้มันก็เกิดขึ้นจริง

    • ที่จริงตอน Gatekeeper ถูกเข้มงวดขึ้นใน macOS 15 Sequoia เมื่อราว 1 ปีก่อน คนก็สังเกตเห็นกันแล้ว
      บทความที่เกี่ยวข้อง: Ars Technica, MacRumors, Daring Fireball
    • โชคดีที่ โน้ตบุ๊ก Linux ดีขึ้นเรื่อย ๆ
      พอถึงตอนที่ M1 MacBook Air ของฉันเริ่มช้าลง ฉันก็น่าจะย้ายไปใช้ลินุกซ์เต็มตัวได้
    • การที่ Apple ขัดขวางการติดตั้ง OS อื่นทำให้การแข่งขันอ่อนแอลง และในระยะยาวก็ไม่ดีต่อผู้ใช้
      การซื้อฮาร์ดแวร์ Apple คือการ ยอมรับพฤติกรรมแบบนี้โดยปริยาย
    • Gatekeeper ยังสามารถปิดใช้งานได้อยู่
      เมื่อดูจากขนาดตลาดของ Mac และสัดส่วนนักพัฒนาแล้ว ฉันคิดว่า Apple คงไม่ถึงขั้นปิดกั้นทั้งหมด
    • จริง ๆ แล้วทิศทางนี้ถูกคาดการณ์ไว้ตั้งแต่แรก เพียงแต่ตอนนั้นคำเตือนลักษณะนี้ถูกมองข้ามไป
  • Homebrew เป็นตัวจัดการแพ็กเกจที่เป็นมิตรกับผู้บริโภคมากกว่าจะเป็น เครื่องมือสำหรับมืออาชีพ
    มีคนไม่พอใจมากกับการบังคับอัปเดต การทิ้งเวอร์ชันเก่า และการปิดกั้นการถกเถียง
    เลยกำลังคิดว่าจะย้ายไป MacPorts ดีไหม

    • Homebrew แทบปรับแต่งอะไรไม่ได้เลย และ การจัดการ dependency ก็ยุ่งเหยิงมาก
      ท่าทีที่ก้าวร้าวของผู้ดูแลก็เป็นปัญหาเช่นกัน
    • ฉันเริ่มจาก MacPorts เมื่อ 20 ปีก่อน แล้วย้ายมา Homebrew แต่ช่วงหลังกลับไปใช้ MacPorts อีกแล้ว
      คิดถึงสมัยที่ยังบิลด์บน PowerBook เก่า ๆ ได้ไม่มีปัญหา
    • ตอนนี้ Homebrew แทบจะเหมือน ส่วนขยายของ App Store
    • น่าผิดหวังที่ Homebrew เลิกสนับสนุน macOS เวอร์ชันเก่า
      การทิ้งการรองรับเวอร์ชันเก่าแบบเดียวกับ Apple ขัดกับจิตวิญญาณโอเพนซอร์ส
      ฉันตกใจกับข้อความ “ยุติการรองรับ Intel” มาก
    • เส้นแบ่งระหว่าง “สำหรับมืออาชีพ” กับ “สำหรับผู้บริโภค” มันไม่ชัดเจน ฉันยังสงสัยเลยว่ามีผู้บริโภคทั่วไปที่ใช้ Homebrew จริงหรือ
  • ฉันคิดว่าปัญหาคือ การสื่อสารที่ไม่เป็นมิตร ของผู้ดูแล Homebrew
    ในเชิงเทคนิค การรัน xattr ในขั้นตอน postinstall นั้นถูกต้องแล้ว แต่เรื่องท่าทีควรปรับปรุง

    • ปฏิกิริยาของ Mike McQuaid รุนแรงเกินไป ฝั่งตรงข้ามค่อนข้างใจเย็น แต่กลับตอบโต้แบบก้าวร้าวโดยไม่จำเป็น
    • พวกเขาทำให้ดูเหมือนเปิดให้ถกเถียง แต่ในความเป็นจริงมันเป็นแค่ การหารือเชิงพิธีการ
  • ตอนแรกฉันไม่เข้าใจว่าการเปลี่ยนแปลงครั้งนี้หมายถึงอะไรกันแน่
    สับสนว่า Homebrew จะห้ามบิลด์จากซอร์ส หรือจะให้รันได้เฉพาะไบนารีที่มีการเซ็นเท่านั้น

    • ความจริงคือ มีผลเฉพาะกับ cask ส่วน formulae และ bottle ยังเหมือนเดิม
    • ไบนารีบน macOS มี quarantine flag อยู่ และถ้าธงนี้ถูกตั้งไว้ก็จะต้องผ่านการตรวจความปลอดภัยก่อนรัน
      แม้ออปชัน --no-quarantine จะหายไป แต่ผู้ใช้ยังลบ flag นี้เองได้
      สุดท้ายแล้วนี่คือมาตรการที่ผลักดันให้ไปใช้ไบนารีที่มีการเซ็นมากขึ้น
    • การสนทนาถูกปิดตั้งแต่เนิ่น ๆ เลยถามอะไรต่อไม่ได้อีก
    • MacPorts ยังใช้งานได้ดีอยู่ ดังนั้นฉันคิดว่า Homebrew ก็น่าจะหาทางออกได้ในที่สุด
      ไบนารีที่บิลด์เองยังคงรันได้
    • ตัวอย่างเช่น แอปที่ไม่ได้เซ็นอย่าง ClickHouse จะยังติดตั้งไม่ได้ไปอีกระยะหนึ่ง
  • การถอดออปชัน --no-gatekeeper ออกไปเองไม่ใช่เรื่องใหญ่มาก
    มันแค่ทำหน้าที่ลบแอตทริบิวต์ com.apple.quarantine เท่านั้น
    ปัญหาจริงคือ cask ทุกตัวจะต้องมี ลายเซ็นและการ notarize ผ่าน Apple Developer Program
    สำหรับนักพัฒนาโอเพนซอร์ส ภาระค่าใช้จ่ายปีละ 99 ดอลลาร์และการต้องเปิดเผยตัวตนทางกฎหมายถือว่าหนัก
    คงจะดีถ้า Apple เปิดให้เซ็นแบบฟรีได้โดยใช้ Xcode Cloud
    การสนทนาที่เกี่ยวข้อง: #6334, #6482

  • ฉันเข้าใจจุดประสงค์ในการปกป้องผู้ใช้ แต่ปัญหาคือ Gatekeeper กลายสภาพเป็น เครื่องมือหารายได้ของ App Store

    • ฉันคิดว่าค่าใช้จ่ายปีละ 90 ดอลลาร์ (หรือ 99 ดอลลาร์) ไม่ได้สูงเกินไป
      แต่สำหรับนักศึกษาที่เป็นนักพัฒนา มันอาจเป็นภาระได้
      ถ้า Apple อนุญาตให้ เชื่อถือใบรับรองจากบุคคลที่สาม ได้ก็น่าจะดีกว่า
  • ออปชัน --no-quarantine กับข้อจำกัดการเซ็นบน ARM64 เป็นคนละเรื่องกัน
    แอปที่ไม่ได้เซ็น ต่อให้ลบแอตทริบิวต์ออกก็ยังรันไม่ได้
    macOS อนุญาต adhoc signing ดังนั้นถ้าใช้วิธีนั้นก็ยังรันได้

    • Gatekeeper ใช้แอตทริบิวต์ com.apple.quarantine ในการตัดสินว่าจะบล็อกการรันหรือไม่
      XProtect และ AMFI จะทำการตรวจเพิ่มเติมเบื้องหลัง
      ถ้าลบแอตทริบิวต์ออกได้ ไบนารีใด ๆ ก็รันได้ เว้นแต่ XProtect จะเป็นฝ่ายบล็อก
    • คำอธิบายข้างต้นโดยรวมถือว่าถูกต้อง
  • น่าเสียดายที่ Homebrew มีท่าที ล็อก issue เร็วเกินไป
    จากมุมมองของผู้ใช้ มันเหมือนกับว่าถ้าไม่มีการอนุมัติจาก Apple ก็จะรันแอปบนคอมพิวเตอร์ตัวเองไม่ได้

    • Homebrew ล็อก issue เพราะอนุญาตให้ถกเถียงได้เฉพาะในแท็บ Discussions เท่านั้น
    • มีคนวิจารณ์มานานแล้วว่าผู้ดูแลมีท่าที ก้าวร้าวและไม่เปิดรับการถกเถียง
    • ฉันไม่เห็นด้วยกับคำพูดที่ว่า “Homebrew เป็นมิตรกับผู้ใช้”
    • ถึงขั้นมีมุกว่า “คุณต้องใช้คอมพิวเตอร์ของ Tim Cook ตามที่เขาต้องการ”
  • Alacritty ก็ได้รับผลกระทบจากการเปลี่ยนแปลงครั้งนี้เช่นกัน
    มีโอกาสน้อยที่ผู้พัฒนาจะยอมจ่ายค่าเซ็นของ Apple
    issue ที่เกี่ยวข้อง: alacritty/alacritty#8749

    • ฉันเองก็ใช้หลาย cask รวมถึง Alacritty ด้วย
      อาจต้องเริ่มมองหาแอปทดแทนแล้ว
    • อาจแก้ได้ด้วยการเพิ่ม สคริปต์ลบแอตทริบิวต์ quarantine หลังติดตั้งแบบง่าย ๆ
    • คอมเมนต์อื่นบน HN มีวิธีเลี่ยงไว้
    • ถ้าเป็นโอเพนซอร์ส ก็ไม่เห็นจำเป็นต้องแจกผ่าน cask อยู่แล้ว ฉันคิดว่าควร บิลด์ผ่าน formula มากกว่า