【Linux】 rpm安装包保存到本地并批量安装
目录
一、开启rpm安装包缓存到本地仓库
1. 修改yum.conf文件
2. 清理yum缓存
3. yum命令安装软件包
二、如何将rpm安装包保存到指定目录
方法一:yumdownloader
1. 安装yum-utils
2. yumdownloader命令参数说明
3. yumdownloader安装示例
方法二:yum --downloadonly
方法三:reposync
1. reposync命令参数说明
2. 查看yum源对应的仓库
3. 下载对应仓库下的rpm包到指定目录
4. reposync其他命令
三、rpm包批量安装
Linux系统的时候大家都有一个烦恼,用yum安装的软件包不知道去哪里了,不像windows那样直观可以将安装包放到一个地方保存起来,接下来为大家介绍yum安装后如果保存rpm包到本地。
一、开启rpm安装包缓存到本地仓库
1. 修改yum.conf文件
sed -i "s/keepcache=0/keepcache=1/g" /etc/yum.conf 修改配置文件中的keepcache参数
如果没有keepcache参数,需要手动加到配置文件yum.conf
2. 清理yum缓存
yum clean all
3. yum命令安装软件包
yum install -y httpd
可以看到已经安装到BaseOS仓库和AppStream仓库

查看安装目录如下,根据提示可以在具体的仓库找到对应的rpm包:

