Homebrew artık / usr / local sahipliğine nasıl ihtiyaç duymuyor?


28

Bugün koştum brew updateve depoyu taşıdıktan sonra, artık sahip olma ihtiyacı olmadığını bildirdi /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

Bu değişiklik biraz şüpheli görünüyor. Brew, görünüşte güvenlik kontrollerini atlayarak bu yeni davranışı nasıl gerçekleştiriyor?


Hangi güvenlik kontrollerini atlıyor? /usr/localSIP dahil değildir. Bkz Mac Sistem Bütünlüğü Koruma Hakkında altında "Yollar ve üçüncü parti uygulamalar ve montajcılar dahil etmek yazabilirsiniz uygulamalar:" /usr/locallistelenir.
user3439894 19:16

3
Bununla birlikte, Homebrew kullanıcısı olmamak, doğrudan kaynak kodundan derlemek istediğim için n OS X'e dahil olmayan istediğim araçları kullanıyorum, yine de Homebrew’in diğer uygulamalar gibi normal şekilde davranmak için gerektiği gibi / gerekli şekilde yeniden yazıldığını görüyorum. Geçmişte yapıldı. IMO Homebrew başlangıçtan itibaren kök sahipliğini elimizde bulundurmak zorunda kalmadan baştan yazılmalıydı!
user3439894 19:16

Yani, eğer /usr/localçocukları ve sahiplerinin grubuna aitse root:adminya da root:wheelyazamazlarsa, o zaman bu dizinlere yazma hakkım yok (ve ne de olsa homebrew olmazdı), ama eğer öyleyse, Homebrew yüklemeyi nasıl yönetebilir? ve uygulamaları bu konumlardan kaldırma?
Jason R. Coombs

3
Ben sadece mesajın sadece referans verdiğini /usr/localve onluklarına göndermediğini fark ediyorum . Ve yepyeni bir homebrew kurulumunun ne yaptığını inceleyerek, tüm alt dizinlerin $ USER'a ve gruba ait olmalarını sağladı.
Jason R. Coombs

Yanıtlar:


19

Bu yakut senaryoya göre: update-report.rb , sadece hala size ait olan / usr / local / Homebrew öğelerine taşındı.


2
/ Usr / local'ın gerçekleşmesi için / usr / local / Homebrew oluşturulması için $ USER tarafından yazılabilir olması gerekmez mi? / Usr / local / Cellar veya / usr / local / opt gibi diğer dizinler ne durumda? Homebrew'in hala bu dizinlere yazmak için (sudo olmayan) erişime ihtiyacı yok mu? Eğer direkler root'a aitse ve grup tarafından yazılmıyorsa, bunu nasıl yapabilir?
Jason R. Coombs

1
İlk kurulumda, homebrew deposu oluşturmak için hala sudo kullanıyorlar, bakınız yükleme . Güncelleme cevabımdaki senaryo, bu noktada, hala eski sürümünde boğulan / usr / local aittir.
albb

6

Artık /usr/localihtiyaç duyduğunuz tüm kök dizinleri oluşturuyoruz ve /usr/localkendi üzerinde istekte bulunmak yerine sahipliklerini kontrol ediyoruz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.