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的参数是软件包名,用于查询软件包的信息。
导入红帽签名信息
安装软件包
安装RPM软件
– 格式:rpm -i RPM包文件...
• 辅助选项
– -v:显示细节信息
– -h:以#号显示安装进度
– --force:强制安装、覆盖安装
– --test:测试安装,不做真实安装动作]# rpm -q vsftpd #查询当前的系统是否安装了该软件
未安装软件包 vsftpd ]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
]# rpm -q vsftpd #查询当前的系统是否安装了该软件
vsftpd-3.0.2-22.el7.x86_64]# rpm -e vsftpd #卸载软件
]# rpm -q vsftpd #查询当前的系统是否安装了该软件
未安装软件包 vsftpd--force:强制安装、覆盖安装
]# which hostname
/usr/bin/hostname
]# rm -rf /usr/bin/hostname
]# hostname
bash: hostname: 未找到命令...]# rpm -qf /usr/bin/hostname #查看由哪个软件包产生
hostname-3.13-3.el7.x86_64]# rpm -ivh --force /mnt/Packages/hostname-3.13-3.el7.x86_64.rpm
解决依赖关系
– 先安装/卸载要求的包
– 如果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软件包管理
解决依赖关系
解决依赖关系
– 先安装/卸载要求的包
– 如果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
相关文章:

Linux:RPM软件包管理以及yum软件包仓库
挂载光驱设备 RPM软件包管理 RPM软件包简介 区分软件名和软件包名 软件名:firefox 软件包名:firefox-52.7.0-1.el7.centos.x86_64.rpm 查询软件信息 查询软件(参数为软件名) ]# rpm -qa #当前系统中所有已安装的软件包 ]# r…...

pod介绍与配置
1、pod概念介绍 Pod 是 kubernetes 基本调度单位。每个 Pod 中可以运 行一个或多个容器,共享 Pod 的文件系统、IP 和网络等资源,每个 Pod 只有一个 IP。 2、使用 yaml或json 文件创建 Pod 声明式文件方式创建 Pod,支持 yaml 和 json 1&…...

【Taro】初识 Taro
笔记来源:编程导航。 概述 Taro 官方文档:https://taro-docs.jd.com/docs/ (跨端开发框架) Taro 官方框架兼容的组件库: taro-ui:https://taro-ui.jd.com/#/ (最推荐,兼容性最好&…...

【设计模式-备忘录】
备忘录模式(Memento Pattern)是一种行为型设计模式,用于保存对象的内部状态,以便在将来某个时间可以恢复到该状态,而不暴露对象的内部实现细节。备忘录模式特别适合在需要支持撤销(Undo)操作的应…...

【数据结构】排序算法系列——快速排序(附源码+图解)
快速排序 接下来我们将要介绍的是排序中最为重要的算法之一——快速排序。 快速排序(英语:Quicksort),又称分区交换排序(partition-exchange sort),最早由东尼霍尔提出。快速排序通常明显比其…...

Arthas thread(查看当前JVM的线程堆栈信息)
文章目录 二、命令列表2.1 jvm相关命令2.1.2 thread(查看当前JVM的线程堆栈信息)举例1:展示[数字]线程的运行堆栈,命令:thread 线程ID举例2:找出当前阻塞其他线程的线程 二、命令列表 2.1 jvm相关命令 2.…...