可以发现安装一个httpd相关依赖安装在不同的仓库:BaseOS仓库和AppStream仓库
如何可以指定所安装的rpm包保存到一个指定的文件下?下面是具体方法。
二、如何将rpm安装包保存到指定目录
方法一:yumdownloader
如果只想通过yum下载软件的软件包,但是不需要进行安装的话,可以使用yumdownloader命令;
1. 安装yum-utils
yumdownloader命令在软件包【yum-utils】里面,需要安装yum-utils
# yum install -y yum-utils
2. yumdownloader命令参数说明
usage: dnf download [-c [config file]] [-q] [-v] [--version]
[--installroot [path]] [--nodocs] [--noplugins]
[--enableplugin [plugin]] [--disableplugin [plugin]]
[--releasever RELEASEVER] [--setopt SETOPTS]
[--skip-broken] [-h] [--allowerasing] [-b | --nobest] [-C]
[-R [minutes]] [-d [debug level]] [--debugsolver]
[--showduplicates] [-e ERRORLEVEL] [--obsoletes]
[--rpmverbosity [debug level name]] [-y] [--assumeno]
[--enablerepo [repo]] [--disablerepo [repo] | --repo
[repo]] [--enable | --disable] [-x [package]]
[--disableexcludes [repo]] [--repofrompath [repo,path]]
[--noautoremove] [--nogpgcheck] [--color COLOR]
[--refresh] [-4] [-6] [--destdir DESTDIR] [--downloadonly]
[--comment COMMENT] [--bugfix] [--enhancement]
[--newpackage] [--security] [--advisory ADVISORY]
[--bz BUGZILLA] [--cve CVES]
[--sec-severity {Critical,Important,Moderate,Low}]
[--forcearch ARCH] [--source] [--debuginfo]
[--debugsource] [--arch [arch]] [--resolve] [--alldeps]
[--url] [--urlprotocols {http,https,rsync,ftp}]
packages [packages ...]
General DNF options:
- -c [config file], --config [config file]
- 配置文件位置
- -q, --quiet 静默执行
- -v, --verbose 详尽执行
- --version 显示 DNF 的版本并退出
- --installroot [path] 设置目标根目录
- --nodocs 不要安装文档
- --noplugins 禁用所有插件
- --enableplugin [plugin]
- 启用指定名称的插件
- --disableplugin [plugin]
- 禁用指定名称的插件
- --releasever RELEASEVER
- 覆盖在配置文件和仓库文件中 $releasever 的值
- --setopt SETOPTS 设置任意配置和仓库选项
- --skip-broken 通过跳过软件包来解决依赖问题
- -h, --help, --help-cmd
- 显示命令帮助
- --allowerasing 允许解决依赖关系时删除已安装软件包
- -b, --best 在事务中尝试最佳软件包版本。
- --nobest 不将事务限制在最佳候选
- -C, --cacheonly 完全从系统缓存运行,不升级缓存
- -R [minutes], --randomwait [minutes]
- 最大命令等待时间
- -d [debug level], --debuglevel [debug level]
- 调试输出级别
- --debugsolver 转储详细解决结果至文件
- --showduplicates 在 list/search 命令下,显示仓库里重复的条目
- -e ERRORLEVEL, --errorlevel ERRORLEVEL
- 错误输出级别
- --obsoletes 对 upgrade 启用 dnf 的过期处理逻辑,或对 info、list 和 repoquery
- 启用软件包过期的显示功能
- --rpmverbosity [debug level name]
- rpm调试输出等级
- -y, --assumeyes 全部问题自动应答为是
- --assumeno 全部问题自动应答为否
- --enablerepo [repo] 启用附加仓库。列出选项。支持通配符,可以指定多次。
- --disablerepo [repo] 停用仓库。列出选项。支持通配符,可指定多次。
- --repo [repo], --repoid [repo]
- 启用指定 id 或 glob 的仓库,可以指定多次
- --enable 使用 config-manager 命令启用 repos (自动保存)
- --disable 使用 config-manager 命令禁用 repos (自动保存)
- -x [package], --exclude [package], --excludepkgs [package]
- 用全名或通配符排除软件包
- --disableexcludes [repo], --disableexcludepkgs [repo]
- 禁用 excludepkgs
- --repofrompath [repo,path]
- 附加仓库所要使用的标签和路径(与 baseurl 中的路径一致),可以指定多次。
- --noautoremove 禁用删除不再被使用的依赖软件包
- --nogpgcheck 禁用 gpg 签名检查 (如果 RPM 策略允许)
- --color COLOR 配置是否使用颜色
- --refresh 在运行命令之前将元数据标记为过期
- -4 仅解析 IPv4 地址
- -6 仅解析 IPv6 地址
- --destdir DESTDIR, --downloaddir DESTDIR
- 设置软件包要复制到的目录
- --downloadonly 仅下载软件包
- --comment COMMENT 为事务添加一个注释
- --bugfix 在更新中包括与 bug 修复有关的软件包
- --enhancement 在更新中包括与功能增强有关的软件包
- --newpackage 在更新中包括与新软件包有关的软件包
- --security 在更新中包括与安全有关的软件包
- --advisory ADVISORY, --advisories ADVISORY
- 在更新中包括修复指定公告所必须的软件包
- --bz BUGZILLA, --bzs BUGZILLA
- 在更新中包括修复给定 BZ 所必须的软件包
- --cve CVES, --cves CVES
- 在更新中包括修复给定 CVE 所必须的软件包
- --sec-severity {Critical,Important,Moderate,Low}, --secseverity {Critical,Important,Moderate,Low}
- 在更新中包括匹配给定安全等级的安全相关的软件包
- --forcearch ARCH 强制使用一个架构
- Download command-specific options:
- --source 取而代之下载源代码软件包 src.rpm
- --debuginfo 取而代之下载 -debuginfo 软件包
- --debugsource 取而代之下载 -debugsource 软件包
- --arch [arch], --archlist [arch]
- 限定查询指定架构的软件包。
- --resolve 解析并下载所需的依赖关系
- --alldeps 当运行时使用 --resolve,下载所有依赖软件包 (不排除已安装的软件包)
- --url, --urls 打印 rpm 可被下载的 url 列表而不是直接下载
- --urlprotocols {http,https,rsync,ftp}
- 当执行时带有 --url 参数,则限制使用指定协议
3. yumdownloader安装示例
# yumdownloader --destdir=/tmp --resolve lrzsz
在tmp目录下可以看到下载的文件

