从CentOS安装R中看yum、rpm、repo到底有什么关系


在图形界面下习惯了双击.exe(或者.dmg)安装软件,到了Linux服务端可能会有很大的不适。此前,我都是直接Google,然后不管三七二十一地直接把安装命令丢到bash里,期待顺利安装……

但今天当我要重装R语言的时候,由于以前是手工编译安装的,现在需要用yum来安装却总是出错(yum安装处理了一些依赖关系才能使得rstudio-server顺利运行)。再也不想忍受这种听天由命的感觉了,于是理解了一下yum、rpm、repo之间到底有什么关系: 

软件包管理系统

首先yum、rpm、repo这三个词都是属于软件包管理系统下的。我今天遇到的重装R语言的问题就是血与泪的教训:不到万不得不以不要自己编译安装软件,否则时间久了管理起来会一团糟,大多数软件都能通过Linux的软件包管理系统进行统一安装与管理。Linux 发行版主要有两大包管理技术阵营: Debian 的.deb,和红帽的.rpm:

包管理系统发行版 (部分列表)
Debian Style (.deb) Debian, Ubuntu, Xandros, Linspire
Red Hat Style (.rpm) Fedora, CentOS, Red Hat Enterprise Linux, OpenSUSE, Mandriva, PCLinuxOS

更直白一点说,就是Ubuntu的.deb 相当于 CentOS的.rpm 相当于 Windows的.exe 相当于 OSX的.dmg。

上层和底层软件包工具

软件包管理系统通常由两种工具类型组成:底层工具用来安装和删除软件包文件(rpm);上层工具完成元数据搜索和依赖解析(yum)。

我们用yum与rpm都可以安装软件:

相关内容