Tomcat_WebApp
Tomcat的目录的介绍 /bin: 这个目录包含启动和关闭 Tomcat 的脚本。 startup.bat / startup.sh:用于启动 Tomcat(.bat 文件是 Windows 系统用的,.sh 文件是 Linux/Unix 系统用的)。shutdown.bat / shutdown.sh…...
代码随想录算法训练营Day10
150. 逆波兰表达式求值 力扣题目链接;. - 力扣(LeetCode) Collection——Deque——LInkedList类 class Solution {public int evalRPN(String[] tokens) {Deque<Integer> myquenew LinkedList<>();for(String a:tokens){if(a.…...
十个服务器中毒的常见特征及其检测方法
服务器作为企业的核心资源,其安全性至关重要。一旦服务器被病毒入侵,不仅会影响系统的正常运行,还可能导致数据泄露等严重后果。以下是十种常见的服务器中毒特征及其检测方法。 1. 系统性能下降 病毒常常占用大量的CPU和内存资源࿰…...

LeetCode 每周算法 6(图论、回溯)
LeetCode 每周算法 6(图论、回溯) 图论算法: class Solution: def dfs(self, grid: List[List[str]], r: int, c: int) -> None: """ 深度优先搜索函数,用于遍历并标记与当前位置(r, c)相连的所有陆地&…...

Selenium元素定位:深入探索与实践
目录 一、引言 二、Selenium元素定位基础 1. WebDriver与元素定位 2. 定位策略概览 三、ID定位 1. 特点与优势 2. 示例代码 四、Class Name定位 1. 特点与限制 2. 示例代码 五、XPath定位 1. 特点与优势 2. 示例代码 3. XPath高级用法 六、CSS Selector定位 1.…...
前端开发——(1)使用vercel进行网页开发
前端开发——(1)使用Vercel进行网页开发 在现代前端开发中,选择一个高效的部署平台至关重要。Vercel 提供了快速、简便的部署方式,特别适合静态网站和 Next.js 应用。本文将带你逐步了解如何使用 Vercel 部署并运行你的网页项目。…...

故障诊断│GWO-DBN灰狼算法优化深度置信网络故障诊断
1.引言 随着人工智能技术的快速发展,深度学习已经成为解决复杂问题的热门方法之一。深度置信网络(DBN)作为深度学习中应用比较广泛的一种算法,被广泛应用于分类和回归预测等问题中。然而,DBN的训练过程通常需要大量的…...

【工具】Windows|两款开源桌面窗口管理小工具Deskpins和WindowTop
总结 Deskpins 功能单一,拖到窗口上窗口就可以置顶并且标记钉子标签,大小 104 KB,开源位置:https://github.com/thewhitegrizzli/DeskPins/releases WindowTop 功能完善全面强大,包括透明度、置顶、选区置顶等一系列功…...

【Unity杂谈】iOS 18中文字体显示问题的调查
一、问题现象 最近苹果iOS 18系统正式版推送,周围升级系统的同事越来越多,有些同事发现,iOS 18上很多游戏(尤其是海外游戏)的中文版,显示的字很奇怪,就像一些字被“吞掉了”,无法显示…...

后端-navicat查找语句(单表与多表)
表格字段设置如图 语句: 1.输出 1.输出name和age列 SELECT name,age from student 1.2.全部输出 select * from student 2.where子语句 1.运算符: 等于 >大于 >大于等于 <小于 <小于等于 ! <>不等于 select * from stude…...

基于springboot的在线视频点播系统
文未可获取一份本项目的java源码和数据库参考。 国外研究现状: 与传统媒体不同的是,新媒体在理念和应用上都采用了新颖的媒介或媒体。新媒体是指应用在数字技术、在传统媒体基础上改造、或者更新换代而来的媒介或媒体。新兴媒体与传统媒体在理念和应用…...

笔记整理—内核!启动!—kernel部分(8)动态编译链接库与BSP文件
linux的C语言程序是用编译的,但是如果要在开发板上运行的话就不能使用默认的ubuntu提供的gcc编译器,而是使用arm-linux版本的一类的编译器。我们可以用file xx去查看一个程序的架构。 (arm架构) (intel的80386架构&…...

Cpp类和对象(中续)(5)
文章目录 前言一、赋值运算符重载运算符重载赋值运算符重载赋值运算符不可重载为全局函数前置和后置的重载 二、const修饰成员函数三、取地址及const取地址操作符重载四、日期类的实现构造函数日期 天数日期 天数日期 - 天数日期 - 天数日期类的大小比较日期类 > 日期类日…...

深度学习02-pytorch-01-张量的创建
深度学习 pytorch 框架 是目前最热门的。 深度学习 pytorch 框架相当于 机器学习阶段的 numpy sklearn 它将数据封装成张量(Tensor)来进行处理,其实就是数组。也就是numpy 里面的 ndarray . pip install torch1.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simp…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...