# update indices
sudo apt update -qq
# install two helper packages we need
sudo apt install --no-install-recommends software-properties-common dirmngr
# add the signing key (by Michael Rutter) for these repos
# To verify key, run gpg --show-keys /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
# Fingerprint: E298A3A825C0D65DFD57CBB651716619E084DAB9
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
# add the R 4.0 repo from CRAN -- adjust 'focal' to 'groovy' or 'bionic' as needed
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
lsb_release -cs 命令用来查看ubuntu 系统的版本号,比如我的18.04版本,会返回bionic
对于Debian 10 / Ubuntu 18 / Ubuntu 20版本的系统
sudo apt-get install gdebi-core
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2022.07.1-554-amd64.deb
sudo gdebi rstudio-server-2022.07.1-554-amd64.deb
rstudio-server start
查看ip地址
ifconfig
在浏览器中输入ip地址和端口,默认为8787端口,需要注意的是不能使用root用户登陆
http://192.168.31.242:8787/
在linux上安装R包的时候发现缺少几个库,目前只发现以下几个,后续有遇到继续记录
apt-get install cmake libcurl4-openssl-dev libssl-dev libxml2-dev
同一个用户不能同时登录Rstudio,为了将服务器资源共享给其他同学,因此需要建立多个用户、
cat /etc/group
以下只截取了部分,可以看到已经有名为 rstudio-server的用户组,这是rstudio-server默认建立的用户,因此直接使用即可,当然也可以建立其他用户组
messagebus:x:107:
lxd:x:108:
mlocate:x:109:
uuidd:x:110:
ssh:x:111:
landscape:x:112:
admin:x:113:
netdev:x:114:ms
ms:x:1000:
docker:x:1001:root
rstudio-server:x:999:
useradd -g rstudio-server -m -N -s /bin/bash ruser1
-g rstudio-server # 将新用户添加到rstudio-server组
-m #建立用户目录 默认为 /home/username
-N #不建立以username为名的组,默认情况下会建立
-s /bin/bash #指定shell环境
设置用户密码
passwd ruser1
查看家目录的权限
ls -l /home
drwxr-xr-x 6 ruser1 rstudio-server 4096 Jul 29 17:09 ruser1
d 文件类型为目录
第一个rwx 代表目录所有者ruser1的权限
第二个r-x 代表同组rstudio-server其他用户的权限
第三个r-x 代表其他用户的权限
至此已经安装完成rstudio-server并建立了新的用户,每个用户登陆后在其用户目录下生存 R 目录,里面用来存放用户自己安装的R包,用户之间互不干扰
为了在家也能继续使用rstudio-server,因此配置rstudio-server的内网转发
Sunny-Ngrok 付费工具但比较便宜,使用起来也比较简单
https://www.ngrok.cc/
其安装和配置在官网有详细的教程
具体配置方式请移步官网,这里仅展示配置后的结果
本地转发端口为127.0.0.1:8787
重要的信息主要有
wget https://www.ngrok.cc/sunny/linux_amd64.zip?v=2.1
#我下载后文件名变成了'linux_amd64.zip?v=2.1' 但不影响使用,直接解压就好
unzip 'linux_amd64.zip?v=2.1'
cd linux_amd64
其中xxxxxxx1代表用户昵称 xxxxxxx2代表隧道id
./sunny clientid xxxxxxx1 xxxxxxxx2
启动后效果如下,可以使用红线部分的网址进行远程登陆
登陆时会要求进行用户验证,即上一步的http验证用户和http验证密码
用户验证后即可以进入rstudio-server登陆界面