方法二:yum --downloadonly
yum命令的参数有很多,其中就有只是下载而不需要安装的命令,并且也会自动解决依赖;通常和【–downloaddir】参数一起使用
# yum install --downloadonly --downloaddir=/tmp/ vsftpd(安装包)
# yum reinstall --downloadonly --downloaddir=/tmp/ vsftpd (安装包)
说明:如果该服务器已经安装了需要下载的软件包,那么使用【install】下载就不行,可以用【reinstall】下载。放心(不会真的安装或重新安装,因为后面加了【–downloadonly】,表明只是下载。)
如果提示没有【–downloadonly】选项则需要安装【yum-plugin-downloadonly】软件包
# yum install -y yum-plugin-downloadonly
方法三:reposync
该命令更为强大,可以将远端yum仓库里面的包全部下载到本地。这样构建自己的yum仓库,就不会遇到没有网络导致更新包无法下载的问题。该命令也是来自于【yum-utils】里面。
1. reposync命令参数说明
[root@master02 ~]# reposync --help
usage: dnf reposync [-c [config file]] [-q] [-v] [--version]
[--installroot [path]] [--nodocs] [--noplugins]
[--enableplugin [plugin]] [--disableplugin [plugin]]
[--releasever RELEASEVER] [--setopt SETOPTS]
[--skip-broken] [-h] [--allowerasing] [-b | --nobest] [-C]
[-R [minutes]] [-d [debug level]] [--debugsolver]
[--showduplicates] [-e ERRORLEVEL] [--obsoletes]
[--rpmverbosity [debug level name]] [-y] [--assumeno]
[--enablerepo [repo]] [--disablerepo [repo] | --repo
[repo]] [--enable | --disable] [-x [package]]
[--disableexcludes [repo]] [--repofrompath [repo,path]]
[--noautoremove] [--nogpgcheck] [--color COLOR]
[--refresh] [-4] [-6] [--destdir DESTDIR] [--downloadonly]
[--comment COMMENT] [--bugfix] [--enhancement]
[--newpackage] [--security] [--advisory ADVISORY]
[--bz BUGZILLA] [--cve CVES]
[--sec-severity {Critical,Important,Moderate,Low}]
[--forcearch ARCH] [-a [arch]] [--delete]
[--download-metadata] [-g] [-m]
[--metadata-path METADATA_PATH] [-n] [--norepopath]
[-p DOWNLOAD_PATH] [--remote-time] [--source] [-u]
下载远程仓库中的全部软件包
General DNF options:
- -c [config file], --config [config file]
- 配置文件位置
- -q, --quiet 静默执行
- -v, --verbose 详尽执行
- --version 显示 DNF 的版本并退出
- --installroot [path] 设置目标根目录
- --nodocs 不要安装文档
- --noplugins 禁用所有插件
- --enableplugin [plugin]
- 启用指定名称的插件
- --disableplugin [plugin]
- 禁用指定名称的插件
- --releasever RELEASEVER
- 覆盖在配置文件和仓库文件中 $releasever 的值
- --setopt SETOPTS 设置任意配置和仓库选项
- --skip-broken 通过跳过软件包来解决依赖问题
- -h, --help, --help-cmd
- 显示命令帮助
- --allowerasing 允许解决依赖关系时删除已安装软件包
- -b, --best 在事务中尝试最佳软件包版本。
- --nobest 不将事务限制在最佳候选
- -C, --cacheonly 完全从系统缓存运行,不升级缓存
- -R [minutes], --randomwait [minutes]
- 最大命令等待时间
- -d [debug level], --debuglevel [debug level]
- 调试输出级别
- --debugsolver 转储详细解决结果至文件
- --showduplicates 在 list/search 命令下,显示仓库里重复的条目
- -e ERRORLEVEL, --errorlevel ERRORLEVEL
- 错误输出级别
- --obsoletes 对 upgrade 启用 dnf 的过期处理逻辑,或对 info、list 和 repoquery
- 启用软件包过期的显示功能
- --rpmverbosity [debug level name]
- rpm调试输出等级
- -y, --assumeyes 全部问题自动应答为是
- --assumeno 全部问题自动应答为否
- --enablerepo [repo] 启用附加仓库。列出选项。支持通配符,可以指定多次。
- --disablerepo [repo] 停用仓库。列出选项。支持通配符,可指定多次。
- --repo [repo], --repoid [repo]
- 启用指定 id 或 glob 的仓库,可以指定多次
- --enable 使用 config-manager 命令启用 repos (自动保存)
- --disable 使用 config-manager 命令禁用 repos (自动保存)
- -x [package], --exclude [package], --excludepkgs [package]
- 用全名或通配符排除软件包
- --disableexcludes [repo], --disableexcludepkgs [repo]
- 禁用 excludepkgs
- --repofrompath [repo,path]
- 附加仓库所要使用的标签和路径(与 baseurl 中的路径一致),可以指定多次。
- --noautoremove 禁用删除不再被使用的依赖软件包
- --nogpgcheck 禁用 gpg 签名检查 (如果 RPM 策略允许)
- --color COLOR 配置是否使用颜色
- --refresh 在运行命令之前将元数据标记为过期
- -4 仅解析 IPv4 地址
- -6 仅解析 IPv6 地址
- --destdir DESTDIR, --downloaddir DESTDIR
- 设置软件包要复制到的目录
- --downloadonly 仅下载软件包
- --comment COMMENT 为事务添加一个注释
- --bugfix 在更新中包括与 bug 修复有关的软件包
- --enhancement 在更新中包括与功能增强有关的软件包
- --newpackage 在更新中包括与新软件包有关的软件包
- --security 在更新中包括与安全有关的软件包
- --advisory ADVISORY, --advisories ADVISORY
- 在更新中包括修复指定公告所必须的软件包
- --bz BUGZILLA, --bzs BUGZILLA
- 在更新中包括修复给定 BZ 所必须的软件包
- --cve CVES, --cves CVES
- 在更新中包括修复给定 CVE 所必须的软件包
- --sec-severity {Critical,Important,Moderate,Low}, --secseverity {Critical,Important,Moderate,Low}
- 在更新中包括匹配给定安全等级的安全相关的软件包
- --forcearch ARCH 强制使用一个架构
- Reposync command-specific options:
- -a [arch], --arch [arch]
- 只下载这个 ARCH 的软件包
- --delete 删除已不在仓库中的本地软件包
- --download-metadata 下载所有元数据。
- -g, --gpgcheck 下载后删除无法通过 GPG 签名检查的软件包
- -m, --downloadcomps 同时下载并解压 comps.xml
- --metadata-path METADATA_PATH
- 存储下载的仓库元数据的位置。默认为 --download-path 的值。
- -n, --newest-only 只下载最新的软件包 per-repo
- --norepopath 不要在下载路径中添加仓库名(reponame)。
- -p DOWNLOAD_PATH, --download-path DOWNLOAD_PATH
- 在何处存储已下载的仓库
- --remote-time 根据服务器上的文件设置本地文件的本地时间戳
- --source 只下载源软件包
- -u, --urls 只列出要下载内容的 url,不实际下载
常用参数
--repo 指定已经本地配置的yum仓库的repo源的名称
-p 指定下载的路径
2. 查看yum源对应的仓库
#yum repolist
仓库如下:

