Centos 下非 Root 安装 Microsoft R Open

时间:2022-05-03
本文章向大家介绍Centos 下非 Root 安装 Microsoft R Open,主要内容包括Centos 下非 Root 安装 Microsoft R Open、TL; DR、Microsoft R Open 是什么?、官方安装指南、使用 Conda 安装、手工安装、检验安装、参考链接、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

Centos 下非 Root 安装 Microsoft R Open

作者: Hyacz hyacinth.hao@foxmail.com 2017年8月30日 本教程发布时仅针对 Microsoft R Open 3.4.0 版本测试通过。

写在前面

我们新写的 GWAS 的算法包 MVP 采用了 Microsoft R Open,在我们对计算的优化中 MRO 起到了非常关键的作用。在测试的时候就遇到了在没有 root 权限要安装 MRO 的问题,经过百度、Google 都没有找到较好的方案,研究了 MRO 的安装脚本和解开 RPM 包分析了之后,最终采用手工安装的方式成功安装,遂成此文与大家分享。(另随文附赠官方安装和 Conda 安装方法)

TL; DR

简要概括Microsoft R Open以及其各种安装方法,手工安装过程见文章最后。

Microsoft R Open 是一个加强的 R 发行版,完全适配与原有的 Base R——这意味着它可以使用所有的 R 包。 特色是: * 非常快 * 稳定,可以回滚包的版本

安装MRO

  • 官方安装指南(下载、解压、运行安装脚本)
  • 手工安装(下载、解压、手工安装)
  • Conda(使用 conda install -c mro r一键安装)

Microsoft R Open 是什么?

02A34C3D-D5D1-462B-9009-9C37DA1E48E9

MRO 是一个基于 Base R 的加强的完全开源、免费的 R 发行版,与原有的 Base R 完全适配,可以使用所有的 R 包和脚本。加强的地方主要体现在性能再生性上,支持Windows、Linux和MacOS。

关于性能对比可以参考这个链接

官方安装指南

官方给出的指南是最简便快捷的(在你有 root 权限的时候)

参考这个链接:官方安装指南,总体思路就是下载,解压,用 root 权限运行安装脚本,然后按照提示一路 yes 下去就安装完成了。 Linux 安装指南部分摘抄如下:

  1. Log in as root or a user with sudo privileges. If the latter, precede commands requiring root privileges with sudo.
  2. Make sure R is not running. Stop every R process prior to installing Microsoft R Open. You may need to close your IDE.
  3. Download the Microsoft R Open installer.
  4. Change to the directory where you downloaded the Microsoft R Open installer bundle.
  5. Untar the installer bundle as follows:
    1. tar -xf microsoft-r-open-3.4.0.tar.gz
  6. Go to the microsoft-r-open directory as follows:
    1. cd microsoft-r-open/
  7. Install Microsoft R Open as follows:
    1. sudo ./install.sh
  8. Follow the installer's onscreen prompts.
  9. To enable the optional multi-threaded performance for Microsoft R Open, select the MKL installation option and accept the end-user license agreement.
  10. When the Microsoft R Open installation is complete, run R in a terminalto begin interacting with R. Or, configure your R integrated development environment (R IDE).

Important!

  • After installing, the default R path is updated to point to R installed with Microsoft R Open 3.4.0, which is under lib64/R/bin/R.
  • The CRAN repository points to a snapshot from May 1, 2017. This means that every user of Microsoft R Open has access to the same set of CRAN package versions. To get packages from another date, use the checkpoint package, installed with Microsoft R Open.

重要(随便翻译一下↑)

  1. Microsoft R Open 将会被默认安装在 lib64/R/bin/R。(会覆盖之前安装的 Base R 的软链接。)
  2. 微软做了一个 MRAN 的镜像,可以回滚旧版本的包。

使用 Conda 安装

不需要 root 权限,但是需要能访问外网( -除非制作本地 Conda Channel- ),安装的版本稍落后。

参考这个链接:Using Microsoft R Open with Conda

  1. 首先安装好miniconda
  2. 然后使用 conda install -c mro r安装 Microsoft R Open
  3. 再安装 mkl 扩展,参考这个链接

注意:目前Conda的源更新速度落后于官方发布的安装包,目前Conda的源只更新到 3.2.3,而官方安装包已经发布到了 3.4.0

手工安装

手工安装比较繁琐,优点在于可以不需要 root 权限安装上最新的 Microsoft R Open。

接下来以 Centos 为例(同样适用于其他使用 rpm 作为包管理器的 Linux发行版)

  1. 从官方网站下载对应的安装包。
  2. 解压安装包:
    1. tar -xf microsoft-r-open-3.4.0.tar.gz
  3. 进入文件夹 microsoft-r-open
    1. cd microsoft-r-open
  4. 利用 rpm2cpio解开 rpm 包:
    1. rpm2cpio rpm/microsoft-r-open-mro-3.4.rpm |cpio -idmv
    2. rpm2cpio rpm/microsoft-r-open-foreachiterators-3.4.rpm |cpio -idmv
    3. rpm2cpio rpm/microsoft-r-open-mkl-3.4.rpm |cpio -idmv
  5. 拷贝 mkl 的库文件:
    1. cp usr/lib64/microsoft-r/3.4/stage/Linux/bin/x64/*.so usr/lib64/microsoft-r/3.4/lib64/R/lib/
  6. 编辑文件 usr/lib64/microsoft-r/3.4/lib64/R/etc/Rprofile.site ,在文件头部添加:
    1. Sys.setenv("MKL_INTERFACE_LAYER"="GNU,LP64")
    2. Sys.setenv("MKL_THREADING_LAYER"="GNU")
  7. 拷贝 mro 到 $HOME
    1. mv usr/lib64/microsoft-r/3.4/lib64/R ~/mro-3.4
  8. 添加环境变量,写入 ~/.bash_profile
    1. export R_HOME=~/mro-3.4
    2. export PATH=~/mro-3.4/bin:$PATH
    3. export LD_LIBRARY_PATH=~/mro-3.4/lib:$LD_LIBRARY_PATH

注意: R_HOME后不要添加 /不然启动的时候会弹 Warning 告诉你 R_HOME的值被忽略了。另外写完文件之后需要 source~/.bash_profile使其生效。

检验安装

在终端输入:

R

如果回显中除了 Base R 正常启动时的回显还包括类似的这一段:

9B82EC5DB61E7291B07D7A559D835388

就说明 Microsoft R Open 已经安装成功了。

参考链接

  1. Microsoft R Open 官方网站:https://mran.microsoft.com/open/
  2. Microsoft R Open 官方安装指南:https://mran.microsoft.com/documents/rro/installation/
  3. Microsoft R Open 下载地址:https://mran.microsoft.com/download/
  4. Microsoft R Open 与 Base R 性能对比:https://htmlpreview.github.io/?https://github.com/andrie/version.compare/blob/master/inst/doc/version.compare.html
  5. 通过 Conda 安装 Microsoft R Open: https://conda.io/docs/user-guide/tasks/use-mro-with-conda.html#using-microsoft-r-open-with-conda