当前位置: 首页 > article >正文

Linux:RPM软件包管理以及yum软件包仓库

挂载光驱设备

在这里插入图片描述
在这里插入图片描述

RPM软件包管理

在这里插入图片描述

RPM软件包简介

在这里插入图片描述
在这里插入图片描述
区分软件名和软件包名
软件名:firefox
软件包名:firefox-52.7.0-1.el7.centos.x86_64.rpm
在这里插入图片描述

查询软件信息

在这里插入图片描述

	查询软件(参数为软件名)
]# rpm  -qa    #当前系统中所有已安装的软件包
]# rpm  -qa  |  grep  firefox      
]# rpm  -q   firefox    #查看firefox是否安装
firefox-52.7.0-1.el7.centos.x86_64
]# rpm  -q   httpd       #httpd提供web服务的软件
未安装软件包 httpd
]# rpm  -q   bash
bash-4.2.46-30.el7.x86_64


]# rpm  -qi   firefox       #查询软件信息(查询已安装)
]# rpm  -ql   firefox       #查询软件安装了哪些内容(安装清单)
]# rpm  -ql    firefox   |   less

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查询某个目录或文件是哪个RPM包带来的

•	查询某个目录或文件是哪个RPM包带来的
–	格式:rpm  -qf  [文件路径]…
–	即使目标文件被删除,也可以查询
[root@localhost ~]# which  vim   #查询命令对应的程序文件
/usr/bin/vim
[root@localhost ~]# rpm -qf  /usr/bin/vim
vim-enhanced-7.4.160-4.el7.x86_64
[root@localhost ~]# rpm -q   vim-enhanced
vim-enhanced-7.4.160-4.el7.x86_64
[root@localhost ~]# rpm -qf    /etc/passwd
[root@localhost ~]# rpm -qf   /usr/bin/firefox

在这里插入图片描述
在这里插入图片描述

which查询命令对应的程序文件位置

查询软件包(参数为软件包名)

	查询软件包(参数为软件包名)
]# rpm  -q   vsftpd     #查询vsftpd软件是否安装
未安装软件包 vsftpd 
]# ls /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

查询软件包的安装清单:  
]# rpm -qpl  /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
查询软件包信息
]# rpm -qpi /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

在这里插入图片描述
在这里插入图片描述
注:使用ql查询已安装的软件,参数是软件名;qpl的参数是软件包名,用于查询软件包的信息。

导入红帽签名信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Yum软件包管理

解决依赖关系

	解决依赖关系
–	先安装/卸载要求的包
–	如果RPM包齐全但比较多,可以用通配符 *
•	忽略依赖关系(不推荐)
–	可能会导致软件运行异常
–	辅助选项 --nodeps
常见依赖关系的报错:
[root@localhost ~]# rpm -ivh /mnt/Packages/bind-chroot-9.9.4-61.el7.x86_64.rpm 
错误:依赖检测失败:
	bind = 32:9.9.4-61.el7 被 bind-chroot-32:9.9.4-61.el7.x86_64 需要

构建Yum软件包仓库
作用:自动解决依赖关系安装软件
服务:自动解决依赖关系安装软件

yum机制概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

服务端(本机):  1.众多的软件   2.仓库数据文件(repodata) 3.FTP协议 或 http协议        
本地Yum仓库:服务端需要有光盘内容即可

