Linux 中R3.6.1升级R4.2.3,并安装RStudio Server

服务器中旧版本的R已经不满足新的一些R包的安装,因此需要安装更高版本的R,参照RStudio提供的步骤来安装R4.2.3

Posit - Install R - Posit Documentation

先选择好系统版本

系统版本选择

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

$ sudo yum install yum-utils

$ sudo yum-config-manager --enable "rhel-*-optional-rpms"

$ export R_VERSION=4.2.3

$ curl -O https://cdn.rstudio.com/r/centos-7/pkgs/R-${R_VERSION}-1-1.x86_64.rpm

$ sudo yum install R-${R_VERSION}-1-1.x86_64.rpm

$ /opt/R/${R_VERSION}/bin/R --version

$ sudo ln -s /opt/R/${R_VERSION}/bin/R /usr/local/bin/R

$ sudo ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/local/bin/Rscript

至此,R4.2.3已经安装好,以上步骤来源于开始的那个链接,网页中会有相关步骤的介绍,操作成功率较高。

接下来开始安装RStudio Server

RStudio Server - Posit 

首先:选择版本

选择版本


1、找到对应版本,安装(这两步均来自官网)

$ wget https://download2.rstudio.org/server/centos7/x86_64/rstudio-server-rhel-2023.09.1-494-x86_64.rpm

$ sudo yum install rstudio-server-rhel-2023.09.1-494-x86_64.rpm

2、查看配置文件

$ vi /etc/rstudio/rserver.conf  #添加以下内容到文件中

# Server Configuration File

www-port=8787 #监听端口,默认是8787,可以修改为其他的

www-address=127.0.0.0 #允许访问的IP地址,默认0.0.0.0 (此处为自己的IP地址)

rsession-which-r=/usr/local/bin/R  ## 如果非root安装,更改R所在目录

保存后退出

3、开启8787端口

$ systemctl enable rstudio-server.service

$ systemctl start rstudio-server.service #我在输入这一句报错

$ sudo rstudio-server start  #重新输入,提示以下错误

/usr/lib/rstudio-server/bin/rserver: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by /usr/lib/rstudio-server/bin/rserver)

/usr/lib/rstudio-server/bin/rserver: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /usr/lib/rstudio-server/bin/rserver)

/usr/lib/rstudio-server/bin/rserver: /lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /usr/lib/rstudio-server/bin/rserver)

/usr/lib/rstudio-server/bin/rserver: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/lib/rstudio-server/bin/rserver)

/usr/lib/rstudio-server/bin/rserver: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/rstudio-server/bin/rserver)

意思是,lib64/libstdc++.so.6版本过于老旧,没有GLIBCXX_3.4.19等,解决办法如下:

$ strings /usr/lib64/libstdc++.so.6 | grep GLIBC #查看libstdc++.so.6的GLIBC有哪些


GLIBC

果然没有更新

$ find / -name "libstdc++.so*"  #查找系统中已有的libstdc++.so

查找

发现/root/miniconda3/pkgs/libstdcxx-ng-9.3.0-hd4cf53a_17/lib/libstdc++.so.6.0.28 版本最新

strings /root/miniconda3/pkgs/libstdcxx-ng-9.3.0-hd4cf53a_17/lib/libstdc++.so.6.0.28|grep GLIBCXX #发现果然满足要求

然后复制该文件到/usr/lib64  

$ cp /root/miniconda3/pkgs/libstdcxx-ng-9.3.0-hd4cf53a_17/lib/libstdc++.so.6.0.28 /usr/lib64

$ cd /usr/lib64

$ rm -rf libstdc++.so.6 #移除旧的

$ ln -s libstdc++.so.6.0.28 libstdc++.so.6 创建新的软链接

到此报错解决。

$ systemctl start rstudio-server.service #启动

$ systemctl status rstudio-server #检查 RStudio Server 服务状态

配置防火墙规则:

$ firewalld

$ firewall-cmd --permanent --add-port=8787/tcp

$ firewall-cmd --permanent --add-port=8787/udp

$ firewall-cmd --reload

这将打开 8787 端口,允许通过该端口访问 RStudio Server

配置设后重启Rstudio-server,使用rstudio-server restart重启服务,提示一些日志信息

TTY detected. Printing informational message about logging configuration. Logging configuration loaded from '/etc/rstudio/logging.conf'. Logging to '/var/log/rstudio/rstudio-server/rserver.log'. 

还可以使用rstudio-server verify-installation来验证,出现以下内容,表示成功

Server is running and must be stopped before running verify-installation 

接下来,在浏览器输入 http://<服务器ip>:8787   即可打开RStudio Server网页,输入账号密码就可以使用了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容