linux系统中rpm和yum讲解

x33g5p2x  于2021-11-22 转载在 Linux  
字(2.3k)|赞(0)|评价(0)|浏览(457)

RPM包之rpm命令

RPM包与源码包的区别

1、软件包分类

  • 源码包:C源代码包
  • rpm包:编译之后的二进制包

2、源码包

  • 优点:开源;可以自由选择所需功能;可看源代码;卸载方便(直接删除安装位置);
  • 缺点:安装步骤过多;编译时间过长;

3、RPM包

  • 优点:使用简单,只需要几个命令就可以实现包的安装、升级、查询、卸载;安装速度快;
  • 缺点:不能看源代码;功能选择不如源代码灵活;依赖性;

RPM包命名和依赖性

1、RPM包的命名规则

  1. httpd-2.4.6-67.el7.centos.x86_64.rpm

2、RPM包的依赖性

  • 树形依赖性:a -> b -> c,即a依赖b,b依赖c
  • 环形依赖:a -> b -> c -> a
  • 模块依赖:模块依赖查询网站:www.rpmfind.com

RPM包的安装、升级、卸载和查询

1、包全名和包名

2、RPM安装:rpm -ivh 包全名

  1. #rpm包的安装格式
  2. rpm -ivh 包全名
  3. 选项:
  4. -i(install) 安装
  5. -v(verbose) 显示详细信息
  6. -h(hash) 显示进度
  7. --nodeps 不检测依赖性
举例:
  1. [root@localhost Packages]# rpm -ivh httpd-2.4.6-67.el7.centos.x86_64.rpm

可能会有很多依赖性问题出现,根据一个个依赖性继续rpm安装就可以了

3、RPM包升级:rpm -Uvh 包全名

  1. #RPM包的升级格式
  2. rpm -Uvh 包全名
  3. 选项:
  4. -U (upgrade) 升级

过程和安装完全一样。

4、RPM包的卸载:rpm -e 包名

  1. #RPM包的卸载格式
  2. rpm -e 包名
  3. 选项:
  4. -e (erase) 卸载
  5. --nodeps 不检测依赖性
举例:
  1. [root@localhost Packages]# rpm -e httpd
  2. 错误:依赖检测失败:
  3. httpd = 2.4.6-67.el7.centos (已安裝) httpd-devel-2.4.6-67.el7.centos.x86_64 需要
  4. [root@localhost Packages]# rpm -e httpd-devel
  5. [root@localhost Packages]# rpm -e httpd

注:卸载要按照安装依赖性的反向卸载

5、RPM包的查询:rpm -q

查询是否安装:
  1. [root@localhost ~]# rpm -q 包名
  2. #查询包是否安装
  3. 选项:
  4. -q 查询(query)
  5. [root@localhost ~]# rpm -qa
  6. #查询所有已经安装的RPM包
  7. 选项:
  8. -a 所有
查询软件包的详细信息:
  1. [root@localhost ~]# rpm -qi 包名
  2. #查询软件包的详细信息
  3. 选项:
  4. -i 查询软件信息(information
查询包中文件安装位置
  1. [root@localhost ~]# rpm -ql 包名
  2. #查询包中文件安装位置
  3. 选项:
  4. -l 列表(list
查询系统文件属于哪个RPM包
  1. [root@localhost ~]# rpm -qf 系统文件名
  2. 选项:
  3. -f 查询系统文件属于哪个RPM包(file
查询软件包的依赖性
  1. [root@localhost ~]# rpm -qR 包名
  2. 选项:
  3. -R 查询软件包的依赖性(requires

RPM包之yum命令

yum命令

1、常用yum命令

查询

  1. [root@localhost ~]# yum list
  2. #在远程服务器上查询所有可用的软件包列表
  3. [root@localhost ~]# yum search 关键字
  4. #搜索远程服务器上所有和关键字相关的包

安装

  1. [root@localhost ~]# yum -y install 包名
  2. #选项:
  3. install 安装
  4. -y 自动回答yes

升级

  1. [root@localhost ~]# yum -y update 包名
  2. #选项:
  3. update 升级
  4. -y 自动回答yes

卸载

  1. [root@localhost ~]# yum -y remove 包名
  2. #选项:
  3. remove 卸载
  4. -y 自动回答yes

注:卸载命令不是很安全,会把它依赖的所有的包都卸载,容易把系统搞崩溃

2、YUM软件包组命令

  1. [root@localhost ~]# yum grouplist
  2. #列出所有可用的软件组列表
  3. [root@localhost ~]# yum groupinstall 软件组名
  4. #安装指定软件组,组名可以由grouplist查询出来
  5. [root@localhost ~]# yum groupremove 软件组名
  6. #卸载指定软件组

光盘yum源

1、光盘yum源搭建步骤

1.挂载光盘

  1. #新建一个挂载点
  2. [root@localhost ~]# mkdir /mnt/cdrom
  3. #把设备文件名挂载到挂载点上
  4. [root@localhost ~]# mount /dev/cdrom /mnt/cdrom

2.让网络yum失效

  1. #进入yum源配置文件
  2. [root@localhost ~]# cd /etc/yum.repos.d/
  3. #把网络yum源备份,然后删除
  4. [root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

注:网络yum源失效后,系统默认使用光盘yum源

3.修改光盘yum源

  1. [root@localhost yum.repos.d]# vim CentOS-Media.repo
  2. [c7-media]
  3. name=CentOS-$releasever - Media
  4. baseurl=file:///mnt/cdrom
  5. # file:///media/cdrom/
  6. # file:///media/cdrecorder/
  7. #注释这两个不存在的地址
  8. gpgcheck=1
  9. enabled=1
  10. #把enabled=0改为1,让这个yum源配置文件生效
  11. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

相关文章