อ่าน / เขียนสิทธิ์ใน / opt ไดเรกทอรี


54

ฉันติดตั้ง Android Studio ในไดเรกทอรี / opt โดยไม่ต้องผูกปมและใช้งาน อย่างไรก็ตามเมื่อเร็ว ๆ นี้ Android Studio แจ้งให้ฉันทราบถึงการอัปเดต มันจะไม่ทำการอัปเดต แต่เนื่องจากมันบอกว่ามันไม่มีสิทธิ์อ่าน / เขียนในไดเรกทอรี opt ที่ติดตั้ง

ใครช่วยแนะนำวิธีรักษาที่ดีที่สุดสำหรับสถานการณ์นี้ได้ไหม ฉันไม่ต้องการย้ายการติดตั้งไปยังไดเรกทอรีอื่น ฉันเองก็ไม่รู้เหมือนกันว่าฉันต้องการเปลี่ยนการอนุญาตในไดเรกทอรีแม้ว่าฉันอาจถูกล่อลวงให้ทำเช่นนั้นสำหรับการอัปเดตแล้วก็ย้อนกลับ

ข้อความผิดพลาด:

Studio does not have write access to /opt/android-studio. Please run it by a privileged user to update

คุณพยายามอัปเดตอย่างไร คุณติดตั้งอย่างไร? PPA คุณสามารถรัน android studio เป็น root ได้หรือไม่? เช่นsudo /opt/android-studioแล้วอัปเดต?
Mark Kirby

1
ฉันเดาว่าคุณคัดลอกไปยังไดเรกทอรี / opt / ฉันจะไม่แนะนำให้เก็บไว้ที่นั่นดังนั้นคุณไม่ต้องกังวลกับปัญหาการอนุญาต ที่ดีที่สุดคือการใช้umake การตั้งค่าสภาพแวดล้อมการพัฒนา
Gayan Weerakutti

@markkirby ฉันคัดลอกที่นั่นและใช้สคริปต์การติดตั้ง studio.sh ฉันจะเรียกใช้โดย sudo แต่ studio.sh เริ่มการติดตั้งอีกครั้ง แปลกใจที่ฉันไม่เห็นไฟล์ที่จะเรียกใช้เพื่อเริ่มโปรแกรม บางทีฉันควร gedit สคริปต์การติดตั้งเพื่อดูว่าปฏิบัติการคือ ..
wayneeusa

ฉันขอแนะนำให้ตัดสินหนึ่งในคำตอบสถานะของคำตอบที่ถูกต้อง ไม่เช่นนั้นอาจทำให้เข้าใจผิดสำหรับผู้ใช้ที่มาจากโพสต์นี้ในอนาคต - หากคำตอบที่ถูกต้องไม่ได้รับรางวัล 1 ปีหลังจากนั้นก็หมายความว่าคำตอบนั้นไม่ถูกต้อง ในความเป็นจริงเมื่อทั้งสองอย่างมีประสิทธิภาพแก้ไขปัญหาที่อยู่ในมือ ฉันอัปเดตคำถามของคุณ BTW:)
tony gil

คำตอบ:


99

ฉันเปลี่ยนเจ้าของไดเรกทอรี android studio rootเป็นuserบัญชีของฉันและใช้งานได้ นี่คือคำสั่งที่$USERจะเปลี่ยนด้วยตัวเองเป็นผู้ใช้ปัจจุบันของคุณ:

sudo chown -R $USER:$USER /opt/android-studio

2
ใช้งานได้จริงสำหรับฉัน .. การค้นหา 10 วันของฉันสิ้นสุดที่นี่
Ranjith Kumar

8
สิ่งนี้จะใช้งานได้ แต่มีข้อเสียในการมีไฟล์และไดเรกทอรีทั้งหมดในไดเรกทอรีย่อยแบบสุ่มของ / opt ที่เป็นของผู้ใช้แบบสุ่มหรือไม่? หากการติดตั้งอยู่ใน / ไม่ใช้นี่อาจหมายความว่ามีไว้สำหรับผู้ใช้หลายคนดังนั้นผู้ใช้รายอื่นอาจคาดหวังให้ผู้ใช้รายอื่นในระบบกำลังใช้งานสตูดิโอ นี่อาจเป็นปัญหาหรือไม่
Yannick

1
ใช้เคล็ดลับนี้เพื่อกำหนดค่าตัวแก้ไข php เช่น Geany ไปยังไดเรกทอรี / opt / lampp / htdocs ของการติดตั้ง xampp เพื่อเขียนและเรียกใช้ในเซิร์ฟเวอร์ xampp
hth

คุณเป็นผู้ชาย!
Tahir Yasin

2
good point @Yannick แต่ใครในโลกนี้มีผู้ใช้มากกว่าหนึ่งคนในการตั้งค่า Ubuntu ของพวกเขา😂
Bron Davies

8

คุณสามารถย้ายไดเรกทอรีจาก/optบ้านของคุณโดยใช้ comand:

sudo cp -r /opt/android-studio ~/

หรือเพื่อให้สิทธิ์ที่คุณต้องใช้chmod:

sudo chmod +w /opt/android-studio/some-file

