Intro
- 우분투 서버에 R 설치 경험기
- 개인 서버가 아닌 기관 대여 서버라서 포트 사용 및 설치 제한 조건
- r studio 활용이 어려운 조건에서 설치 및 활용기
Preparation
R Cran Info
리눅스 배포판 설치 매뉴얼Ubuntu CodeName
우분부 코드 네임 얻는 법 검색으로 위키에서도 확인 가능하나 서버에서 바로 확인하는 법Cran Mirror URL
저장소 등록을 위해 쓰일 미러 사이트 주소 리스트
Installation
우분투 코드 네임 확인
root@....:~# grep . /etc/*-release
/etc/lsb-release:DISTRIB_ID=Ubuntu
/etc/lsb-release:DISTRIB_RELEASE=14.04
/etc/lsb-release:DISTRIB_CODENAME=trusty
...
grep . /etc/*-release
입력하면 위와 같은 정보가 출력
버전 정보와 코드 네임이 확인 가능하다.
위 코드는 14.04버전에 코드네임 trusty
16.04버전의 경우는 코드네임이 xenial이다.
미러 사이트 주소를 저장소 리스트에 등록
한국 미러 주소 중 http://cran.biodisk.org/
을 사용할 예정
$ sudo echo "deb http://cran.biodisk.org/bin/linux/ubuntu/ trusty” | sudo tee -a /etc/apt/sources.list
shell 명령어가 궁금하면
https://explainshell.com 이 사이트에서 입력하면 잘 설명해준다.
위 명령어는 echo ““의 내용을 인풋해서
아웃풋으로 sources.list파일에 추가해준다는 내용이다.
공개키 추가
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
Install R
$ sudo apt-get update
$ sudo apt-get install r-base
에러 발생 상황
apt-get update
에서 오류 발생으로
저장소 업데이트가 되지 않는다면 sources.list
파일 열어서
trusty나 코드 네임 뒤에 /
입력하고 진행
추가로 gpg error가 발생하면
해당 gpg key 확인 후
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
위 코드에서 key값 변경해서 진행 후, 다시 인스톨 명령 실행하면 된다.
which R
이나 R --version
으로 설치 확인
devtools package
이래저래 활용이 많고 추후에 깔려면 귀찮으니 미리 설치
install.packages("devtools")
설치가 되면 좋지만, 에러가 발생하는 경우가 있다.
이런 경우에는 터미널에서 의존성 패키지를 설치하고 재실행
sudo apt-get install libssl-dev
sudo apt-get install libcurl4-openssl-dev
Jupyter Notebook 연결
- R Studio Server를 활용하면 좋지만, 사용할 수 있는 포트 제한으로 해당 프로그램 사용 불가
- GUI 기능을 사용하기 위해서, 포트가 열려진 쥬피터 노트북 활용
- 포트 사용 문제로 아나콘다는 활용 불가
- 콘다에서는 r-essential 설치로 해결 했지만 위와 같은 서버 상황에서는 IRKernel 설치로 진행
install.packages(‘devtools’) devtools::install_github(‘IRkernel/IRkernel’)
IRkernel::installspec()
in R 3.3 IRkernel::installspec(name = ‘ir33’, displayname = ‘R 3.3’) in R 3.2 IRkernel::installspec(name = ‘ir32’, displayname = ‘R 3.2’)
devtools는 설치했고 3.4버전으로 설치했으니
R에서
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec(name = 'ir34', displayname = 'R 3.4')
여기까지 완료되서
쥬피터 노트북 실행시키면 쥬티퍼 노트북에서도 R을 사용할 수 있게 된다.