2011-04-06 2 views
15

우분투를 시작하면서 R로 프로그램하고 싶습니다. 터미널에서 R (현재 2.12.2)의 최신 버전을 성공적으로 설치했습니다.Debian/Ubuntu에 R 패키지 XML을 설치하십시오.

> install.packages("XML") 
Installing package(s) into ‘/usr/local/lib/R/site-library’ 
(as ‘lib’ is unspecified) 
Warning in install.packages("XML") : 
    'lib = "/usr/local/lib/R/site-library"' is not writable 
Would you like to create a personal library 
'~/R/i686-pc-linux-gnu-library/2.12' 
to install packages into? (y/n) 

내가 개인 디렉토리를 생성해야하거나 내가 나를 사이트 라이브러리에 쓸 수 있도록 허용 어딘가에 단계를 놓치지 않았다 : 나는 다음 명령을 실행하려고했습니다.

미리 감사드립니다.

+8

당신이'를 통해 sudo' 아니면 그냥 일반 사용자로'R' 쉘을 시작 했 우분투 14.04에서 테스트? 일반 사용자는'/ usr/local/lib /'에 쓸 수있는 권한이 없으므로'sudo '로'R'을 시작하면 사이트 라이브러리 디렉토리에 쓸 수 있어야합니다. – sarnold

+0

y를 누르기 만하면됩니다. :) –

+4

'/ usr/local/lib/R/site-library /'를 사용하는 것이 바람직합니다. 유닉스는 결국 다중 사용자 시스템이다. –

답변

30

의견은 sarnold입니다. 데비안 (따라서 우분투) 패키지에서, 디렉토리 /usr/local/lib/R/site-library/은 파일 /var/lib/dpkg/info/r-base-core.postinst 스크립트에 의해 생성 -하고 관련 코드는 다음과 같습니다

그래서 디렉토리가 root:staff에 의해 모드 2775, 또는 '사용자의 소유
# edd 03 Apr 2003 cf Section 10.1.2 of Debian Policy 
if [ ! -e /usr/local/lib/R ]; then 
    if mkdir /usr/local/lib/R 2>/dev/null; then 
    chown root:staff /usr/local/lib/R 
    chmod 2775 /usr/local/lib/R 
    fi 
fi 
if [ ! -e /usr/local/lib/R/site-library ]; then 
    if mkdir /usr/local/lib/R/site-library 2>/dev/null; then 
    chown root:staff /usr/local/lib/R/site-library 
    chmod 2775 /usr/local/lib/R/site-library 
    fi 
fi 

그룹 읽기 - 쓰기, 기타 읽기 - 쓰기 '가 있습니다.

  1. 항상 sudo를 사용하거나 서투른 root 될 :

    그래서이 작성, 당신은 두 가지 기본 선택 사항이 있습니다.

  2. 그룹 staff에 자신을 추가하십시오. 아마도 사용자 친화적 인 GUI가있을 것입니다. 나는 유닉스 구식이며 편집을 통해 /etc/group/etc/gshadow을 손으로 직접 할 수있다. 직접 설치할 수있다. (그런 권한을 갖기 위해서는 새로운 쉘이 필요하다. 새로운 터미널을 시작하기 만하면된다.) 물론 다른 그룹을 선택하거나 그룹을 만들 수도 있지만 그에 따라 /usr/local/lib/R/에서 디렉토리 트리를 변경해야합니다.

희망이 있습니다. r-sig-debian리스트는 이와 같은 Debian/Ubuntu 질문을위한 친숙한 곳입니다. 그 질문은 전에도 제기되어 왔습니다.

편집 : 또한 (더 복잡한) 패키지가 우분투/데비안에 포함되어 있으므로 XML을 얻으려면 sudo apt-get install r-cran-xml으로 가면됩니다. 사용할 수있는 것을 보려면 apt-cache search r-cran을하십시오.

+1

감사합니다. – Btibert3

+6

"sudo adduser USER GROUP"은 기존 사용자를 기존 그룹에 추가합니다. – neilfws

+0

옵션 2는 Ubuntu 14.04에서 작동하지 않습니다. –

8

가장 간단한 옵션은 staff 사용자 그룹에 자신을 추가하는 것입니다. 그냥 실행 :

sudo adduser <user> staff 

<user>을 사용자 이름으로 바꿉니다.

관련 문제