Quyền đọc / ghi trong thư mục / opt


54

Tôi đã cài đặt Android Studio trong thư mục / opt của mình mà không gặp trở ngại nào và đã sử dụng nó. Gần đây, mặc dù, Android Studio đã thông báo cho tôi về một bản cập nhật. Tuy nhiên, nó sẽ không thực hiện cập nhật vì nó nói rằng nó không có quyền Đọc / Ghi trong thư mục opt được cài đặt.

Bất cứ ai có thể đề nghị phương thuốc tốt nhất cho tình huống này? Tôi không muốn chuyển cài đặt của tôi sang thư mục khác. Tôi cũng không biết rằng tôi muốn thay đổi quyền trên thư mục, mặc dù tôi có thể bị cám dỗ làm điều đó cho bản cập nhật, sau đó hoàn nguyên lại.

Thông báo lỗi:

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

Làm thế nào bạn đang cố gắng để cập nhật? Bạn đã cài đặt như thế nào? PPA? Bạn có thể chạy android studio với quyền root không? tức là sudo /opt/android-studiocập nhật?
Đánh dấu Kirby

1
Tôi đoán bạn đã sao chép nó vào thư mục / opt /. Tôi sẽ không khuyên bạn giữ nó ở đó, vì vậy bạn không phải bận tâm đến các vấn đề cấp phép. Tốt nhất là sử dụng umake để thiết lập môi trường phát triển Android của bạn .
Gayan Weerakutti

@markkirby Tôi đã sao chép nó ở đó và sử dụng tập lệnh cài đặt studio.sh Tôi sẽ chạy bằng sudo, nhưng studio.sh bắt đầu cài đặt lại. Ngạc nhiên là tôi không thấy một tập tin để chạy để chỉ bắt đầu chương trình. Có lẽ tôi nên chỉnh sửa tập lệnh cài đặt để xem nơi thực thi được ..
wayneeusa

tôi khuyên bạn nên trao một trong những câu trả lời trạng thái của câu trả lời đúng. mặt khác, nó có thể gây hiểu lầm cho người dùng đến bởi bài đăng này trong tương lai - nếu câu trả lời đúng chưa được trao 1 năm sau đó, điều đó có nghĩa là không có câu trả lời nào là đúng. Trong khi, trên thực tế, cả hai có hiệu quả giải quyết vấn đề trong tầm tay. i UPVOTED câu hỏi của bạn, BTW :)
tony gil

Câu trả lời:


99

Tôi đã thay đổi chủ sở hữu của thư mục studio android từ tài khoản rootcủa tôi uservà nó đã hoạt động. Đây là lệnh, nơi $USERsẽ tự thay đổi thành người dùng hoạt động hiện tại của bạn:

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

2
thực sự hiệu quả với tôi .. 10 ngày tìm kiếm của tôi kết thúc tại đây
Ranjith Kumar

8
Điều này sẽ hoạt động, nhưng có những bất lợi trong việc có tất cả các tệp và thư mục trong một số thư mục con ngẫu nhiên của / opt thuộc sở hữu của một người dùng ngẫu nhiên? Nếu cài đặt nằm trong / opt, điều này có thể có nghĩa là nó dành cho nhiều người dùng, vì vậy người ta có thể mong đợi những người dùng khác trên hệ thống sẽ chạy studio. Đây có thể là một vấn đề nào đó?
Yannick

1
đã sử dụng thủ thuật này để định cấu hình trình soạn thảo php như Geany để xampp cài đặt thư mục / opt / lampp / htdocs để viết và chạy trong máy chủ xampp. hth ..
Steer360

Bạn là người đàn ông !
Tahir Yasin

2
điểm tốt @Yannick nhưng ai trên thế giới có nhiều hơn một người dùng trên thiết lập Ubuntu của họ 😂
Bron Davies

8

Bạn có thể di chuyển thư mục từ /optnhà của bạn bằng cách sử dụng comand:

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

Hoặc để cấp quyền bạn phải sử dụng chmod:

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

để thêm quyền cho tất cả đệ quy dir:

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

Hãy xem câu trả lời của tôi https://askubfox.com/a/638799/150504 giải thích một chút về chmod và cách sử dụng


Tôi có cần chỉ định tệp thực thi cụ thể sẽ có quyền này cho thư mục không? Tôi đã thử nó với studio.sh, nhưng tôi không nghĩ đó là tệp thực sự đang chạy khi tôi nhấp vào biểu tượng để chạy android studio.
wayneeusa

đã không làm việc cho tôi. Khi tạo thư mục. đã thửsudo chmod +w -R /opt/android-sdk-linux
david

Đầu tiên chúng ta phải chạy studio.sh từ thư mục bin bằng sudo sau đó chỉ có quyền ghi được phản ánh.
dev_ry

6

Tôi đã đặt nhóm / opt / android-studio (và / opt / android-sdk ) cho người dùng và thêm quyền ghi vào nhóm.

Trong trường hợp của tôi, người dùng nhóm đã tồn tại. Nhưng như gợi ý:

người dùng addudo sudo

Tôi đã phải thêm người dùng của mình vào nhóm người dùng :

người dùng sudo $ người dùng USER

Sau đó thiết lập nhóm của thư mục:

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

Bởi vì các bản cập nhật cần ghi tập tin:

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

Tôi đã sử dụng hướng dẫn này một lần, tôi hy vọng tôi không quên điều gì

chỉnh sửa: Bằng cách này, các tệp sẽ không quá rộng có thể truy cập được, nhưng vẫn có thể sử dụng được bởi những người dùng được chọn


1

Tôi đã có một vấn đề tương tự với Rubymine.

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

làm việc cho tôi cũng vậy, nhưng nó có thể là quyền thay đổi nguy hiểm trong các thư mục hệ thống. Có lẽ tốt hơn là chỉ chạy cài đặt một lần bằng root để cho phép cập nhật. ví dụ.

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

Tôi cũng vậy! Nhưng khi tôi thử giải pháp của bạn, nó sẽ hỏi lại thông tin giấy phép, vì vậy tôi không chắc phải làm gì vào thời điểm đó ... đưa nó vào lại? Tôi không muốn làm xáo trộn các điều khoản cấp phép của mình ...
mltsy

-1

Tôi đã nhận được cùng một lỗi. Chạy lệnh sau từ thiết bị đầu cuối đã giải quyết vấn đề.

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

Bạn không cần phải ở trong cùng một thư mục để thực thi lệnh.


-2
sudo chmod -R 777 your_android_studio_location_path/

Ví dụ: (trong Ubuntu 16.04 của tôi):

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

7
Đặt mặt nạ cho phép tập tin thành 777 hầu như luôn luôn là lời khuyên tồi . -1
David Foerster

Lời khuyên tồi tệ của nó, nhưng bây giờ nó đã hoạt động nên tôi upvote.
david

2
@david 777 có nghĩa là bất kỳ ai (bao gồm bất kỳ ai thông qua internet) có thể truy cập, sửa đổi và xóa tệp. "nó hoạt động" không phải là một lý do tốt để mở một lỗ hổng nghiêm trọng như vậy cho hệ thống của bạn.
Mostafa Ahangarha

@david Đập PC của bạn thành bit, đến cửa hàng và mua một cái mới, sau đó cài đặt phiên bản Android Studio mới nhất trên nó cũng sẽ "hoạt động" nhưng là lời khuyên tồi và không nên được nâng cấp. Vấn đề là thường có nhiều cách để "giải quyết" một vấn đề, một số trong đó là cách "sai" và một số là cách "đúng". Câu trả lời này gần như chắc chắn là sai.
Jon Bentley
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.