OSX El Capitan Beta3'te Unix "ln -s" komutuna izin verilmez


54

"İşleme izin verilmedi" hatası verdiğimde Symphony için nodejs yüklüyordum. Bunun neden olduğunu bilen var mı?

MacBook-Pro-de-XXX: ~ XXX $ sudo-s / usr / yerel / bin / düğüm / usr / bin / düğüm

Parola:

ln: / usr / bin / node: İşleme izin verilmedi


1
İlk önce / usr / bin / node ayarlı olup olmadığını kontrol edin. Değiştirmek istiyorsanız, link bağlantısını zorlamak için ln -sf komutunu kullanabilirsiniz.

MacBook-Pro-de-XXX: ~ XXX $ hangi düğümü / usr / yerel / bin / düğümü
Kurr0 16:15

ls -la / usr / bin / node

MacBook-Pro-de-XXX: ~ XXX $ ls -la / usr / bin / düğüm ls: / usr / bin / düğüm: Böyle bir dosya veya dizin yok
Kurr0 12

Yanıtlar:


70

Bu, OS X'in yeni sürümünde "rootless" modu olarak adlandırılan moddur. Bazı sistem dizinlerini salt okunur yapar (yöneticiler için bile). "/ usr" bu korunan dizinlerden biridir (bu kuralın dışında tutulan tek alt dizin "/ usr / local")

Bu rootless modu aşağıdaki komutlarla devre dışı bırakılabilir:

$ sudo nvram boot-args="rootless=0"
$ sudo reboot

Ancak bu önerilmez! En iyi uygulama, yalnızca "/ usr / local" özel öğelerini yüklemektir.


Güncelleme (27-Ekim-15): 10.11 (El Capitan) Genel Yayın

Yukarıda açıklanan geçici çözüm unutmayın değil , Apple etrafında şeyi değiştirdi olarak artık El Capitan kamu sürümü ile çalışırlar.

"Köksüz" modunu (yani, Sistem Bütünlüğü Koruması, "SIP") devre dışı bırakmanın doğru yolu, geçici olarak Kurtarma Moduna önyükleme yapmaktır (önyükleme sırasında Command + R tuşunu basılı tutup) ve Terminal'i csrutil disablekomutunu (veya csrutil enableyeniden etkinleştirilebilir) kullanmaktır . Terminale Kurtarma Modunda başlayan Yükleyici menüsü aracılığıyla erişilebilir.


2
Tavsiye edilmeyebilir, ama şimdilik MacTeX'in beklediği görünüyor /usr/texbin, o yüzden gidiyoruz!
David Lord,

NVRAM'ın rootless modunu devre dışı bırakmak için değiştirilmesi El Capitan'da (en azından) GM sürümünden itibaren çalışmaz. Şu andaki sürümde çalışan yöntem için bu cevabı kontrol edin: stackoverflow.com/questions/32590053/…
Chris Ostmo 17:15

Bu benim için de işe yaramadı.
gsscoder

1
hala bana verOperation not permitted
Sinux

2
Geçici
çözümüm

-2

Benim El Capitan sürümünde, /bindizin yoktu:

/usr/local/bin

Yani, düzeltme yapıldı:

mkdir -p /usr/local/bin

-pO yoksa bayrak dir (ve tam yolu tesadüfen herhangi dizinleri) yaratacaktır.

Sonra için sembolik & kopyalama uygulamalar oluşturabilir /usr/local/binçünkü /usr/local"köksüz" modunda parçası değil.


Sorunu çözmek için yardımcı olmuyor. Bazen sadece / usr / bin içindeki sembolik bağlantılara ihtiyaç duyarsınız ve bundan kaçınamazsınız.
Dmitri
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.