在服务器上运行R

最近由于导师的要求,需要在学校的服务器上去跑R,但是由于没有管理员权限,安装起来异常的麻烦。终于在昨天协商好,可以用管理员的账号配置相关环境,所以先在自己的虚拟机上去配置一下,以防万一。

sudo apt install r-base报错

apt时出现如下问题:
Could not get lock /var/lib/dpkg/lock-frontend - open
说明之前使用apt时出现异常,没有正常关闭,还在运行。
解决,使用ps 和 grep查找apt的pid,并使用kill结束process

ps afx|grep apt
//2586 ?        S      0:00  \_ sudo apt install yum
//2587 ?        S      0:00  |   \_ apt install yum
//2612 ?        S      0:00  \_ sudo apt install r-base
//2613 ?        S      0:00  |   \_ apt install r-base
//3964 pts/2    S+     0:00          \_ grep --color=auto apt
//1804 ?        Ss     0:00 /bin/sh /usr/lib/apt/apt.systemd.daily install
//1811 ?        S      0:00  \_ /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install
//3961 ?        S      0:00                          \_ /usr/bin/python3 /usr/lib/update-notifier/apt-check --human-readable
sudo kill 1811

kill process后直接运行sudo apt install r-base

sudo apt install r-base
//Reading package lists... Done
//Building dependency tree       
//Reading state information... Done
//The following additional packages will be installed:
//binutils binutils-common binutils-x86-64-linux-gnu build-essential bzip2-doc dpkg-dev //fakeroot g++ g++-9 gcc gcc-9 gfortran gfortran-9 icu-devtools libalgorithm-diff-perl //libalgorithm-diff-xs-perl
//libalgorithm-merge-perl libasan5 libatomic1 libbinutils libblas-dev libblas3 libbz2-dev libc-dev-bin libc6-dev libcrypt-dev libctf-nobfd0 libctf0 libfakeroot libgcc-9-dev libgfortran-9-dev
// libgfortran5 libicu-dev libitm1 libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblapack-dev liblapack3 liblsan0 liblzma-dev libncurses-dev libncurses5-dev libpcre16-3 libpcre2-16-0 libpcre2-dev
//libpcre2-posix2 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpng-dev libpng-tools libquadmath0 libreadline-dev libstdc++-9-dev libtcl8.6 libtk8.6 libtsan0 libubsan1 linux-libc-dev make manpages-dev
//r-base-core r-base-dev r-base-html r-cran-boot r-cran-class r-cran-cluster r-cran-codetools r-cran-foreign r-cran-kernsmooth r-cran-lattice r-cran-mass r-cran-matrix r-cran-mgcv r-cran-nlme
//r-cran-nnet r-cran-rpart r-cran-spatial r-cran-survival r-doc-html r-recommended zlib1g-dev

安装完成,现在只要在终端输入R,就可以启动R了。

yuelinli@yuelinli-virtual-machine:~$ R

//R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
//Copyright (C) 2020 The R Foundation for Statistical Computing
//Platform: x86_64-pc-linux-gnu (64-bit)

//R is free software and comes with ABSOLUTELY NO WARRANTY.
//You are welcome to redistribute it under certain conditions.
//Type 'license()' or 'licence()' for distribution details.

// Natural language support but running in an English locale

//R is a collaborative project with many contributors.
//Type 'contributors()' for more information and
//'citation()' on how to cite R or R packages in publications.

//Type 'demo()' for some demos, 'help()' for on-line help, or
//'help.start()' for an HTML browser interface to help.
//Type 'q()' to quit R.

男默女泪,有root权限真好,之前每个环境都要自己一个个配置,现在一个命令就解决了。

更新:最后并没有拿到root权限

4月份的时候管理员告诉我这个权限没法给,所以最后我根据一些帮助文档找到了在无root权限下,也基本可以使用R各项功能的方法。我把这些方法总结成word文档发给管理员让他帮忙在群里分享,后来想一想直接写这篇博客里好像更方便一下

一、直接安装R

1.在非root权限下配置R的环境相对比较麻烦,所以这里直接在终端中,通过 conda指令 安装R,请确保 已经安装了anaconda3

2.指令如下
查看conda环境 conda info
创建名为R的环境 conda create -n Rvenv
激活R环境 conda activate Rvenv
安装R语言 conda install r-base
安装R包以 r- 开头,例如安装stingi包 conda install r-stringi

如果需要__退出当前环境__,则输入conda deactivate

3.在通过conda install r-base 安装R后,可以通过在终端中输入R,启动R
在这里插入图片描述
4、如果想保证 关闭联机后程序仍在运行,可以利用Screen环境,使所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。
输入
screen -S yourname 新建一个叫yourname的session
在该session运行程序后,可以通过在键盘上按Ctrl+A+D,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。
之后可以通过指令
screen -r yourname
恢复之前离开的会话
其他常见screen指令如下
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session

二、在Jupyter中运行R

1、在 Jupyter Notebook 中使用 R,需要在 Jupyter Notebook 中安装 R内核,
在终端中输入指令
conda install -c r r-essentials

2、重新启动Jupyter,就可以新建 R 内核的文件了,在 Jupyter Notebook 中使用R 了
在这里插入图片描述
在这里插入图片描述

三、安装Rstudio Server

1、安装Rstudio Server需要root权限

2、通过指令sudo apt-get install r-base安装R

3、查看Rstudio官网中教程,根据具体LINUX系统版本,输入相应指令,这里以ubuntu 20.04为例
在这里插入图片描述
sudo apt-get install gdebi-core

wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.4.1106-amd64.deb

sudo gdebi rstudio-server-1.4.1106-amd64.deb

4、创建账号
Useradd lyl
Passwd lyl

5、RStudio Server 默认开启的端口是8787,故用浏览器打开服务器ip地址:8787地址,就可以使用RStudio Server了。如用谷歌浏览器打开192.168.91.100:8787,界面如下,出现登录界面。
在这里插入图片描述
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