【Linux软件安装管理系列】— — 传送门:
— —《Linux软件安装管理之——源码安装详解》
— —《Linux软件安装管理之——RPM与YUM详解》
— —《Linux软件安装管理之——dpkg与apt-*详解》
一、序言
上一篇文章《Linux软件安装管理之——源码安装详解》详细介绍了Linux平台下的源码包安装原理,虽然使用源代码进行软件编译可以具有定制化的设置,但对于Linux distribution的发行商来说,则有软件管理不晚的问题,毕竟不是每个人都会进行源代码编译的。这个问题将会严重的影响linux平台上软件的发行与推广。
为了解决上述的问题,厂商先在他们的系统上面编译好了我们用户所需要的软件,然后将这个编译好并可执行的软件直接发布给用户安装。不同的 Linux 发行版使用不同的打包系统,一般而言,大多数发行版分别属于两大包管理技术阵营: Debian 的”.deb”,和 Red Hat的”.rpm”。也有一些重要的例外,比方说 Gentoo, Slackware,和 Foresight,但大多数会使用这两个基本系统中的一个。
这里将要介绍的是Red Hat系列发行版的RPM与YUM的详细使用方法,如需要了解Debian系列发行版的包管理系统可查看我的另一篇文章:《Linux软件安装管理之——dpkg与apt-*详解》。
本文目录结构如下:
二、RPM
1、简介:
RPM命名“RedHat Package Manager”,简称则为RPM。这个机制最早由Red Hat这家公司开发出来的,后来实在很好用,因此很多distributons就使用这个机制来作为软件安装的管理方式,包括Fedora,CentOS,SuSE等知名的开发商都是用它。
RPM最大的特点就是需要安装的软件已经编译过,并已经打包成RPM机制的安装包,通过里头默认的数据库记录这个软件安装时需要的依赖软件。当安装在你的Linux主机时,RPM会先依照软件里头的数据查询Linux主机的依赖属性软件是否满足,若满足则予以安装,若不满足则不予安装。
2、RPM优缺点
优点:
1)软件已经编译打包,所以传输和安装方便,让用户免除编译
2)在安装之前,会先检查系统的磁盘、操作系统版本等,避免错误安装
3)软件的信息都已经记录在linux主机的数据库上,方便查询、升级和卸载
缺点:
1)软件包安装的环境必须与打包时的环境一致或相当
2)必须安装了软件的依赖软件
3)卸载时,最底层的软件不能先移除,否则可能造成整个系统不能用
为了解决RPM属性依赖的问题,下面也将会为你详细介绍YUM的使用方法。
3、rpm包命名的含义
RPM包的命名格式:
软件名称-版本号-发布次数.适合linux系统.硬件平台.rpm
例如:ftp-0.17-74.fc27.i686.rpm
注意:
包全名:rpm操作没有安装的软件包,软件包使用的是包全名
包 名:rpm操作的已经安装的软件,软件包使用的是包名
例如上面的例子,包全名为ftp-0.17-74.fc27.i686.rpm,包名为ftp。
4、RPM安装软件的默认路径
/etc 配置文件放置目录
/usr/bin 一些可执行文件
/usr/lib 一些程序使用的动态链接库
/usr/share/doc 一些基本的软件使用手册与说明文件
/usr/share/man 一些man page档案
5、RPM安装原理图
三、RPM使用手册
1、软件安装(install)
如你需要安装一个emac编辑器,首先要到网上下载一个emac的rpm包,如emacs-25.3-1.fc28.aarch64.rpm。最简单的安装命令如下:
rpm -i emacs-25.3-1.fc28.aarch64.rpm
不过,这样的参数其实无法显示安装的进度,所以通常我们执行的命令是这样:
rpm -ivh package-name
参数说明(后面括号内为英文说明):
-i:install的意思,安装
-v:查看更详细的安装信息画面(provide more detailed output)
-h:以安装信息栏显示安装进度