温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
1.文档编写目的
继上一章如何在Redhat中配置R环境后,我们知道对于多数企业来说是没有外网环境的,在离线环境下如何安装R的包,能否搭建R的私有源对R的包进行管理。
本文档主要讲述如何在Redhat中安装R的包及搭建R的私有源。
1.Package的安装
2.HTTP服务搭建
3.配置R的私有源
1.操作系统:RedHat7.2
2.采用sudo权限的ec2-user用户操作
3.R版本3.4.2
1.Linux已安装Apache2服务并正常运行
2.R已安装完成并正常使用
2.Package的安装
R的Package安装主要分为在线安装和离线安装两种方式,如下:
1.在线安装
在R的控制台输入install.packages(“vortexRdata”),操作如下
[ec2-user@ip-172-31-21-45 ~]$ R ... > install.packages("vortexRdata") Installing package into ‘/home/ec2-user/R/x86_64-pc-linux-gnu-library/3.4’ (as ‘lib’ is unspecified) trying URL 'https://mirror.las.iastate.edu/CRAN/src/contrib/vortexRdata_1.0.3.tar.gz' Content type 'application/x-gzip' length 1049418 bytes (1.0 MB) ================================================== downloaded 1.0 MB * installing *source* package ‘vortexRdata’ ... ** package ‘vortexRdata’ successfully unpacked and MD5 sums checked … * DONE (vortexRdata) The downloaded source packages are in ‘/tmp/RtmpZC62NA/downloaded_packages’ >
2.离线安装
在Linux下通过命令行的方式安装离线包
首先下载需要安装的Package包
[ec2-user@ip-172-31-26-102 bin]$ sudo wget https://mirror.las.iastate.edu/CRAN/src/contrib/vortexRdata_1.0.3.tar.gz
执行R的命令进行离线安装
[ec2-user@ip-172-31-26-102 bin]$ sudo sh R CMD INSTALL vortexRdata_1.0.3.tar.gz * installing to library ‘/usr/local/R-3.4.2/lib64/R/library’ * installing *source* package ‘vortexRdata’ ... ** package ‘vortexRdata’ successfully unpacked and MD5 sums checked ... * DONE (vortexRdata) [ec2-user@ip-172-31-26-102 bin]$
通过上述两种安装方式可以发现,在线安装方式使用的是外网地址,离线安装方式可以解决没有外网的情况,但是如果Package有多个依赖需要安装的时候,则需要先安装好依赖包然后再安装需要的包。(一个个依赖包安装累啊,有没有类似在线安装包的方式自动安装依赖?有,搭建R的私有源)
3.搭建R私有源
1.在Apache2的部署目录创建目录
[ec2-user@ip-172-31-22-86 html]$ sudo mkdir -p /var/www/html/src/contrib
2.将官网公有源的PACKAGES文件下载至/var/www/html/src/contrib目录
[ec2-user@ip-172-31-22-86 html]$ cd /var/www/html/src/contrib/ [ec2-user@ip-172-31-22-86 contrib]$ pwd /var/www/html/src/contrib [ec2-user@ip-172-31-22-86 contrib]$ sudo wget https://cran.rstudio.com/src/contrib/PACKAGES … Saving to: ‘PACKAGES.1’ 100%[=====================================================================================>] 1,790,180 --.-K/s in 0.04s 2017-10-08 04:13:11 (46.5 MB/s) - ‘PACKAGES.1’ saved [1790180/1790180] [ec2-user@ip-172-31-22-86 contrib]$
3.将官网上的依赖包下载至/var/www/html/src/contrib目录与PACKAGES同目录
[ec2-user@ip-172-31-22-86 contrib]$ pwd /var/www/html/src/contrib [ec2-user@ip-172-31-22-86 contrib]$ sudo wget https://mirror.las.iastate.edu/CRAN/src/contrib/vortexRdata_1.0.3.tar.gz
确保PACKAGES文件中有该包的描述信息,如下:
Package: vortexRdata Version: 1.0.3 Depends: R (>= 3.1.0) License: GPL-3 NeedsCompilation: no
到此R的私有源搭建完成。搭建需要注意,PACKAGES文件中记录了所有包的描述信息,且每个包只有一个版本。(如果是自己制作的R包,同理在PACKAGES末尾添加包的描述信息也是可行的,未做验证有兴趣的朋友可以验证下告诉Fayson)。
4.配置R使用私有源
1.在$R_HOME/ lib64/R/etc目录下增加配置文件Rprofile.site
在Rprofile.site文件中增加如下内容:
[root@ip-172-31-21-45 etc]# vim Rprofile.site # Site R configuration. local({ r <- getOption("repos") r["CRAN"] <- "http://ip-172-31-22-86.ap-southeast-1.compute.internal/" options(repos = r) })
上图标注部分则是将R的源地址修改为本地地址,当然这个配置文件不止这一点用处,还可以通过此文件自定义R的启动环境。(如:设置R启动时加载的包、设置编辑器、制表符宽度等)
5.测试R私有源
1.进入R控制台,执行包安装命令
[ec2-user@ip-172-31-21-45 etc]$ R R version 3.4.2 (2017-09-28) -- "Short Summer" ... > install.packages("vortexRdata") Installing package into ‘/home/ec2-user/R/x86_64-pc-linux-gnu-library/3.4’ (as ‘lib’ is unspecified) trying URL 'http://ip-172-31-22-86.ap-southeast-1.compute.internal/src/contrib/vortexRdata_1.0.3.tar.gz' Content type 'application/x-gzip' length 1049418 bytes (1.0 MB) ================================================== downloaded 1.0 MB * installing *source* package ‘vortexRdata’ ... ** package ‘vortexRdata’ successfully unpacked and MD5 sums checked ... * DONE (vortexRdata) The downloaded source packages are in ‘/tmp/RtmpMH8iOW/downloaded_packages’ >
可以看到在安装包的时候是通过我们自己搭建的源下载。
醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花! 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操
本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson
原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。
原始发表时间:2017-10-11
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句