2012-03-27 25 views
6

Tôi có một thư mục gói R được chia sẻ trên một máy chủ để duy trì các phiên bản gói phù hợp cho tất cả người dùng. Điều này trở nên có vấn đề khi ai đó cố gắng cài đặt phiên bản mới của gói mà người dùng khác đã cài đặt ban đầu hoặc họ cố cài đặt gói đó khi gói đó được tải ở nơi khác. Trong những trường hợp này, R tạo một thư mục 00LOCK-PackageName trong thư mục gói dùng chung và các điều khoản là trình cài đặt không có quyền ghi vào nhiều tệp trong thư mục. Điều này sau đó yêu cầu một số người chmod-ind thư mục để cho phép nó bị xóa, hoặc có một trong các quản trị viên hệ thống của chúng tôi làm như vậy.Làm cách nào để thiết lập thư mục gói R được chia sẻ trên máy chủ?

Đây là vấn đề đặc biệt cấp tính vì chúng tôi sử dụng gói R để duy trì và triển khai cơ sở hạ tầng báo cáo của mình. Đó là điều chúng tôi liên tục cập nhật và triển khai cho máy chủ được chia sẻ của mình.

Có các cài đặt hoặc chương trình nào hỗ trợ quản lý gói R được chia sẻ không? Có lời khuyên chung nào không?

+0

Bạn không thể chỉ cài đặt nó vào thư viện hệ thống làm thư mục gốc để cấp cho tất cả người dùng quyền truy cập vào các gói đó? –

+0

Câu hỏi liên quan: http://stackoverflow.com/questions/9026443/safe-method-for-updating-r-packages-is-hot-swapping-possible –

Trả lời

0

Chúng tôi đã kết thúc phải quản trị viên hệ thống của chúng tôi tạo ra một kịch bản rằng:

  • quyền Khai trương trên tất cả các thư mục, thư mục con, và các tập tin bên trong của chúng tôi thư mục gói được chia sẻ
  • Đã xóa bất kỳ thư mục nào bắt đầu bằng 00LOCK cũ hơn 15 phút
  • Chạy mỗi phút

Chúng tôi chưa gặp phải bất kỳ sự cố nào kể từ đó.

3

Một giải pháp phổ biến là

  • có tất cả mọi người là thành viên của một nhóm chung, Mayne rapps

  • có thư mục nơi bạn chia sẻ các gói R là nhóm thuộc sở hữu của rapps, và bạn muốn làm cho 'dính' đó - chmod g=rwt nếu tôi gọi lại chính xác

  • umask đặt mặc định trong /etc/profile hoặc tương đương đảm bảo chế độ tạo mặc định của bạn trong chế độ tạo thực tế 'g + w'; Tôi đã sử dụng một tập tin /etc/profile.d/local_umask.sh cho điều này với một lệnh đơn umask u=rwx,g=rwx,o=rx

+0

Chúng tôi đã có một nhóm chia sẻ, nhưng vì một số lý do chúng tôi vẫn vật lộn với các vấn đề về quyền. –

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