เมื่อฉันพยายามเชื่อมโยงไบนารีในโฟลเดอร์ / usr / bin ของฉันฉันได้รับข้อผิดพลาด Operation not allowed:
sudo ln -s /usr/bin/python2.7 /usr/bin/python2
ln: /usr/bin/python2: Operation not permitted
แม้จะเป็น sudo ฉันก็ยังได้รับข้อผิดพลาดนี้
เมื่อฉันพยายามเชื่อมโยงไบนารีในโฟลเดอร์ / usr / bin ของฉันฉันได้รับข้อผิดพลาด Operation not allowed:
sudo ln -s /usr/bin/python2.7 /usr/bin/python2
ln: /usr/bin/python2: Operation not permitted
แม้จะเป็น sudo ฉันก็ยังได้รับข้อผิดพลาดนี้
คำตอบ:
/usr/bin
ไม่ได้คุณลักษณะการป้องกันความสมบูรณ์ของระบบใหม่ของ El Capitan ช่วยป้องกันการเปลี่ยนแปลงในส่วนหลักหลาย ๆ ส่วนของ OS X รวมถึงส่วนใหญ่/usr/
แม้โดยรูท
การปรับแต่งในท้องถิ่นเช่นสิ่งที่คุณกำลังทำอยู่จะเป็นของ/usr/local
แทน เส้นทาง/usr/local/bin
ไม่มีอยู่ตามค่าเริ่มต้น แต่คุณสามารถสร้างและใส่ไบนารีที่กำหนดเอง (และลิงก์สัญลักษณ์) ไว้ในนั้น:
sudo mkdir -p /usr/local/bin
sudo ln -s /usr/bin/python2.7 /usr/local/bin/python2
โปรดทราบว่าแม้ว่า/usr/local/bin
จะไม่มีอยู่ตามค่าเริ่มต้น แต่ก็อยู่ใน PATH เริ่มต้นดังนั้นทันทีที่คุณสร้างมันจะถูกค้นหาคำสั่ง
นอกจากนี้ยังเป็นไปได้ที่จะปิดใช้งานการป้องกันความสมบูรณ์ของระบบ แต่โดยทั่วไปควรปล่อยไว้และทำการปรับแต่งในตำแหน่งที่เหมาะสมกว่า คำถามเกี่ยวกับ Apple Stack Exchange มีรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งนี้: อะไรคือคุณสมบัติที่ไม่มีรูทใน El-Captain จริงๆ? .
ฉันสร้างลิงก์สัญลักษณ์สำหรับ Sublime Text 3 ใน Mac OS High Sierra เป็นไฟล์
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/
ฉันยังพยายามสร้างลิงก์สัญลักษณ์ใน "/ usr / bin" และได้รับ Operation Not Permitted
จากนั้นฉันสร้างลิงก์สัญลักษณ์ใน "/ usr / local / bin" และไม่มีข้อผิดพลาด ลิงก์สัญลักษณ์ทำงานได้ดี เพียงตรวจสอบให้แน่ใจว่า "/ usr / local / bin" อยู่ในเส้นทาง
ดังนั้นดูเหมือนว่าการเข้าถึง "/ usr / bin" จะถูก จำกัด
เริ่มต้นระบบ -> กดยาวcmd + R เลือกเทอร์มินัลจากเมนูยูทิลิตี้พิมพ์คำสั่งต่อไปนี้csrutil ปิดใช้งาน เทอร์มินัลปิดและรีสตาร์ทระบบ
sudo
ที่เป็น
1. Create a symbolic link to psql in usr/bin (for mac only)
command: sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/psql /usr/bin/psql
หากคุณไม่สามารถสร้างลิงก์ symnbolic ได้เนื่องจากปัญหาการอนุญาตอาจเกิดจาก "csrutil" หลังจากปิดใช้งาน csrutil คุณสามารถสร้างลิงก์สัญลักษณ์ ทำตามขั้นตอนเหล่านี้เพื่อปิดใช้งาน CSRUtill:
รีสตาร์ท Mac ของคุณ ก่อนที่ OS X จะเริ่มทำงานให้กด Command-R ค้างไว้และกดค้างไว้จนกว่าคุณจะเห็นไอคอน Apple และแถบความคืบหน้า ปล่อย. สิ่งนี้จะเริ่มต้นคุณเข้าสู่การกู้คืน จากเมนูยูทิลิตี้ (ที่แถบด้านบน) เลือก Terminal ที่พรอมต์ให้พิมพ์ดังต่อไปนี้ทุกประการจากนั้นกด Return: csrutil ปิดใช้งาน Terminal ควรแสดงข้อความว่า SIP ถูกปิดใช้งาน จากเมนูเลือกรีสตาร์ท
ลองรันsudo su
ก่อนจากนั้นรันคำสั่ง w / root level