2016-04-19 38 views
13

Khi tôi cố gắng liên kết mềm một nhị phân trong thư mục/usr/bin của tôi, tôi nhận được một hoạt động không được phép lỗi:Không thể tạo một liên kết tượng trưng bên trong/usr/bin ngay cả khi sudo

sudo ln -s /usr/bin/python2.7 /usr/bin/python2 
ln: /usr/bin/python2: Operation not permitted 

Ngay cả khi sudo, Tôi gặp lỗi này.

+0

1.OS 2.Phân phối 3. Hệ thống tệp của bạn là gì? –

+0

Mac OSX El Capitan 10.11.4 – egidra

+0

Bạn đã thử làm như sau: http://stackoverflow.com/questions/32659348/operation-not-permitted-when-on-root-el-capitan-rootless-disabled? –

Trả lời

26

Tính năng mới System Integrity Protection của El Capitan ngăn các thay đổi đối với một số phần cốt lõi của OS X, bao gồm hầu hết/usr, thậm chí là gốc. Tùy chỉnh địa phương, chẳng hạn như những gì bạn đang làm, thuộc về/usr/local thay thế./Usr/local/bin không tồn tại theo mặc định, nhưng bạn có thể tạo ra nó và đặt mã nhị phân tùy chỉnh (và liên kết tượng trưng) trong đó:

sudo mkdir -p /usr/local/bin 
sudo ln -s /usr/bin/python2.7 /usr/local/bin/python2 

(Lưu ý rằng trong khi/usr/local/bin không tồn tại theo mặc định, nó trong PATH mặc định, vì vậy ngay sau khi bạn tạo nó, nó sẽ được tìm kiếm cho các lệnh.)

Cũng có thể vô hiệu hóa Bảo vệ tính toàn vẹn của hệ thống, nhưng tốt nhất là nên để nó trên và tùy chỉnh ở các vị trí phù hợp hơn. Xem this apple.SE question for more details.

+0

Câu trả lời này đã giúp tôi giải quyết vấn đề tôi đang gặp phải. Cảm ơn! – Adam

-1

Khởi động lại hệ thống -> nhấn và giữ cmd + R. chọn thiết bị đầu cuối từ menu tiện ích nhập lệnh sau csrutil tắt đóng terminal và khởi động lại hệ thống.

+1

Điều này sẽ vô hiệu hóa Bảo vệ tính toàn vẹn của hệ thống. Có lẽ tốt nhất để tìm một giải pháp an toàn hơn thay thế. – MattSidor

1

tôi tạo ra các liên kết tượng trưng cho Sublime chữ 3 trong Mac OS High Sierra như

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/ 

Tôi cũng đã cố gắng để tạo ra các liên kết tượng trưng trong "/ usr/bin" và đã nhận được hoạt động không được phép.

Sau đó, tôi đã tạo liên kết tượng trưng trong "/ usr/local/bin" và không có lỗi. Liên kết tượng trưng hoạt động tốt. Chỉ cần đảm bảo rằng "/ usr/local/bin" nằm trong đường dẫn.

Vì vậy, có vẻ như quyền truy cập vào "/ usr/bin" bị hạn chế.

Các vấn đề liên quan