เพื่อเพิ่มการอนุญาตให้ dir ซ้ำทั้งหมด:

sudo chmod +w -R /opt/android-studio/some-file

ลองดูคำตอบของฉันhttps://askubuntu.com/a/638799/150504ซึ่งอธิบายเล็กน้อยเกี่ยวกับ chmod และวิธีใช้


ฉันต้องระบุไฟล์เรียกทำงานเฉพาะที่จะมีสิทธิ์นี้สำหรับโฟลเดอร์หรือไม่? ฉันลองมันกับ studio.sh แต่ฉันไม่คิดว่ามันเป็นไฟล์จริงที่ทำงานอยู่เมื่อฉันคลิกไอคอนเพื่อเรียกใช้ android studio
wayneeusa

ไม่ได้ผลสำหรับฉัน เมื่อสร้างไดเรกทอรี พยายามแล้วsudo chmod +w -R /opt/android-sdk-linux
david

อันดับแรกเราต้องเรียกใช้ studio.sh จากไดเรกทอรี bin โดยใช้ sudo เฉพาะการอนุญาตให้เขียนเท่านั้นที่จะมีผล
dev_ry

6

ฉันตั้งกลุ่ม/ opt / android-studio (และ/ opt / android-sdk ) ให้กับผู้ใช้และเพิ่มสิทธิ์ในการเขียนลงในกลุ่ม

ในกรณีของฉันมีผู้ใช้กลุ่มอยู่แล้ว แต่เป็นคำใบ้:

ผู้ใช้ sudo addgroup

ฉันต้องเพิ่มผู้ใช้ของฉันในกลุ่มผู้ใช้ :

sudo adduser ผู้ใช้ $ USER ราย

จากนั้นตั้งค่ากลุ่มของไดเรกทอรี:

sudo chown -R root: users / opt / android-studio

เนื่องจากการอัปเดตจำเป็นต้องเขียนไฟล์:

sudo chmod -R g + w / opt / android-studio

ฉันใช้คำแนะนำนี้เพียงครั้งเดียวฉันหวังว่าฉันจะไม่ลืมอะไรบางอย่าง

แก้ไข: ด้วยวิธีนี้ไฟล์จะต้องไม่สามารถเข้าถึงได้กว้างเกินไป แต่ยังคงสามารถใช้งานได้โดยผู้ใช้ที่เลือก


1

ฉันมีปัญหาคล้ายกันกับ Rubymine

sudo chown -R $USER:$USER /opt/Rubymine

ทำงานให้ฉันด้วย แต่อาจเป็นอันตรายในการเปลี่ยนสิทธิ์ในโฟลเดอร์ระบบ น่าจะดีกว่าเพียงแค่รันการติดตั้งหนึ่งครั้งในฐานะรูทเพื่ออนุญาตการอัปเดต เช่น.

sudo updatedb && sudo locate rubymine.sh
sudo /path/to/rubymine.sh 

ฉันด้วย! แต่เมื่อฉันลองวิธีแก้ปัญหาของคุณมันจะขอข้อมูลใบอนุญาตอีกครั้งดังนั้นฉันไม่แน่ใจว่าจะทำอย่างไรในจุดนั้น ... ใส่เข้าไปอีกครั้ง? ฉันไม่ต้องการทำให้ข้อกำหนดในใบอนุญาตของฉันยุ่งเหยิง ...
mltsy

-1

ฉันได้รับข้อผิดพลาดเดียวกัน การเรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัลแก้ไขปัญหา

sudo chown -R $USER:$USER /opt/idea-IC-173.4548.28/

คุณไม่จำเป็นต้องอยู่ในไดเรกทอรีเดียวกันเพื่อดำเนินการคำสั่ง


-2
sudo chmod -R 777 your_android_studio_location_path/

ตัวอย่าง (ใน Ubuntu 16.04 ของฉัน):

sudo chmod -R 777 /home/igor/Android/

7
การตั้งค่ารูปแบบการอนุญาตให้ใช้ไฟล์เป็น 777 เป็นคำแนะนำที่ไม่ดีเกือบทุกครั้ง -1
David Foerster

คำแนะนำที่ไม่ดี แต่ตอนนี้มันใช้งานได้แล้ว
david

2
@david 777 หมายถึงทุกคน (รวมถึงใครก็ตามผ่านอินเทอร์เน็ต) สามารถเข้าถึงแก้ไขและลบไฟล์ได้ "ใช้งานได้" ไม่ใช่ข้อแก้ตัวที่ดีในการเปิดช่องโหว่ที่สำคัญต่อระบบของคุณ
Mostafa Ahangarha

@david Smashing พีซีของคุณเป็นบิตไปที่ร้านและซื้อใหม่แล้วติดตั้ง Android Studio เวอร์ชันล่าสุดบนมันจะ "ทำงาน" แต่เป็นคำแนะนำที่ไม่ดีและไม่ควรอัปเกรด ประเด็นคือมักจะมีหลายวิธีในการ "แก้ปัญหา" ซึ่งบางวิธีก็เป็น "ผิด" และบางวิธีก็เป็น "ถูกต้อง" คำตอบนี้เป็นวิธีที่ผิดอย่างแน่นอน
Jon Bentley
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.