이번에 노트북을 구매한 뒤로 R을 노트북으로 구동을 하고싶어졌다. 실제로 이를 반영하여 꽤 좋은 사양의 노트북을 구매하였다. 노트북과 동 사양의 AWS를 사용하기엔 너무 비싸서 WSL을 활용하여 Rstudio-server를 구축하려 한다. 도커를 활용하여 리눅스를 설치 후 rstudio-server를 구축 할 수도 있지만, 도커의 경우 윈도우10 home의 경우 구축이 꽤나 어렵다.(실제로 도커의 경우 도커hub에서 윈도우 버전의 경우 pro이상을 요구한다) 하지만 WSL의 경우는 특별한 제약이 없이 윈도우10이면 가능하니 이 또한 장점이라 할 수 있겠다.
1. 윈도우10 환경설정
먼저 WSL을 사용할 수 있는 환경설정부터 해주자. 말이 환경설정이지 실제로는 5분도 걸리지 않는다.
제어판 > 프로그램 > 프로그램및기능 > Windows 기능 켜기/끄기 > Linux용 Windows 하위 시스템 에 체크를 해주면 된다.
2. ubuntu 설치
이제 ubuntu를 설치해주자. ubuntu의 설치는 간단하다. 윈도우 작업표시줄 검색창에 microsoft store를 검색한 뒤 실행하여 ubuntu를 검색하고 설치를 해주면 된다. 이 때 마이크로소프트 계정을 로그인 하라는 창이 뜨는데, 로그인 하지않고 그냥 로그인 창을 꺼버려도 ubuntu는 인스톨 된다.
ubuntu가 잘 설치되었다면 이제 실행을 해보자. 실행하면 먼저 사용자 이름을 입력하라고 하므로 본인이 편한 아이디를 입력해주면 된다. 아이디를 입력하면 계정 비밀번호를 입력하라 하는데, 이 비밀번호가 sudo의 비밀번호가 되므로 잘 기억해두자. (이 아이디와 비밀번호가 Rstudio-server의 아이디와 비밀번호로도 사용된다)
3. Rstudio-server 설치
rstudio-server를 설치하기 전에, ubuntu에 R-base를 먼저 설치해주어야 한다. 그런데 그냥 설치하게 되면 최신 버전이 설치가 되지 않으므로 먼저 다음의 코드를 하나씩 ubuntu에 입력해주자.
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9$ sudo add-apt-repository ‘deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/’
그리고 이제 R을 설치해주도록 하자.
$ sudo apt update$ sudo apt install -y r-base
설치가 끝나면 R이 제대로 설치되었는지 확인하자
$ sudo -i R
R이 제대로 설치되었으므로 이제 rstudio-server를 설치하자. 설치는 rstudio-server의 홈페이지를 참고하면 된다. 필자의 경우는 ubuntu18을 이용중이므로 rstudio-server의 설치 코드는 다음과 같다.
$ sudo apt-get install gdebi-core$ wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.2.5033-amd64.deb$ sudo gdebi rstudio-server-1.2.5033-amd64.deb
rstudio-server가 제대로 설치되었는지를 확인하도록 하자. 인터넷 창에
localhost:8787
을 입력하면 Rstudio-server 로그인 창이 나올 것이다.
username과 password는 ubuntu의 id와 password를 입력하면 rstudio-server에 로그인이 된다.
4. 기본세팅
우리가 윈도우에 Rstudio를 설치한 뒤에 바로 필요한 패키지들을 설치하면 특별한 에러 없이 잘 설치가 된다. 하지만 ubuntu에서 rstudio-server를 이용하면 다양한 에러가 발생하며 패키지가 설치가 잘 되지않는다. 이는 ubuntu환경에 패키지들을 설치하기 위한 기본적인 것들이 설치가 되어있지 않기 때문이다. 그때그때 에러가 발생할 때마다 설치하기에는 너무 귀찮으니 ubuntu에 미리 설치를 해두도록 하자.
$ sudo apt-get install libcurl4-openssl-dev$ sudo apt-get install libssl-dev$ sudo apt-get install libgit2-dev$ sudo apt-get install libxml2-dev
5. rJava package 설치
이제 대망의 rJava package 설치만이 남아있다. 구글에 rJava를 검색해보면 정말 다양한 에러와 이를 설치하기 위한 수많은 사람들의 고민들이 잘 나타남을 알 수 있다. 필자가 다음과 같은 방법으로 rJava package를 설치하였다.
먼저 ubuntu에 java를 설치하자. 필자는 이후 scala와 spark를 설치할 예정이므로 scala와 잘 연동되는 8버전을 설치하였다.
$ sudo apt install openjdk-8-jdk
설치 후 다음과 같은 코드로 java의 버전을 확인하자. 다음과 같은 결과가 나오면 ubuntu에 java가 잘 설치된 것이다.
hslee@Haengs-notebook:~$ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
이제 다음과 같은 코드를 실행하여 profile을 열어주자
$ sudo nano /etc/profile
profile이 열렸으면 쭉~ 내려가서 맨 아래 ‘fi’ 다음줄에 다음과 같이 입력하여주자
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH
입력하였으면 CTRL+x , y , 엔터를 순서대로 눌러 저장 후 profile에서 빠져나오면 된다. 그리고 ubuntu를 종료했다가 다시 시작해주면 설정한 환경변수가 적용된다.
이후 ubuntu에서 마지막으로 다음과 같은 코드를 입력하여주자
sudo R CMD javareconf
이제 ubuntu에서 java의 환경변수가 잘 설정되어있는지 확인하자
echo $JAVA_HOME
그리고 Rstudio-server에 접속하여 java의 환경변수 위치를 지정하여 주자.
Sys.setenv(JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64")
이제 rJava 패키지를 설치하면 rJava 설치가 완료된다!
결론
이제 Rstudio-server를 노트북에 설치하였다. 이후 ubuntu에 접근권한을 주어 데스크탑을 활용하거나 집이 아닌 곳에서도 노트북을 서버로 사용하여 R에 접속하여 사용 할 것이다. 다음 글은 KoNLP 패키지 설치 및 ubuntu에 파이썬을 설치하여 Rstudio-server처럼 외부에서도 접속할 수 있는 환경을 구축 할 것이다. 그 이후에는 scala 및 spark설치 및 활용에 대한 글을 써보려한다.