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

相关文章

来自专栏布尔

用c#添加Networkservice对文件夹的写权限

      一般的bs程序都会涉及到上传文件,这就要求network service用户有对文件夹的写权限,通常情况下我们都是用打包时调用打包程序的脚本去设置权...

3306
来自专栏乐沙弥的世界

Linux 文件目录特殊权限设定(SUID,SGID,SBIT)

Linux文件及目录的权限设定,除了我们孰知的读写执行(rwx)之外,还有一些特殊的权限设定用来满足特定的目录。这些特殊权限的设定主要是SUID,SGID以及S...

872
来自专栏令仔很忙

手把手教你搭建和配置Jenkins环境

  搭建Jenkins,首先得安装Jenkins,安装的问题就不说了,一般第一次安装完成后,服务会直接在浏览器中运行,网址:http://localhost:...

2601
来自专栏程序员叨叨叨

听说你使用Android Studio遇到了一些小困惑

这个问题通常出现在Android Studio更新失败的时候,原因是download http://services.gradle.org/distributi...

884
来自专栏liulun

用Nim语言开发windows GUI图形界面程序

前言 本文得到了“樂師”的大力支持, 我们一起调试程序到深夜,要是没有他的帮忙, 我不知道要多久才能迈过这道坎, 另外“归心”还有其他人也提供了帮助, 他们都来...

3235
来自专栏惨绿少年

KICKSTART无人值守安装

1.1 环境说明 [root@test ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [roo...

2520
来自专栏技术之路

翻译qmake文档(一) qmake指南和概述

英文文档连接: http://qt-project.org/doc/qt-5/qmake-manual.html http://qt-project.org/d...

2427
来自专栏有趣的Python

2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎直至部署上线(二)开发环境搭建

最终项目上线演示地址: http://search.mtianyan.cn 第二节:开始做项目搭环境之前,点上面链接看看我们能做一个什么。 这节我们开始搭建环...

4817
来自专栏小狼的世界

在Centos 5.2下编译安装LAMP

首先使用Virtualbox安装一台CentOS 5.2的虚拟机,网络连接采用 Host-only Adapter,这样主客机之间可以互相访问,但是客机不能够上...

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

Beats数据采集---Packetbeat\Filebeat\Topbeat\WinlogBeat使用指南

Beats是elastic公司的一款轻量级数据采集产品,它包含了几个子产品: packetbeat(用于监控网络流量)、 filebeat(用于监听日志数...

49410

扫码关注云+社区