年前,发现了Microsoft R Open更新到了4.0,就把服务器上的R版本更新了。

原来的版本:3.5.1


R version 3.5.1 (2018-07-02) -- "Feather Spray"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)R是自由软件,不带任何担保。
在某些条件下你可以将其自由散布。
用'license()'或'licence()'来看散布的详细条件。R是个合作计划,有许多人为之做出了贡献.
用'contributors()'来看合作者的详细情况
用'citation()'会告诉你如何在出版物中正确地引用R或R程序包。用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或
用'help.start()'通过HTML浏览器来看帮助文件。
用'q()'退出R.Microsoft R Open 3.5.1
The enhanced R distribution from Microsoft
Microsoft packages Copyright (C) 2018 Microsoft CorporationUsing the Intel MKL for parallel mathematical computing (using 64 cores).Default CRAN mirror snapshot taken on 2018-08-01.
See: https://mran.microsoft.com/.[原来保存的工作空间已还原]

现在root下已经安装过了MRO(Microsoft R Open)4.0.2,但是普通用户怎么安装呢?

上网搜索了一下,发现可以再非root用户下安装,有两种途径:

1,conda安装

conda install -c r r-microsoftr

但是版本还是3.5,忧伤,不是最新版的

2,解析install.sh的代码,

代码来源:https://www.jianshu.com/p/5958fa98d42f

