CentOS添加新仓库方法及EC2实例安装R包readr脚本求助
在CentOS EC2实例的R环境中安装readr包的解决方案
嘿,我来帮你把那个Ubuntu的脚本转换成CentOS能用的版本,顺便给你讲讲CentOS添加软件仓库的门道~
一、CentOS添加软件仓库的通用方法
CentOS用的是yum(7及更早版本)或者dnf(8及以上)作为包管理器,添加仓库主要有两种常用方式:
- 直接安装仓库对应的RPM包(比如EPEL、CRAN的R仓库,这种最省心)
- 手动在
/etc/yum.repos.d/目录下创建.repo格式的配置文件
对于R相关的包,官方推荐用CRAN提供的镜像仓库,下面是针对readr安装的具体步骤。
二、适配CentOS的readr安装步骤
1. 先装EPEL仓库(必装!很多R依赖包都在这)
EPEL是官方维护的额外软件包仓库,里面有不少base仓库没有的依赖,先装上:
# 如果你用的是CentOS 7 sudo yum install epel-release -y # 要是CentOS 8/9的话 sudo dnf install epel-release -y
2. 添加CRAN的R专属仓库
CRAN给RHEL/CentOS系的系统做了专属仓库,我们用包管理器的配置工具来添加:
# 先装工具包,方便管理仓库 # CentOS 7 sudo yum install yum-utils -y sudo yum-config-manager --add-repo https://cloud.r-project.org/bin/linux/centos/R-release.repo # CentOS 8/9 sudo dnf install dnf-utils -y sudo dnf config-manager --add-repo https://cloud.r-project.org/bin/linux/centos/R-release.repo
3. 安装R核心(如果还没装的话)
要是你的EC2实例还没装R,先执行这一步:
# CentOS 7 sudo yum install R -y # CentOS 8/9 sudo dnf install R -y
4. 安装readr包
现在就可以直接通过包管理器装预编译好的r-cran-readr了,比在R里源码编译快很多:
# CentOS 7 sudo yum install r-cran-readr -y # CentOS 8/9 sudo dnf install r-cran-readr -y
当然,如果你习惯从R控制台安装(比如需要自定义编译参数),启动R后执行就行:
install.packages("readr")
三、和Ubuntu脚本的对应说明
你看到的Ubuntu脚本里的ppa:marutter/rrutter和ppa:marutter/c2d4u是Ubuntu特有的第三方R包仓库,在CentOS里对应的就是我们上面加的CRAN官方仓库+EPEL仓库,这俩仓库基本涵盖了所有常用R包,包括readr。
另外Ubuntu的第2步apt-get install software-properties-common,在CentOS里对应的就是安装yum-utils/dnf-utils,这个工具包提供了管理仓库的便捷命令,帮我们快速添加新仓库。
内容的提问来源于stack exchange,提问作者ML_Enthousiast
相关产品推荐
相关产品推荐