客户端(本机):指定服务端位置
–	仓库配置:/etc/yum.repos.d/*.repo
–	错误的文件会影响正确的文件

服务端(光盘挂载即可)

客户端:配置yum仓库信息

在这里插入图片描述
有一个.repo文件写错,会影响其他正确的.repo文件

客户端文件配置内容:
–	[源名称] :自定义名称,具有唯一性
–	name:仓库的描述信息
–	baseurl:指定YUM服务端的位置 
–	enabled:是否启用
–	gpgcheck:是否验证红帽签名
–	gpgkey:用于RPM软件包验证的密钥文件

完整示例:
]# vim   /etc/yum.repos.d/mydvd.repo 
[test01]
name=test00000001
baseurl=file:///mnt
enabled=1
gpgcheck=1        
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7


]# yum   repolist      #列出仓库信息
常见错误:
1.没有挂载光驱设备     ls  /mnt  #查看挂载点是否有光盘内容
2.错误的文件会影响     ls  /etc/yum.repos.d/
3.写错了    

总结:本地Yum仓库构建方法(自己为自己提供服务)
1.服务端:显示光盘的内容,挂载光驱设备
2.客户端:书写客户端配置文件,指定服务端位置
3.执行流程:  yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt

在这里插入图片描述
在这里插入图片描述

yum使用

[root@localhost ~]# yum  -y  install   httpd
[root@localhost ~]# rpm  -q  httpd

[root@localhost ~]# yum  -y  install   bind-chroot
[root@localhost ~]# rpm  -q   bind-chroot

[root@localhost ~]# yum  -y  install   sssd
[root@localhost ~]# rpm  -q   sssd

[root@localhost ~]# yum  -y   install   gcc
[root@localhost ~]# rpm  -q   gcc

[root@localhost ~]# yum   -y   install   xorg-x11-apps
[root@localhost ~]# rpm   -q   xorg-x11-apps
[root@localhost ~]# rpm  -ql   xorg-x11-apps   |   grep bin
[root@localhost ~]# xeyes

安装软件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看版本

在这里插入图片描述

示例:安装xorg-x11-apps

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

卸载软件

在这里插入图片描述

查询

安装软件和卸载软件使用yum,查询软件使用rpm

[root@localhost ~]# yum  list   ftp   #查询仓库是否有ftp软件
可安装的软件包      #表示当前系统没有安装该软件
ftp.x86_64        0.17-67.el7         nsd2010

[root@localhost ~]# yum   list   httpd
[root@localhost ~]# yum   search   ftp   #包含ftp就匹配

仓库中哪个软件包产生该文件:
]# yum    provides    /usr/bin/hostname 
]# yum    provides    /etc/passwd  

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

覆盖安装

]# which   hostname
/usr/bin/hostname
]# rm   -rf   /usr/bin/hostname
]# hostname
bash: hostname: 未找到命令...

]# yum  provides  /usr/bin/hostname
]# yum -y  reinstall  hostname    #重新安装hostname软件
]# ls  /usr/bin/hostname
]# hostname

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

清空缓存

[root@localhost ~]# yum  clean   all
[root@localhost ~]# yum   repolist
[root@localhost ~]# yum   repolist

在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/308946.html

相关文章:

  • git入门环境搭建
  • LlamaIndex
  • MFC工控项目实例二十九主对话框调用子对话框设定参数值
  • Vector 深度复制记录
  • 前端:块级元素和行内元素
  • C#发票识别、发票查验接口集成、电子发票(航空运输电子行程单)
  • 工业园生活污水处理设备产地货源
  • 提问即创作:用Prompt提示词引领AI灵感爆发
  • 云原生(Cloud Native)
  • PHP安全
  • JSON 数据 Excel 行转列
  • Gradio导入AIGC大模型创建web端智能体聊天机器人,python(2)
  • Matlab simulink建模与仿真 第十三章(信号通路库)
  • TinyML-On-The-Fly: 实时、低功耗、低成本的微控制器嵌入式设备内计算机视觉技术用于无人机图像分类
  • AtCoder ABC370 A-D题解
  • 传知代码-KAN卷积:医学图像分割新前沿
  • 使用Pydantic模型和LangChain构建高效查询过滤器
  • 为什么在 JSON 序列化中不使用 transient
  • 复变函数论重大错误:将无穷多各异平面误为同一面
  • bev pool 原理及代码讲解
  • 通信工程学习:什么是AN-SMF接入网系统管理功能
  • jacoco生成单元测试覆盖率报告
  • 使用vant UI实现时间段选择
  • Linux系统终端中文件权限的10位字符是什么意思
  • 工厂模式 vs 简单工厂:解耦与扩展性的比较
  • React js Router 路由 2, (把写过的几个 app 组合起来)