什么是 RPM
RPM 全名是‘ RedHat Package Manager ’简称则为 RPM。顾名思义,当初这个软件管理的机制是由 Red Hat 这家公司发展出来的。 RPM 是以一种数据库记录的方式来将你所需要的软件安装到你的 Linux 系统的一套管理机制。
RPM最大的特点就是将你要安装的软件先编译过, 并且打包成为 RPM 机制的安装包,通过包装好的软件里头默认的数据库记录, 记录这个软件要安装的时候必须具备的依赖属性软件,当安装在你的 Linux 主机时, RPM 会先依照软件里头的数据查询 Linux 主机的依赖属性软件是否满足, 若满足则予以安装,若不满足则不予安装。那么安装的时候就将该软件的信息整个写入 RPM 的数据库中,以便未来的查询、验证与卸载!这样一来的优点是:
1. 由于已经编译完成并且打包完毕,所以软件传输与安装上很方便 (不需要再重新编译)
2. 由于软件的信息都已经记录在 Linux主机的RPM数据库上,很方便查询、升级与卸载
RPM 默认安装的路径
路径 | 作用 |
---|---|
/var/lib/rpm | RPM 的数据库 |
/etc | RPM 软件的配置文件 |
/usr/bin | RPM 软件的可执行文件 |
/usr/lib | RPM 软件的动态函式库 |
RPM 安装 (install)
rpm -ivh package_name
选项与参数:
-i :install 的意思
-v :察看更细部的安装资讯画面
-h :以安装资讯列显示安装进度
RPM 查询 (query)
RPM 在查询的时候,其实查询的地方是在 /var/lib/rpm/ 这个目录下的数据库文件。另外, RPM 也可以查询未安装的 RPM 文件内的信息喔!
rpm -qa #列出所有的,已经安装在本机 Linux 系统上面的所有软件名称
rpm -q[licdR] 已安装的软件名称 #列出已安装软件的信息
rpm -qf 文件名 #找出该文件属于哪一个已安装的软件
rpm -qp[licdR] 未安装的某个文件名称 #找出某个RPM文件内的信息
选项与参数:
查询已安装软件的信息:
-q :仅查询,后面接的软件名称是否有安装;
-qa :列出所有的,已经安装在本机 Linux 系统上面的所有软件名称;
-qi :列出该软件的详细信息 (information),包含开发商、版本与说明等;
-ql :列出该软件所有的文件与目录的完整文件名 (list);
-qc :列出该软件的所有配置文件 (找出在 /etc/ 底下的文件名而已)
-qd :列出该软件的所有说明文件 (找出与 man 有关的文件而已)
-qR :列出与该软件有关的依赖软件和文件 (Required 的意思)
-qf :找出该文件属于哪一个已安装的软件;
查询某个 RPM 文件内含有的信息:
-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在于找出某个 RPM 文件内的信息,而非已安装的软件
信息!注意!
#例子
rpm -q logrotate #是否有安装 logrotate 这个软件
rpm -qR logrotate #找出安装logrotate需要的依赖软件及文件
rpm -qf /bin/sh #找出 /bin/sh 是属于哪个已安装的软件
rpm -qpR filename.i386.rpm #找出该文件需要的依赖软件及文件
RPM 验证
rpm -Va #列出目前系统上面所有可能被更动过的文件
rpm -V software_name #后面加的是软件名称,若该软件所含的文件被更动过,才会列出来
RPM 卸载
rpm -e software_name #删除rpm安装的软件
yum 查询
yum [option] [查询工作项目]
选项与参数:
search :搜寻某个软件名称或者是描述 (description) 的重要关键字
list :列出目前 yum 所管理的所有的软件名称与版本
例子:
yum search git #搜寻git相关的软件有哪些
yum list #列出 yum 服务器上面提供的所有软件名称
yum list pam* #找出以 pam 为开头的软件名称有哪些?而其中尚未安装的又有哪些?
yum list updates #列出目前服务器上可供本机进行升级的软件有哪些
yum 安装/更新
yum [option] [软件名]
选项与参数:
install :后面接要安装的软件!
update :后面接要升级的软件,若要整个系统都升级,就直接 update 即可
yum 卸载
yum [remove] [软件名]
添加yum容器
[base]:代表容器的名字!中刮号一定要存在,里面的名称则可以随意取。但是不能有两个相同的容器名称, 否则 yum 会不晓得该到哪里去找容器相关软件清单文件。
name:只是说明一下这个容器的意义而已,重要性不高!
mirrorlist=:列出这个容器可以使用的映射站台,如果不想使用,可以注释这行;
baseurl=:这个最重要,因为后面接的就是容器的实际网址! mirrorlist 是由 yum 程序自行去捉映射站台, baseurl 则是指定固定的一个容器网址!
enable=1:就是让这个容器启动。如果不想启动可以使用 enable=0 喔!
gpgcheck=1:还记得 RPM 的数码签章吗?这就是指定是否需要查阅 RPM 文件内的数码签章!
gpgkey=:就是数码签章的公钥档所在位置!使用默认值即可
yum的配置文件在/etc/yum.repos.d这个文件夹下面,我们添加某个软件提供的容器时,应该在此文件夹下新建一个后缀为.repo的文件
根据官方文档:http://nginx.org/en/linux_packages.html#stable ,添加nginx的yum容器
新建文件vi /etc/yum.repos.d/nginx.repo
,文件内容如下:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1
接下来使用yum install -y nginx
即可安装nginx啦!