ubuntu-port 22.0.4 安装rstudio-server的一些探索
背景:想在平板电脑上原生运行R和Rstudio。前者是一个用于统计分析和作图的编程语言,后者是一个强大的代码编辑器和编程环境(IDE)。
博主的平板电脑是安卓系统的,有Termux这一软件可以实现对Linux终端的模拟(下载地址:https://f-droid.org/en/packages/com.termux/ )。由于这个模拟器并不是真正的Linux环境,因此许多软件并不能正常运行。幸运的是,在这一终端模拟器上,还有软件包proot-distro 可以安装Linux子系统(如ubuntu-port),因此我们借助proot-distro在安卓平板上安装了ubuntu-port 22.0.4的系统,并成功安装miniconda。
有了ubuntu-port 22.0.4的系统和miniconda,安装R和Rstudio变得简单了一些。首先,我们安装了R,过程大致参考了许多网上教程,如 《如何使用conda安装R和R包》、《conda 安装R语言及其R包》 等_(现已成功安装,可以通过命令行界面访问R)_。这之后,需要安装Rstudio。本文主要讲的是安装Rstudio时的一些探索。
注意到,Linux终端只有命令行界面,因此安装本地版Rstudio不太可能。我们要做的是安装Rstudio-server,然后通过平板上安装的浏览器对其进行访问。
1、安装包下载地址:
参考下列文档。Rstudio-server目前的官方版本只有x86和amd64的包,但是其beta版中有针对arm64编译的版本。
https://dailies.rstudio.com/rstudio/elsbeth-geranium/server/bionic-arm64/
我们采用文章中给出的链接进行安装包下载,指令如下:
1 | wget -c https://s3.amazonaws.com/rstudio-ide-build/server/bionic/arm64/rstudio-server-2022.12.1-366-arm64.deb |
2、安装gdebi
参考官方教程,我们运行下列指令安装gdebi,这是一个安装器,后面将用于rstudio-server的安装。
1 | sudo apt-get install gdebi-core |
3、安装rstudio-server
1 | sudo gdebi rstudio-server-2022.12.1-366-arm64.deb |
在ubuntu-port 22.0.4 系统上,安装rstudio-server时可能会出现找不到libssl1.0的问题( dependency is not satisfiable: libssl 1.0.0libssl1.0.2libssl 1.1
)。对于这种情况,可以手动安装对应软件包 (见第4小节)
4、(对于“找不到libssl1.0”问题的改进)手动安装libssl1.0
如果安装过程中没有出现“找不到libssl1.0”的问题,则可以跳过这一部分,直接进入第5小节。
4.1、下载
libssl1.1自ubuntu18.04之后就从仓库中移除了。因此只能进行手动安装:
1 | wget -c https://mirrors.aliyun.com/ubuntu-ports/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.21_arm64.deb |
上述链接中的版本号截止到2023年3月,在此之后openssl1.1可能还会有更新,因此下载对应版本号的软件包即可。
4.2、安装
1 | sudo gdebi install libssl1.1_1.1.1-1ubuntu2.1~18.04.21_arm64.deb |
4.3、rstudio-server安装
参见第3小节。
5、rstudio-server配置
Rstudio-server的配置文件保存在 /etc/rstudio/
下面。我们需要修改几个文件以便于服务器运行。
-
env-vars
1 | # set virtual environment for Rstudio server. |
上面列出的是我自己的配置,实际安装过程中需要将R及Rscript对应的安装路径加入到PATH
变量中。
-
rserver.conf
1 | # Server Configuration File# 更改RStudio-server使用的R版本 |
上面列出的是我自己的配置,实际安装过程中需要将R及Rscript对应的安装路径加入到rsession-which-r
变量中。
-
rsession.conf
1 | # 超时设定(单位:分钟) |
上面列出的是我自己的配置,实际安装过程中需要将R的library对应的存储路径加入到r-libs-user
变量中。
6、启动与停止
- 启动
1 | sudo rstudio-server start |
启动以后,在浏览器中访问 http://localhost:8787
即可使用Rstudio-server。【但是我没有走到这里,安装过程中的一些错误把我卡住了。】
- 停止
1 | sudo rstudio-server stop |
7. 仍然没有解决的问题
上述安装流程在PC端是没有问题的(系统是ubuntu 22LTS,以WSL1的形式运行于win11上)。但是在matepad上存在下列问题:
1 | 2023-03-15T13:06:50.037293Z [rserver] ERROR system error 1 (Operation not permitted); OCCURRED AT rstudio::core::Error rstudio::core::system::setResourceLimit(rstudio::core::system::ResourceLimit, RLimitType, RLimitType) src/cpp/core/system/PosixSystem.cpp:1568; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:647 |
暂时没有找到这一问题的解决方法。