Skip to content

Instantly share code, notes, and snippets.

@mokztk
Last active March 4, 2020 05:15
Show Gist options
  • Save mokztk/8a13108c039c300f930759b3973e604e to your computer and use it in GitHub Desktop.
Save mokztk/8a13108c039c300f930759b3973e604e to your computer and use it in GitHub Desktop.
WSLのUbuntu 18.04LTSに R3.6.1+RStudio Server+radian をセットアップする script
#!/bin/bash -x
## provisioning script for RStudio Server on ubuntu / WSL
## MRAN library fixed at 2019-12-12 (the last day before 3.6.2)
sudo apt update
sudo apt upgrade -y
# Change environment to Japanese (Character and DateTime)
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
sudo sed -i '$d' /etc/locale.gen
sudo chmod 666 /etc/locale.gen
sudo echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen
sudo locale-gen ja_JP.UTF-8
sudo /usr/sbin/update-locale LANG=ja_JP.UTF-8 LANGUAGE='ja_JP:ja'
sudo /bin/bash -c "source /etc/default/locale"
sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# Japanese language support
sudo apt install -y language-pack-ja-base language-pack-ja fonts-noto-cjk
## install Microsoft IT SSL SHA2 CA Certificate
curl --output "msitwww2(1).crt" "http://www.microsoft.com/pki/mscorp/msitwww2(1).crt"
openssl x509 -in "msitwww2(1).crt" -inform DER -out msitwww2.crt -outform PEM
sudo cp msitwww2.crt /usr/share/ca-certificates/
sudo chmod 666 /etc/ca-certificates.conf
sudo echo "msitwww2.crt" >> /etc/ca-certificates.conf
sudo update-ca-certificates
rm *.crt
## Microsoft R Application Network (MRAN) snapshot
export MRAN="https://cran.microsoft.com/snapshot/2019-12-12/"
## install latest version of R 3.6.1 (3.6.1-3bionic / 2019-07-26)
sudo chmod 777 /etc/apt/sources.list.d
sudo echo "deb ${MRAN}/bin/linux/ubuntu bionic-cran35/" > /etc/apt/sources.list.d/cran.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 51716619E084DAB9
sudo apt update
sudo apt install -y r-base littler
## dependent packages
sudo apt install -y --no-install-recommends \
libcurl4-openssl-dev \
libssl-dev \
libxml2-dev \
libglu1-mesa-dev \
graphviz \
libgraphviz-dev \
libzmq3-dev \
xorg \
libx11-dev \
libfreetype6-dev \
libfontconfig1-dev \
libcairo2-dev
## to install {ps}{rgl}
## ref: https://note.com/katzkagaya/n/ne0ff7940adec
## https://www.owlog.org/wsl-rgl-install/
echo "R_INSTALL_STAGED=false" > ~/.Renviron
export R_INSTALL_STAGED=false
## install r-packages using 2019-12-12 snapshot
echo "options(repos = '${MRAN}')" > ~/.Rprofile
sudo ln -s /usr/lib/R/site-library/littler/examples/install2.r /usr/local/bin/install2.r
sudo R -e "install.packages(c('docopt', 'xml2'), dep = T)"
sudo install2.r --error --deps TRUE --ncpus -1 --skipinstalled \
devtools \
BiocManager \
pacman \
tidyverse \
tidylog \
furrr \
RSQLite \
rmarkdown \
formatR \
caTools \
pROC \
cmprsk \
psych \
clinfun \
car \
MASS \
ggfortify \
ggsci \
tableone \
export \
prophet
sudo R -e "BiocManager::install(c('graph', 'Rgraphviz'))"
# Install RStudio Server
sudo apt install -y gdebi-core
wget https://download2.rstudio.org/server/trusty/amd64/rstudio-server-1.2.5033-amd64.deb
sudo gdebi -n rstudio-server-1.2.5033-amd64.deb
rm *.deb
echo "alias start_rstudio='sudo service rstudio-server start'" >> ~/.bash_profile
echo "alias stop_rstudio='sudo service rstudio-server stop'" >> ~/.bash_profile
echo "alias rstudio='/mnt/c/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exe --app=http://localhost:8787/ &'" >> ~/.bash_profile
echo 'export PS1="\n\[\e[1;32m\]\u@WSL: \[\e[1;36m\]\w\n\[\e[1;33m\]\$\[\e[0m\] "' >> ~/.bash_profile
# Python setup
sudo apt install -y python3-pip python3-pandas python3-numpy python3-sklearn
sudo install2.r --error --deps TRUE --ncpus -1 --skipinstalled reticulate
# Install radian: A 21 century R console
sudo pip3 install -U radian
cat << EOF > ~/.radian_profile
options(radian.color_scheme = "monokai")
options(radian.auto_match = TRUE)
options(radian.prompt = "\033[0;32mr$>\033[0m ")
EOF
# cleaning
sudo apt autoremove -y
sudo apt clean -y
sudo chmod 644 /etc/locale.gen
sudo chmod 644 /etc/ca-certificates.conf
sudo chmod 755 /etc/apt/sources.list.d
@mokztk
Copy link
Author

mokztk commented Mar 3, 2020

インストールには時間がかかるので、作業の間だけ visudo でパスワード不要に設定しておき、終了後忘れず戻す。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment