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 条评论
登录 后参与评论

相关文章

来自专栏破晓之歌

Django 开源相册组件介绍 django-photologue

下载地址:https://github.com/jdriscoll/django-photologue

874
来自专栏HTML5学堂

移动端及时调试工具 - weinre使用方法

HTML5学堂:在前一篇文章当中,我们借着weinre讲解了NodeJS中的一些简单命令,也讲解了weinre的安装方法,今天我们把weinre的使用“完结”掉...

2653
来自专栏cnblogs

前端打包成桌面应用、以及chrome扩展

     前段时间在利用工作之余开发了tomato timer这个蕃茄钟,然后部署到github.io上,由于greatway太厉害,偶尔会有打不开的情况。上周...

20010
来自专栏醉梦轩

NGINX部署HTTPS

1834
来自专栏移动端周边技术扩展

UniversalLink Associated Domains

1433

如何在Linux上搭建Terraria 游戏服务器?

Terraria是一款二维沙盒游戏,类似于Minecraft(我的世界),允许玩家在开放的世界中探索,构建和战斗。2015年,Terraria开发者宣布支持Li...

663
来自专栏mukekeheart的iOS之旅

Linux操作系统学习笔记

关于Linux详细介绍可以参见:http://blog.csdn.net/hguisu/article/details/6122513 关于Linux的常用命令...

2517
来自专栏HTML5学堂

原来“神笔马良”的那根“笔”也可以写代码

HTML5学堂:在大家都羡慕“神笔马良”拥有那支无所不能的笔时,在前端开发中,也出现了一支很神奇的“笔”——CodePen,顾名思义,code+pen,即是代码...

3315
来自专栏从流域到海域

在CentOS 7上安装Magento

在这篇教程中,您将学习如何在CentOS 7上安装Magent。Magento Community Edition(CE,即社区版)是一个免费的开源电子商务平台...

1666
来自专栏xingoo, 一个梦想做发明家的程序员

【手把手教你Maven】构建过程

Maven是一款进行 依赖管理、项目构建、信息管理 为一体的工具。 它不像Make具有复杂的命令、也不像Ant需要手动编写大量的重复代码就能进行项目的构建;...

1895

扫描关注云+社区