Centos 下非 Root 安装 Microsoft R Open

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

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2017-09-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程微刊

在本地运行查看github上的开源项目

1943
来自专栏ASP.NETCore

Win10 Bash/WSL调试Linux环境下的.NET Core应用程序

使用过Mac OS的程序员都知道,在Mac Book Pro上写程序是一件比较爽的事儿,作为dotneter,我们都比较羡慕Mac系统的环境,比如命令行,当然设...

1003
来自专栏向治洪

将Gradle项目发布到Jcenter和Maven Central

Jcenter和Maven Central 为了方便我们理解Android studio是如何帮助我们获取开源库的,我们需要理清几个概念。Apache Mave...

2455
来自专栏企鹅号快讯

使用Jenkins自动部署博客

这篇文章比较简单,适合初学的读者,本文可以帮助你对基于Jenkins的持续集成有一个比较全局的概念。 提出问题 为了使用HTTPS,我将博客从GitHub Pa...

2565
来自专栏iOSDevLog

Running Python in Xcode: Step by Step第1步:安装Python 3.5第2步:找到python3第3步:创建一个Xcode项目步骤4.创建Python文件步骤5.编

在我准备一个涉及Python编程的项目时,我需要至少掌握基本级别的Python掌握。但是,我不是交互式Python REPL的忠实粉丝:

882
来自专栏编程微刊

如何在本地运行查看github上的开源项目

866
来自专栏iOS开发攻城狮的集散地

iOS 工程文件.xcodeproj无法打开

感谢以下大佬: https://www.jianshu.com/p/e82ec6a56fc2 https://blog.csdn.net/kuangdaca...

982
来自专栏帘卷西风的专栏

Android NDK 建立cocos2dx项目

最近开始学习cocos2dx开发手机游戏,搞定了开发环境后,准备开始使用cocos2dx来写demo了。

801
来自专栏分享达人秀

开发IDE大升级,终于迎来了Android Studio

通过前面几期的学习,我们知道了Android的前世今生,也了解了Android的系统架构和应用组件,也连续用了几期来学习Android开发环境的搭建,不...

21510
来自专栏北京马哥教育

一键将 Python2 代码自动转化为 Python3

将下边面的 reg 代码复制另存为“python 2to3.reg”文件,然后双击此文件,导入到注册表。

640

扫码关注云+社区