Varsayılan olarak / usr / local / sbin mevcut değil. Klasör, demleme takılarak oluşturulmalı, sahip / izinler $ (whoami): admin / 775 olarak ayarlandı. / Usr / local / dizinindeki çoğu / tüm klasörler, demleme yapan kullanıcıya aittir - bu, varsayılan kurulum ve yapılandırmanın bir parçasıdır.
Öte yandan, bazı üçüncü taraf araçlar daha önce bu klasöre kurulmuş olabilir (örn. AFAIR procexp veya Smartmontools orada yüklü olmalıdır). O zaman sahip / izinler muhtemelen root: wheel / 755 veya root: wheel / 775 olarak ayarlanmıştır.
Sorununuzu çözmek için / usr / local / sbin dosyasının olup olmadığını ve klasör izinlerini kontrol edin.
Aşağıdaki komut, mevcut değilse ve dünyayı yazılabilir hale getirir, ancak sahibini değiştirmezse bu klasörü oluşturur: group:
if [ ! -d /usr/local/sbin ]; then sudo mkdir /usr/local/sbin; fi && sudo chmod 777 /usr/local/sbin
Şimdi sınırlanmamış olanı bağlayabilirsiniz:
brew link unbound
Dünyanın yazılabilir adımını şu şekilde geri alabilirsiniz:
sudo chmod 775 /usr/local/sbin
Klasörü ~ / .bash_profile dizinindeki kullanıcının PATH'sine veya sistemin PATH'sini / etc / paths içerisinde eklemeyi unutmayın.
Eğer hatayı alırsanız:
Error: Could not symlink sbin/unbound
/usr/local/sbin is not writable.
kullanıcı, gerçekte çalıştırılan komutla klasöre yazma iznine sahip değildir.
Komut sudo chown -R $(whoami) /usr/local
, hataya rağmen tüm alt klasörlerin sahibini ve içeriğini $ (whoami) olarak değiştirecek chown: /usr/local: Operation not permitted
. Bunun tek istisnası / usr / local / dizininde SIP korumalı bir öğe olacaktır. Varsayılan olarak, hiçbir dosya ve klasör olsa da korunmaz.
Bu nedenle hata mesajı yanlıştır ve muhtemelen sudo chown -R ...
komutunuzu girerek zaten başarılı olmuşsunuzdur ve sadece bir kez daha sınırsız bağlamayı denemelisiniz .
Klasör izinlerini girerek kontrol edebilirsiniz:
ls -lae /usr/local/sbin
Korunan tüm öğeleri yerel alt dizinlerinde girerek alabilirsiniz:
ls -lae -R /usr/local | grep restricted