7.1 使用 rpm 命令 -安装 -查看 -卸载 -rpm 软件包 7.2 yum 管理软件包
软件包的类型
rpm 二进制包 ------ 》 已经使用 GCC 编译后的
tar 源码包 ----- 》需要编译
RPM 概述: RPM 是 RPM Package Manager (RPM 软件包管理器)的缩写,这一文件格式
名称 虽然打上了 RedHat 的标志,但是其原始设计理念是开放式的,现在包括 OpenLinux 、SUSE 以及 TurboLinux 等 Linux 的分发版本都有采用,可以算是公认的行业标准了。
zsh -5.0.2 -28.el7.x86_ 64.rpm
zsh - 5. 0. 2- 28. el7. x86_64.rpm
软件名 主版本号 次版本号 修订 release( 第几次发布版本 ) 操作系统版本 软件包是 64 位包
#修订指是的第几次修改 bug 。 发布指的是:第几次发布。 发布时,可能只是对软件安装的默认参数, 做了修改,而没有其它改动。
RPM 工具使用分为安装、查询、验证、更新、删除等操作
命令格式: rpm [ 参数 ] 软件包
参数:-i 是 install 的意思, 安装软件包
-v 显示附加信息,提供更多详细信息
-V 校验,对已经安装的软件进行校验
-h --hash 安装时输出 #### 标记
本地安装
[root@ lancy12 ~]# rpm -ivh lynx -2.8.8 -0.3.dev15.el7.x 86_ 64.rpm
[root@ lancy12 ~]# which lynx
/usr/bin/lynx
当一个 rpm 包安装到系统上之后 ,安装信息通常会保存在本地 的 /var/lib/rpm/ 目录下。
用法: rpm -q(query ) 常与下面参数组合使用
-a(all ) 查询所有已安装的软件包
-f(file )系统文件名(查询系统文件所属哪个软件包),反向查询
-i 显示已经安装的 rpm 软件包信息,后面直接跟包名
-l(list ) 查询软件包中文件安装的位置
-p 查询未安装软件包的相关信息,后面要跟软件的命名
-R 查询软件包的依赖性
例:[root@ lancy12 mnt]# rpm -q lynx --- >查询指定的包是否安装
[root@ lancy12 mnt]# rpm -qa --- >查询所有已安装包
[root@ lancy12 mnt]# rpm -qa | grep vim --- >查询所有已安装包中带 vim 关键字的包
[root@ lancy12 ~]# which find # 查看 find 命令的路径
/usr/bin/find
root@ lancy12 ~]# rpm -qf /usr/bin/find # 查询文件或命令属于哪个 安装包
查询已经安装的 rpm 包的详细信息或作用 rpm -qi rpm 包名
[root@ lancy12 ~]# rpm -qi lrzsz
针对没有安装的 RPM 包,要加参数: -p
[root@ lancy12 ~]# rpm -qpi php -mysql -5.4.16 -42.el7.x86_ 64.rpm
卸载用法: rpm -e(erase ) 软件包名称
[root@ lancy12 ~]# rpm -qa lynx
lynx -2.8.8 -0.3.dev15.el7.x86_ 64
[root@ lancy12 ~]# rpm -e lynx
参数: --nodeps 忽略依赖,建议在卸载时不要用 rpm 去卸载有依赖关系的包,应该用 yum 方式。
[root@ lancy12 ~]# rpm -e --nodeps lrzsz
升级: rpm -U(undate ) 软件包名称
[root@ lancy12 ~]# rpm -Uvh lrzsz -0.12.20 -36.el7.x86_ 64.rpm
#因为升级时会有一些依赖包要解决。 所以一般我们使用 yum update 包来升级。
yum (全称为 Yellow dog Updater, Modified )是一个前端软件包管理器。基于 RPM 包管理,能 够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体 包,无须繁琐地一次次下载、安装。 yum 提供了查找、安装、软件包组、删除某一个、一组甚至全部软件 包的命令,而且命令简洁而又好记。
YUM :解决依赖关系问题,自动下载软件包,它是基于 C/S 架构
C=client S(ser ver)=ftp \http \file
1、挂载镜像:
先确定虚拟机光驱中有加载系统镜像
[root@ lancy12 Packages]# mount /dev/cdrom /mnt/
[root@ lancy12 Packages]# ls /mnt/
2、配置 yum 源文件:
[root@ lancy12 ~]# rm -rf /etc/yum.repos.d/* # 删除原有
[root@ lancy12 ~]# vim /etc/yum.repos.d/centos7.repo # 必须以 .repo 结尾,插入以下内容 :
[centos7]
name=CentOS7
baseurl=file:///mnt
enable=1
gpgcheck=0
注:[centos7] #yum 源名称,在本服务器上唯一的,用来区分不同的 yum 源
name= CentOS7 #对 yum 源描述信息
baseurl=file:///mnt #yum 源的路径 ,提供方式包括 FTP(ftp://……) 、HTTP(http://……) 、本地
(file:///…… 光盘挂载目录所在的位置)
enabled=1 # 为 1,表示启用 yum 源; 0 为禁用
gpgcheck=0 # 为 1,使用公钥检验 rpm 包的正确性; 0 为不校验
yum 常用操作:
[root@ lancy12 ~]# yum install -y httpd # 安装软件包, -y 直接安装
[root@ lancy12 ~]# yum -y update # 升级软件包,改变软件设置和系统设置 ,系统版本内核都升级。
[root@ lancy12 ~]# yum -y upgrade # 升级软件包,不改变软件设置和系统设置,系统版本升级,内核不改变。
[root@ lancy12 ~]# yum -y update # 不加任何包,表示整个系统进行升级
[root@ lancy12 ~]# yum info httpd # 查询 rpm 包作用
[root@ lancy12 ~]# yum provides /usr/bin/find # 查看命令是哪个软件包安装的 [root@ lancy12 ~]# yum -y remove 包名 #卸载包
[root@ lancy12 ~]# yum search [keyword ] #按关键字搜索软件包
注意的几个小问题:
1、确定光 盘是否连接,光盘是否挂载
2、配置文件中格式是否正确,字母,符号有没有少写 ,挂载点和配置文件中设置的是否一致
3、网络源需要联网,操作和 RPM 类似,只是会自动安装依赖项。