3. 下载对应仓库下的rpm包到指定目录
以openresty为例
# reposync --downloadonly --repo openresty -p /tmp
下载后以仓库名称为文件目录,openresty所有的安装包保存到/tmp/openresty目录下,如下所示:
reposync强大的功能解决了局域网机房在无互联网环境下的软件安装问题,只需要将事先通过reposync下载好的rpm安装包拷贝到目标服务器下,一键安装即可。
4. reposync其他命令
#1. 同步整个源到指定目录
# reposync -p /tmp/repo/# 2. 同步指定源到指定目录
# reposync --repo=openresty -p /tmp/repo/ # 3. 更新同步过的源
# reposync -n --repo=openresty -p /tmp/repo/
对于每个仓库的yum源阶段性的都有版本更新,要保证通过reposync下载的yum源都是最新的,需要构建job,通过crontab构建一个任务,如下:
#每星期六晚上23 : 00 执行yum仓库openresty rpm包更新
0 23 * * 6 root reposync --downloadonly --repo openresty -p /tmp
三、rpm包批量安装
我们通过yum或者yumdownloader或者reposync下载后的rpm安装包到局域网的一台服务器上安装时发现安装包几十个,甚至上百个rpm包,总不能一个一个安装,需要批量安装。命令如下:
# cd /tmp/repo/ #保存rpm安装包的目录
# rpm -Uvh *.rpm --nodeps --force
参数说明:
-U:升级软件,若未软件尚未安装,则安装软件。
-v:表示显示详细信息。
-h:以"#"号显示安装进度。
--force:强制安装
--nodeps:不考虑安装依赖的关系
参考资料
【精选】reposync命令详解--reposync同步aliyunyum库到本地_repo sync_风情客家__的博客-CSDN博客
通过yum命令只下载rpm包不安装
相关文章:
【Linux】 rpm安装包保存到本地并批量安装
目录 一、开启rpm安装包缓存到本地仓库 1. 修改yum.conf文件 2. 清理yum缓存 3. yum命令安装软件包 二、如何将rpm安装包保存到指定目录 方法一:yumdownloader 1. 安装yum-utils 2. yumdownloader命令参数说明 3. yumdownloader安装示例 方法二ÿ…...
数据分析案例-某公司员工数据信息可视化(文末送书)
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
浅谈wheel滚轮事件
<divonWheel{(ee) > {// new WheelEvent(自定义,e) 获取 e[wheelDelta],e[deltaY] 判断滚轮方向var e new WheelEvent(syntheticWheel,ee)console.log(滚动触发事件, e,ee);console.log(滚动触发事件e.wheelDelta, e[wheelDelta],e[deltaY]);console.log(滚动触发事件e.…...
FTP服务器操作手册
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。FTP协议是File Transfer Protocol(文件传输协议),专门用来传输文件的协议。FTP服务器是企业里经常用到的服务器,今天就介绍一…...
Android使用Glide类加载服务器中的图片
Glide类用于从服务器中获取图片并加载进ImageView。 一、添加依赖 Glide为第三方框架,使用时需添加依赖: 在 Gradle Scripts / build.gradle(Module:app) / dependencies方法 中添加 implementation com.github.bumptech.glide:glide:4.12.0 添加后…...
【打靶】vulhub打靶复现系列3---Chronos
【打靶】vulhub打靶复现系列3---Chronos 一、主机探测 结合之前的方法(arp探测、ping检测),因为我们的靶机和攻击机都在第二层,所以打靶时候我们更依赖arp协议 tips:我在运行期间发现,netdiscover窗口没关…...
基于Java的新闻发布管理系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…...
CRM系统如何选型?
不少企业都想要使用CRM客户管理系统,但往往在CRM选型阶段就被折腾的五迷三道。CRM系统选型难在哪里?下面我们从企业用户和CRM厂商两方面进行分析,来说说关于CRM系统选型的那些事。 企业自身原因: 1、认知偏差 看到一个观点&…...
山东大学开发可解释深度学习算法 RetroExplainer,4 步识别有机物的逆合成路线
逆合成旨在找到一系列合适的反应物,以高效合成目标产物。这是解决有机合成路线的重要方法,也是有机合成路线设计的最简单、最基本的方法。 早期的逆合成研究多依赖编程,随后这一工作被 AI 接替。然而,现有的逆合成方法多关注单步逆…...
使用antv x6注册vue组件报错,TypeError: Object(...) is not a function (teleport.js:3:23)
typeError: Object(…) is not a function at …/…/…/node_modules/.pnpm/antvx6-vue-shape2.1.1_antvx62.15.2vue2.7.10/node_modules/antv/x6-vue-shape/es/teleport.js (teleport.js:3:23) 点击定位到报错的位置为 reactive应该是vue 2.7.*版本才有的 由于项目在index.ht…...
Python开发利器KeymouseGo,开源的就是香
1、介绍 在日常工作中,经常会遇到一些重复性的工作,不管是点击某个按钮、写文字,打印,还是复制粘贴拷贝资料之类的,需要进行大量的重复操作。按键精灵大家想必都听说过,传统的方式,可以下载个按…...
什么是 Node.js
目标 什么是 Node.js,有什么用,为何能独立执行 JS 代码,演示安装和执行 JS 文件内代码 讲解 Node.js 是一个独立的 JavaScript 运行环境,能独立执行 JS 代码,因为这个特点,它可以用来编写服务器后端的应用…...
08-flex布局
flex布局 1.定位布局- 定位流分类1.1.静态定位1.2.相对定位1.3.绝对定位1.4.固定定位1.5.粘滞定位1.6.z-index - 1.1.静态定位( Static positioning)- 1.2.什么是相对定位?( Relative positioning )- 相对定位注意点- 相对定位应…...
HTML5和HTML的区别
HTML5的概念分为广义和狭义两种。 狭义的概念HTML5是指HTML语言的第5个版本,而HTML是指5之前的版本。 广义的概念HTML5是指由HTML5、CSS3、JavaScript所组成的开发环境。而HTML是指HTML语言本身。 1、HTML5与HTML狭…...
【Amazon】跨AWS账号级别迁移弹性IP地址操作流程
文章目录 一、实验背景二、适用场景三、实验目标四、实验说明五、实验步骤1. 登录AWS控制台[源账户]2. 启用弹性 IP 地址转移[源账户]3. 接受转移的弹性 IP 地址[目标账户]4. <可选>禁止转移弹性IP地址[源账户] 六、结果验证七、注意事项八、附录1. 多弹性IP地址多AWS账号…...
2023-python pdf转换为PPT代码
from pdf2image import convert_from_path from pptx import Presentation from pptx.util import Inches import os# 用户输入PDF文件路径 pdf_file_path input("请输入PDF文件的路径:")# 提取文件名(不包括扩展名)作为PPT文件名…...
学会场景提问,让AI“小助手”为我所用
文章目录 一、故事叙述提问举例 二、产品描述提问举例 三、报告撰写提问举例 四、邮件和信件撰写提问举例 五、新间稿和公告撰写提问举例 六、学术论文和专业文章撰写提问举例 我们知道AI技术不仅能够自动生成文章和内容,还可以根据我们的需求提供创意灵感和解决问题…...
前端,CSS,背景颜色跟随轮播图片改变而改变(附源码)
首先看效果! 比如轮播图时红色,那么背景的底色也是红色,轮播图时黄色,背景的底色也是黄色,这就是根据轮播图的图片切换,而改变背景颜色随轮播图颜色一致 话不多说,直接上代码!非常简…...
对文件夹内的所有图像进行随机调整对比度和应用高斯滤波
import os import random from PIL import Image, ImageEnhance, ImageFilter# 输入和输出文件夹路径 input_folder rE:\深度学习数据集 output_folder rE:\深度学习数据集\对比度、高斯滤波# 确保输出文件夹存在,如果不存在则创建 if not os.path.exists(output_…...
ios上架上传构建版本的windows工具
ios上架的必要步骤,是将打包好的二进制ipa文件,上传到app store的构建版本里,苹果并没有提供上传构建版本的工具,这里我介绍下windows下上传构建版本的方案。 下面说下上传的基本步骤: 第一步,上传前要先…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...
