R | WSL2 tidyverse | WSL2에서 tidyverse 설치하기
Oct 3, 2021
20여년 전, 마이크로소프트의 브래드 스미스 사장은 리눅스를 가리켜 오픈소스 소프트웨어는 무료이므로 소프트웨어 개발에 대한 인센티브를 악화 시켜서 혁신을 저하 시킬 것이므로 해악을 끼치는 OS라고 인터뷰 했었다고 한다.
이렇듯 마이크로소프트의 초창기, 개발자들은 자신의 소스코드를 영업기밀로 보호했고 대부분 기업 및 기관 등은 각자의 코드를 자체 개발하였다.
그러나 오픈소스는 소프트웨어 개발 및 사용에 혁명을 몰고 왔다. 소프트웨어 개발자들은 자신의 코드를 공개하고 다른 사람이 개선 발전 시키는 과정을 통하여 더욱 발전하고 더욱 폭 넓게 협업하는 등 소프트웨어의 혁신을 가속화 하였다.
지금의 마이크로소프트는 리눅스를 사랑한다고 말하며 오픈소스 프로그램 R의 성능을 더욱 강력하게 끌어 올리는 Microsoft R Application Network를 만들기도 하며 소프트웨어 개발자들의 필수 기능 Github를 인수하여 무료로 제공 하는 등 오픈소스에 친화적인 기업이 되었다.
Github를 품고 있는 마이크로소프트는 오픈소스 소프트웨어의 생태계에 가장 큰 영향력을 행사하는 회사가 되었다고 해도 과언이 아니다.
또한 마이크로소프트의 OS(운영체제) Windows는 Linux를 품어 버렸다.
과거에는 Bash 또는 Zsh와 같은 리눅스 터미널 Shell을 사용하기 위하여 애플의 맥을 선택했다고 하지만 Windows가 리눅스를 품어버렸으므로 Windows에서 리눅스를 사용할 수 있게 되었다.
대한민국에서 Windows에서만 구동할 수 있는 프로그램이나 특정한 상황이 발생하지 않을 수가 없으므로 대부분의 사람들은 Windows OS 컴퓨터를 사용하고 R을 Windows에서 사용하는 사람이 대부분이지만 R을 묵직하고 강력하게 사용하는 파워 유저 분들은 Encoding을 UTF-8로 유지하기 위한 목적이나 Docker의 사용 목적 또는 머신러닝을 할 때 TORCH FOR R 에서 GPU를 이용하고자 한다거나 병렬 프로그래밍이나 전문적인 연산을 목적으로 할 때는 리눅스에서만 구동되는 패키지를 필요로 하는 상황이 발생한다고 한다. 1
아무래도 R은 태생이 데비안 계열의 리눅스에 있으므로 리눅스에서 R을 사용해 보고 싶다. Git과 Github 또한 리눅스 커널의 창시자께서 만든 것이므로 깃허브를 리눅스에서 사용하는 것이 자연스러워 보인다.2
남아 도는 컴퓨터가 있다면 Linux 중에서 Zorin 같은 예쁜 배포판을 설치하거나 역시나 예쁜 Mint를 선택하거나 그냥 Ubuntu를 설치하거나 요즘 인기 있는 Arch 계열의 Manjaro를 설치해서 사용해 보는 것도 방법이지만 이렇게 리눅스를 사용하다 보면 Windows가 반드시 필요한 상황이 발생하였을 때 결국은 Windows 컴퓨터를 찾아야 한다. 여분의 컴퓨터가 없다면 가상머신 Virtual Box 등을 활용하여 설치할 수 있지만 성능의 저하와 자원의 낭비가 발생한다는 문제가 생긴다.
WSL2 (Windows Subsystem for Linux 2) 기능을 사용하면 Windows에서 Linux를 구동할 수 있고 여기에 Xming 등3을 사용하면 WSL2 리눅스가 보내는 신호를 Windows에서 받아서 Windows 웹브라우져에서 구동할 수 있으므로 Windows에서 구동하는 Ubuntu Linux의 Rstudio Server를 윈도우즈에서 사용할 수 있겠다는 생각이 들었다.
이러한 시도는 역시나 구현이 가능하였으나 install.packages("tidyverse")
에서 문제가 발생하였으며 그 해결 방법을 기록하고자 한다.
Rstudio Server의 Terminal에서(Console이 아니다.) 다음을 입력하여 tidyverse를 설치한다.
TZ="Asia/Seoul" R -e 'install.packages("tidyverse")'
설치 이후에 library(tidyverse)로 로드하여 사용할 때도 계속하여 Warning massage가 나와서 마음을 불편하게 한다. Renviron 파일 가장 아래 줄에 다음을 추가하고 R을 재실행 하면 경고 문구가 나타나지 않는다.
TZ="Asia/Seoul"
다음과 같이 할 수 있다.
sudo vi /etc/R/Renviron
파일이 열리면 다음을 순차적으로 타이핑한다.
G
o
TZ="Asia/Seoul"
Esc 키를 누르고 :wq를 쳐서 저장하고 빠져나온다.