linux系统中rpm和yum讲解

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

RPM包之rpm命令

RPM包与源码包的区别

1、软件包分类

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

2、源码包

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

3、RPM包

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

RPM包命名和依赖性

1、RPM包的命名规则

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 包全名

#rpm包的安装格式

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

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

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

#RPM包的升级格式

rpm -Uvh 包全名
选项:
    -U (upgrade)    升级

过程和安装完全一样。

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

#RPM包的卸载格式

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

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

5、RPM包的查询:rpm -q

查询是否安装:
[root@localhost ~]# rpm -q 包名
#查询包是否安装
选项:
    -q    查询(query)

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

RPM包之yum命令

yum命令

1、常用yum命令

查询

[root@localhost ~]# yum list
#在远程服务器上查询所有可用的软件包列表

[root@localhost ~]# yum search 关键字
#搜索远程服务器上所有和关键字相关的包

安装

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

升级

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

卸载

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

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

2、YUM软件包组命令

[root@localhost ~]# yum grouplist
#列出所有可用的软件组列表

[root@localhost ~]# yum groupinstall 软件组名
#安装指定软件组,组名可以由grouplist查询出来

[root@localhost ~]# yum groupremove 软件组名

#卸载指定软件组

光盘yum源

1、光盘yum源搭建步骤

1.挂载光盘

#新建一个挂载点
[root@localhost ~]# mkdir /mnt/cdrom

#把设备文件名挂载到挂载点上
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom

2.让网络yum失效

#进入yum源配置文件
[root@localhost ~]# cd /etc/yum.repos.d/

#把网络yum源备份,然后删除
[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

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

3.修改光盘yum源

[root@localhost yum.repos.d]# vim CentOS-Media.repo 

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom

# file:///media/cdrom/
# file:///media/cdrecorder/
#注释这两个不存在的地址
gpgcheck=1
enabled=1
#把enabled=0改为1,让这个yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

相关文章