# 1.下载并解压官方安装包
wget https://mran.blob.core.windows.net/install/mro/3.5.1/microsoft-r-open-3.5.1.tar.gz
tar -xf microsoft-r-open-3.5.1.tar.gz
cd microsoft-r-open/# 2. 查看 install.sh 内容
less install.sh
# 分析发现脚本判断了当前操作系统然后依次安装(以 YUM 为例)
# ${SCRIPT_DIR}/rpm/microsoft-r-open-mro*.rpm
# ${SCRIPT_DIR}/rpm/microsoft-r-open-foreachiterators*.rpm
# ${SCRIPT_DIR}/rpm/microsoft-r-open-mkl*.rpm# 3. 分别查看三个 rpm 包的安装脚本,重点看 postinstall scriptlet 部分的内容
rpm -qp --scripts rpm/microsoft-r-open-mro*.rpm
rpm -qp --scripts rpm/microsoft-r-open-foreachiterators*.rpm
rpm -qp --scripts rpm/microsoft-r-open-mkl*.rpm
# 分析发现 mro* 包是在往 /usr/bin/ 下面写链接文件
# foreachiterators* 没有做任何事情
# mkl* 备份了原有的 R/lib/*.so 文件,并拷贝了一套新的动态链接库文件覆盖到了安装路径中# 4. 手工解压 rpm 包
rpm2cpio rpm/microsoft-r-open-mro*.rpm |cpio -idmv
rpm2cpio rpm/microsoft-r-open-foreachiterators*.rpm |cpio -idmv
rpm2cpio rpm/microsoft-r-open-mkl*.rpm |cpio -idmv# 5. 手工执行 postinstall scriptlet
INSTALL_PREFIX="./opt/microsoft/ropen/3.5.1/" # 从前面解压的路径可以看出来
mkdir -p ${INSTALL_PREFIX}/lib64/R/backup/lib
mv ${INSTALL_PREFIX}/lib64/R/lib/*.so ${INSTALL_PREFIX}/lib64/R/backup/lib
cp ${INSTALL_PREFIX}/lib64/R/backup/lib/libR.so ${INSTALL_PREFIX}/lib64/R/lib
cp ${INSTALL_PREFIX}/stage/Linux/bin/x64/*.so ${INSTALL_PREFIX}/lib64/R/lib# 6. 拷贝解压完的目录到指定安装位置
MRO_HOME="~/mro"
cp ${INSTALL_PREFIX} ${MRO_HOME}# 7. 设置环境变量
# 注:R_HOME 会影响含 C++ 的 package 编译安装时寻找的头文件和链接库,详见 ${INSTALL_PREFIX}/lib64/R/etc/Makevars。
export R_HOME=${MRO_HOME}/lib64/R
export PATH=${MRO_HOME}/bin:${PATH}

上面应该可以成功,但是很复杂,我明明有root权限,为何不能直接用root下的R呢?

正确的方法

发现MRO安装的路径:

/opt/microsoft/ropen/4.0.2/lib64/R/bin

查看我自己的R路径:

$ which R
~/anaconda3/bin/R

把我的R路径,建立软链到MRO的路径下即可!

cd ~/bin/
ln -s /opt/microsoft/ropen/4.0.2/lib64/R/bin/R .

然后查看一下R的路径:

$ ll R
lrwxrwxrwx 1 dengfei dengfei 40 2月   8 13:17 R -> /opt/microsoft/ropen/4.0.2/lib64/R/bin/R

搞定!

测试一下:

$ RR version 4.0.2 (2020-06-22) -- "Taking Off Again"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)R是自由软件,不带任何担保。
在某些条件下你可以将其自由散布。
用'license()'或'licence()'来看散布的详细条件。R是个合作计划,有许多人为之做出了贡献.
用'contributors()'来看合作者的详细情况
用'citation()'会告诉你如何在出版物中正确地引用R或R程序包。用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或
用'help.start()'通过HTML浏览器来看帮助文件。
用'q()'退出R.Microsoft R Open 4.0.2
The enhanced R distribution from Microsoft
Microsoft packages Copyright (C) 2020 Microsoft CorporationUsing the Intel MKL for parallel mathematical computing (using 64 cores).Default CRAN mirror snapshot taken on 2020-07-16.
See: https://mran.microsoft.com/.[原来保存的工作空间已还原]

测试一下radian:

$ r
R version 4.0.2 (2020-06-22) -- "Taking Off Again"
Platform: x86_64-pc-linux-gnu (64-bit)r$>

完美!

Linux中root安装microsoft R open(MRO),普通用户如何使用?相关推荐

  1. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  2. Linux中nginx安装基础教程

    Linux中nginx安装基础教程 1.安装所需的运行环境 (1) 需要安装gcc的环境. yum install gcc-c++ (2)第三方包.   Perl库 PCRE(Perl Compati ...

  3. 在linux下 用户的密码错误,linux中root用户密码错误如何解决

    linux中root用户密码错误如何解决 发布时间:2020-04-27 10:53:03 来源:亿速云 阅读:230 作者:小新 今天小编给大家分享的是linux中root用户密码错误如何解决,相信 ...

  4. Linux中如何安装图形界面

    Linux中如何安装图形界面 前言 一.安装X Window System 二.安装图形界面软件GNOME(GNOME Desktop) 三.启动GNOME 前言 Linux下具有多种图形化界面,每种 ...

  5. Linux课程---11、Linux中软件安装和调试

    Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...

  6. linux中怎么安装ded包_快速提示:如何在Linux中安装.deb和.tar文件 - push博客

    在本快速教程中,我将解释如何使用终端命令在Linux中安装程序.本教程使用LinuxMint 18(肉桂64位),但是下面提供的命令对于其他版本的Linux是通用的,比如Ubuntu.对于那些刚接触l ...

  7. qt打包rpm时候先安装其他软件_云计算学习路线图素材课件,Linux中软件安装的方式...

    很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分 ...

  8. _云计算学习路线图素材课件,Linux中软件安装的方式

    很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分 ...

  9. KALI Linux中GURB安装失败如何处理

    KALI  Linux中GURB安装失败如何处理 # GRUB安装失败 # 无法将grub-pc软件包安装到/target/中,如果没有GRUB启动引导器,所安装的系统将无法启动. 解决办法: 点击返 ...

  10. linux中nginx安装前置条件以及安装流程,非常简单

    linux中nginx安装前置条件以及安装流程,非常简单 我的主机的centos8 安装nginx之前需要安装的依赖 //安装c编译器 yum -y install gcc gcc-c++ yum - ...

最新文章

  1. 有限元基础: Jacobian 矩阵和高斯积分
  2. python合并ts视频_python爬取视频网站m3u8视频,下载.ts后缀文件,合并成整视频
  3. 您没有足够的全新为该计算机所有用户安装,我用的是admin管理员身份可安装软件弹出你没有足够的权限为该计算机所有用户完成此安装.请以管理员的身份登...
  4. 使用Spring和JSR 303进行方法参数验证
  5. Laravel框架开发规范-修订版
  6. html div如何列对其,CSS:自适应N列布局如何解决两端对齐
  7. 【原创,提供下载】winfrom 打印表格,字符串的封装
  8. 简单的根据parentId生成树
  9. ajax提交输入内容,当输入用于提交时,AJAX表单提交
  10. Kotlin数据类型(一:数据类型)
  11. jQuery加载js脚本
  12. 程序员实用算法 源码_程序员必须知道的十大基础实用算法综述
  13. 如何在macOS中关闭优化电池充电功能?
  14. python pywinauto 自动控制微信, 关键字回复、收款、定时任务, 代替人工成为微信客服
  15. Sublime Text新增GBK编码支持
  16. Linux Mint 19 Tara Beta 版发布,基于 Ubuntu 18.04
  17. Android 百度地图经纬度精确位数,百度map定位 为什么经纬度是准确的 而在map上标注却偏离很远...
  18. 阿里云网站域名备案流程全过程(图文讲解)
  19. 获取股票历史数据(2)——数据保存/数据可视化
  20. vue中a标签的href属性的写法

热门文章

  1. 学术壁报模板_电子壁报 | 中华医学会第十四次全国妇产科学学术会议
  2. 白杨SEO:关键词定位与兴趣定位是什么?这两类推广渠道在网络营销上有什么差异?
  3. 汇编语言王爽 实验七
  4. 【mindspore】数据加载报错,提示The pointer[cnode] is null.
  5. c语言判断素数(c语言判断素数)
  6. C语言中判断素数的几种方法
  7. VC++ 源码实现通达信公式管理器
  8. Java编译运行命令
  9. 平面设计论文要如何写?
  10. 【Linux 内核】Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )