【发布时间】:2020-10-06 21:40:38
【问题描述】:
我是一名本科研究助理,在没有 root 权限的 Linux 服务器上工作。我正在尝试安装 Rstudio 服务器,但 Rstudio 网站只提供了 sudoers 的安装方法。是否可以在没有root访问权限的情况下安装它?我问是因为我真的不确定我是否可以从经理那里获得访问权限。任何帮助将不胜感激!
【问题讨论】:
标签: r linux rstudio-server
我是一名本科研究助理,在没有 root 权限的 Linux 服务器上工作。我正在尝试安装 Rstudio 服务器,但 Rstudio 网站只提供了 sudoers 的安装方法。是否可以在没有root访问权限的情况下安装它?我问是因为我真的不确定我是否可以从经理那里获得访问权限。任何帮助将不胜感激!
【问题讨论】:
标签: r linux rstudio-server
不,您不能在没有 root 访问权限的情况下安装它。但是你可以做几件事来拼凑一个解决方案。这里有两个选项:
你必须是 root 才能安装软件包,所以你不能自己安装 .deb/.rpm 文件。但是,您可以将文件的内容提取到主目录中的一个目录中,然后通过在常规 shell 中执行 rserver 程序从那里运行 RStudio Server。
请注意,这可能需要一个下午的时间来编辑 rserver.conf 文件,以告诉它在哪里可以找到安装中的其余文件(因为它假定它们默认安装在 /usr/lib 中)。您可以在此处获得有关如何执行此操作的一些灵感:https://github.com/rstudio/rstudio/blob/master/src/cpp/conf/rserver-dev.conf
另一条路线是在服务器上运行 RStudio Desktop;我们制作了几个无需安装程序的 RStudio Desktop 版本,只需将其解压缩到您的主目录中即可。然后在你自己的电脑上运行一个 X11 服务器,在 RStudio 服务器上运行一个 X11 客户端,这样 RStudio Desktop 实例就会出现在你的电脑上而不是服务器上。
【讨论】:
是的,您可以在没有 root 权限的情况下运行 rserver。
对于 RStudio 1.4,我将以下行修补到 src/cpp/core/LogOptions.cpp
const FilePath kDefaultLogPath = core::system::xdg::userDataDir().completePath("log");
然后你需要将系统环境变量设置为用户可读写的某个位置,比如
RSTUDIO_CONFIG_DIR=$HOME/.config/rstudio
RSTUDIO_CONFIG_HOME=$HOME/.config/rstudio
RSTUDIO_DATA_HOME=$HOME/.local/share/rstudio
然后使用选项启动rserver
--server-data-dir={directory writeable for user}
--server-pid-file={file-path creatable for user}
--database-config-file={config-file}
通过这些调整,当我以简单用户(无 root 权限)启动它时,它会为我运行
rserver --auth-none=1 --www-frame-origin=same --www-port={port} --www-verify-user-agent=0 --server-data-dir={my-tmp-path} --server-pid-file={my-tmp-path}/rstudio.pid --database-config-file={my-tmp-path}/db.conf}
注意:
但请注意,任何可以从网络访问您的系统和指定端口的人都可以在其浏览器中访问正在运行的 RStudio,因此现在可以在您的系统上以用户的名义运行任何命令。
【讨论】: