Linux RPM 和 YUM
1.RPM 包管理
1.1 基本介绍
一种用于互联网下载包的打包及安装工具, 它包含在某些 Linux 分发版中。 它生成具有.RPM扩展名的文件。 RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写, 类似 windows的 setup.exe, 这一文件格式名称虽然打上了 RedHat 的标志, 但理念是通用的。
Linux 的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。
1.2 rpm 包简单查询指令:
1.查询已安装的 rpm 列表 :
- -q:query
- -a:all
rpm –qa | grep xx
2.案例:请查询看一下, 当前的 Linux 有没有安装 firefox .
1.3 rpm 包名的基本格式
一个 rpm 包名:firefox-45.0.1-1.el6.centos.x86_64.rpm
- 1)名称:firefox
- 2)版本号: 45.0.1-1
- 3)适用操作系统: el6.centos.x86_64
- 表示 centos6.x 的 64 位系统
- 如果是 i686、 i386 表示 32 位系统, noarch 表示通用。
1.4 rpm 包的其它查询指令
1.查询所安装的所有 rpm 软件包:
rpm -qa
rpm -qa | more [分页显示]
rpm -qa | grep X [rpm -qa | grep firefox ]
2.查询软件包是否安装
rpm -q 软件包名
rpm -q firefox
3.查询软件包信息
rpm -qi 软件包名 :
rpm -qi firefox
4.查询软件包中的文件
rpm -ql 软件包名
rpm -ql firefox
5.查询文件所属的软件包
rpm -qf 文件全路径名
rpm -qf /etc/passwd
rpm -qf /root/install.log
1.5 卸载 rpm 包
1.基本语法
rpm -e RPM包的名称
选项说明
选项 | 功能 |
---|---|
-e | 卸载软件包 |
–nodeps | 卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。 |
2.应用案例
1)删除 firefox 软件包
2)细节问题
- a)如果其它软件包依赖于您要卸载的软件包, 卸载时则会产生错误信息。
bash> rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1
- b)如果我们就是要删除 foo 这个 rpm 包,可以增加参数 --nodeps ,就可以强制删除, 但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
bash> rpm -e --nodeps foo
带上 --nodeps 就是强制删除。
1.6 安装 rpm 包:
1.基本语法
rpm -ivh RPM包全路径名称
2.参数说明
选项 | 功能 |
---|---|
-i | -i=install,安装 |
-v | -v=verbose,显示详细信息 |
-h | -h=hash,进度条 |
–nodeps | –nodeps,不检测依赖进度 |
3.应用实例:
安装 firefox 浏览器步骤:
- 1)先找到 firefox 的安装 rpm 包
- 需要在VM的虚拟机设置中,挂载上我们安装centos的 iso 文件(注意勾选“已连接”)
- 然后到iso文件下的 Packages 目录下,去找firefox的安装 rpm 包
- 2)将rpm安装包复制到 /opt/ 目录
- /opt/ :给主机额外安装软件所摆放的目录
-
cp firefox-45.0.1-1.el6.centos.x86_64.rpm /opt/
2.YUM包管理
2.1 基本介绍:
Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包(例如安装A软件还需安装B软件)。 使用 yum 的前提是可以联网。
1.语法:
yum [选项] [参数]
2.选项说明
选项 | 功能 |
---|---|
-y | 对所有提问都回答“yes” |
3.参数说明
参数 | 功能 |
---|---|
install | 安装rpm软件包 |
update | 更新rpm软件包 |
check-update | 检查是否有可用的更新rpm软件包 |
remove | 删除指定的rpm软件包 |
list | 显示软件包信息 |
clean | 清理yum过期的缓存 |
deplist | 显示yum软件包的所有依赖关系 |
2.2 yum 的基本指令
1.查询 yum 服务器是否有需要安装的软件
yum list | grep xx 软件列表
2.下载安装指定的 yum 包
yum install xxx
3.yum 应用实例
案例: 请使用 yum 的方式来安装 vim
- 1)先查看一下 vim rpm 在 yum 服务器有没有
- 2)安装:会安装最新版本的软件
yum install vim
2.3 修改网络YUM源
默认的系统YUM源,需要连接国外apache网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站,比如网易163:
- (1)前提条件linux系统必须可以联网
- (2)在Linux环境中访问该网络地址:http://mirrors.163.com/.help/centos.html,在使用说明中点击CentOS6->再点击保存,
1.在打开的终端中输入如下命令,就可以找到文件的保存位置。
[root@hadoop101 下载]$ pwd
/home/atguigu/下载
2.替换本地yum文件
(1)把下载的文件移动到/etc/yum.repos.d/目录
[root@hadoop101 下载]# mv CentOS6-Base-163.repo /etc/yum.repos.d/
(2)进入到/etc/yum.repos.d/目录
[root@hadoop101 yum.repos.d]# pwd
/etc/yum.repos.d
(3)用CentOS6-Base-163.repo替换CentOS-Base.repo
[root@hadoop101 yum.repos.d]# mv CentOS6-Base-163.repo CentOS-Base.repo
3.安装命令
[root@hadoop101 yum.repos.d]#yum clean all
[root@hadoop101 yum.repos.d]#yum makecache
yum makecache就是把服务器的包信息下载到本地电脑缓存起来
4.测试
[root@hadoop101 yum.repos.d]#yum list | grep firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64