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

【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安装示例 方法二&#xff…...

数据分析案例-某公司员工数据信息可视化(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…...

浅谈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)是在互联网上提供文件存储和访问服务的计算机&#xff0c;它们依照FTP协议提供服务。FTP协议是File Transfer Protocol(文件传输协议)&#xff0c;专门用来传输文件的协议。FTP服务器是企业里经常用到的服务器&#xff0c;今天就介绍一…...

Android使用Glide类加载服务器中的图片

Glide类用于从服务器中获取图片并加载进ImageView。 一、添加依赖 Glide为第三方框架&#xff0c;使用时需添加依赖&#xff1a; 在 Gradle Scripts / build.gradle(Module:app) / dependencies方法 中添加 implementation com.github.bumptech.glide:glide:4.12.0 添加后…...

【打靶】vulhub打靶复现系列3---Chronos

【打靶】vulhub打靶复现系列3---Chronos 一、主机探测 结合之前的方法&#xff08;arp探测、ping检测&#xff09;&#xff0c;因为我们的靶机和攻击机都在第二层&#xff0c;所以打靶时候我们更依赖arp协议 tips&#xff1a;我在运行期间发现&#xff0c;netdiscover窗口没关…...

基于Java的新闻发布管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…...

​CRM系统如何选型?

不少企业都想要使用CRM客户管理系统&#xff0c;但往往在CRM选型阶段就被折腾的五迷三道。CRM系统选型难在哪里&#xff1f;下面我们从企业用户和CRM厂商两方面进行分析&#xff0c;来说说关于CRM系统选型的那些事。 企业自身原因&#xff1a; 1、认知偏差 看到一个观点&…...

山东大学开发可解释深度学习算法 RetroExplainer,4 步识别有机物的逆合成路线

逆合成旨在找到一系列合适的反应物&#xff0c;以高效合成目标产物。这是解决有机合成路线的重要方法&#xff0c;也是有机合成路线设计的最简单、最基本的方法。 早期的逆合成研究多依赖编程&#xff0c;随后这一工作被 AI 接替。然而&#xff0c;现有的逆合成方法多关注单步逆…...

使用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、介绍 在日常工作中&#xff0c;经常会遇到一些重复性的工作&#xff0c;不管是点击某个按钮、写文字&#xff0c;打印&#xff0c;还是复制粘贴拷贝资料之类的&#xff0c;需要进行大量的重复操作。按键精灵大家想必都听说过&#xff0c;传统的方式&#xff0c;可以下载个按…...

什么是 Node.js

目标 什么是 Node.js&#xff0c;有什么用&#xff0c;为何能独立执行 JS 代码&#xff0c;演示安装和执行 JS 文件内代码 讲解 Node.js 是一个独立的 JavaScript 运行环境&#xff0c;能独立执行 JS 代码&#xff0c;因为这个特点&#xff0c;它可以用来编写服务器后端的应用…...

08-flex布局

flex布局 1.定位布局- 定位流分类1.1.静态定位1.2.相对定位1.3.绝对定位1.4.固定定位1.5.粘滞定位1.6.z-index - 1.1.静态定位&#xff08; Static positioning&#xff09;- 1.2.什么是相对定位?&#xff08; Relative positioning &#xff09;- 相对定位注意点- 相对定位应…...

HTML5和HTML的区别

HTML5的概念分为广义和狭义两种。 狭义的概念HTML&#xff15;是指HTML语言的第5个版本&#xff0c;而HTML是指&#xff15;之前的版本。 广义的概念HTML5是指由HTML&#xff15;、CSS3、JavaScript所组成的开发环境。而HTML是指HTML语言本身。 1、HTML&#xff15;与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文件的路径&#xff1a;")# 提取文件名&#xff08;不包括扩展名&#xff09;作为PPT文件名…...

学会场景提问,让AI“小助手”为我所用

文章目录 一、故事叙述提问举例 二、产品描述提问举例 三、报告撰写提问举例 四、邮件和信件撰写提问举例 五、新间稿和公告撰写提问举例 六、学术论文和专业文章撰写提问举例 我们知道AI技术不仅能够自动生成文章和内容&#xff0c;还可以根据我们的需求提供创意灵感和解决问题…...

前端,CSS,背景颜色跟随轮播图片改变而改变(附源码)

首先看效果&#xff01; 比如轮播图时红色&#xff0c;那么背景的底色也是红色&#xff0c;轮播图时黄色&#xff0c;背景的底色也是黄色&#xff0c;这就是根据轮播图的图片切换&#xff0c;而改变背景颜色随轮播图颜色一致 话不多说&#xff0c;直接上代码&#xff01;非常简…...

对文件夹内的所有图像进行随机调整对比度和应用高斯滤波

import os import random from PIL import Image, ImageEnhance, ImageFilter# 输入和输出文件夹路径 input_folder rE:\深度学习数据集 output_folder rE:\深度学习数据集\对比度、高斯滤波# 确保输出文件夹存在&#xff0c;如果不存在则创建 if not os.path.exists(output_…...

ios上架上传构建版本的windows工具

ios上架的必要步骤&#xff0c;是将打包好的二进制ipa文件&#xff0c;上传到app store的构建版本里&#xff0c;苹果并没有提供上传构建版本的工具&#xff0c;这里我介绍下windows下上传构建版本的方案。 下面说下上传的基本步骤&#xff1a; 第一步&#xff0c;上传前要先…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

SpringCloud优势

目录 完善的微服务支持 高可用性和容错性 灵活的配置管理 强大的服务网关 分布式追踪能力 丰富的社区生态 易于与其他技术栈集成 完善的微服务支持 Spring Cloud 提供了一整套工具和组件来支持微服务架构的开发,包括服务注册与发现、负载均衡、断路器、配置管理等功能…...

【2D与3D SLAM中的扫描匹配算法全面解析】

引言 扫描匹配(Scan Matching)是同步定位与地图构建(SLAM)系统中的核心组件&#xff0c;它通过对齐连续的传感器观测数据来估计机器人的运动。本文将深入探讨2D和3D SLAM中的各种扫描匹配算法&#xff0c;包括数学原理、实现细节以及实际应用中的性能对比&#xff0c;特别关注…...