Homebrew ไม่ต้องการการเป็นเจ้าของ / usr / local อีกต่อไปอย่างไร


28

วันนี้ฉันวิ่งbrew updateและหลังจากย้ายพื้นที่เก็บข้อมูลมันรายงานว่าไม่จำเป็นต้องเป็นเจ้าของ/usr/local:

$ brew update
Updated Homebrew from 5371359 to 13f08a2.
...
==> Migrating HOMEBREW_REPOSITORY (please wait)...
==> Migrated HOMEBREW_REPOSITORY to /usr/local/Homebrew!
Homebrew no longer needs to have ownership of /usr/local. If you wish you can
return /usr/local to its default ownership with:
  sudo chown root:wheel /usr/local

การเปลี่ยนแปลงนี้ดูเหมือนจะไม่แน่นอน ก่อให้เกิดพฤติกรรมใหม่นี้ได้อย่างไรโดยผ่านการควบคุมความปลอดภัย?


มีการควบคุมความปลอดภัยอะไรบ้าง? /usr/localไม่รวมอยู่ใน SIP ดูเกี่ยวกับระบบการป้องกันความซื่อสัตย์บน Mac ของคุณภายใต้หัวข้อ "เส้นทางและโปรแกรมประยุกต์ที่ปพลิเคชันของบุคคลที่สามและติดตั้งสามารถเขียนรวมถึง" /usr/localเป็น บริษัท จดทะเบียน
user3439894

3
ที่กล่าวว่าไม่ได้เป็นผู้ใช้ของ Homebrew เนื่องจากฉันรวบรวมโดยตรงจากซอร์สโค้ดยูทิลิตี้ที่ฉันต้องการที่ไม่รวม n OS X อย่างไรก็ตามฉันจะถ่ายภาพที่ Homebrew ได้เขียนใหม่ตามที่จำเป็น / จำเป็นเพื่อทำตามปกติเหมือนแอปอื่น ๆ ทำในอดีต IMO Homebrew ควรได้รับการเขียนตั้งแต่เริ่มต้นไม่จำเป็นต้องแย่งสิทธิ์การเป็นเจ้าของรากเพื่อเริ่มต้น!
user3439894

ฉันหมายถึงถ้า/usr/localและลูก ๆ ของมันเป็นของroot:adminหรือroot:wheelไม่เป็นกลุ่มที่เขียนได้ฉันไม่สามารถเข้าถึงเพื่อเขียนไปยังไดเรกทอรีเหล่านั้น (และจะไม่ homebrew, สมมุติว่า) แต่ถ้าเป็นเช่นนั้น Homebrew จะจัดการติดตั้งได้อย่างไร และลบแอปพลิเคชันออกจากที่ตั้งเหล่านั้นหรือไม่
Jason R. Coombs

3
ฉันเพิ่งสังเกตเห็นว่าข้อความนี้มีการอ้างอิงเท่านั้น/usr/localและไม่ใช่ลูกหลานของมัน และดูว่าการติดตั้งโฮมบรูว์ใหม่เอี่ยมมันจะตั้งค่าย่อยทั้งหมดให้เป็น $ USER และกลุ่มที่เขียนได้
Jason R. Coombs

คำตอบ:


19

ตามสคริปต์ ruby ​​นี้: update-report.rbพวกเขาเพิ่งย้ายข้อมูลไปยัง / usr / local / Homebrew ซึ่งคุณยังเป็นเจ้าของอยู่


2
ไม่ต้อง / usr / local ไม่สามารถเขียนได้โดย $ USER สำหรับการสร้าง / usr / local / Homebrew ที่จะเกิดขึ้น? แล้วไดเร็กทอรีอื่น ๆ เช่น / usr / local / Cellar หรือ / usr / local / opt homebrew ยังไม่ต้องการการเข้าถึง (ไม่ใช่ sudo) เพื่อเขียนไปยังไดเรกทอรีเหล่านั้นหรือไม่? มันจะทำอย่างไรถ้า dirs เป็นเจ้าของโดย root และไม่สามารถเขียนเป็นกลุ่มได้?
Jason R. Coombs

1
เมื่อวันที่ติดตั้งครั้งแรกที่พวกเขายังคงใช้ sudo เพื่อสร้างพื้นที่เก็บข้อมูล homebrew ให้ดูที่การติดตั้ง สคริปต์ในคำตอบของฉันสำหรับการอัปเดต ณ จุดนั้นคุณยังคงเป็นเจ้าของ / usr / local ซึ่งคุณ chown-ed ในเวอร์ชันเก่า
albb

6

ตอนนี้เราสร้างไดเรกทอรีรูททั้งหมด/usr/localที่คุณต้องการและตรวจสอบความเป็นเจ้าของในพวกเขาแทนที่จะต้องการมันใน/usr/localตัวเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.