Linux之软件包管理器(CentOS系统) —— yum

news2025/6/2 7:32:38

目录

一、软件包管理器

1-1什么是软件包

1-2 Linux软件生态

Linux下载软件的过程(Ubuntu、Centos、other)

操作系统的好坏评估---生态问题 

1. 应用软件生态

2. 硬件兼容性

3. 开发者社区与开源生态

4. 商业合作与盈利模式

5. 用户粘性与使用习惯

6. 安全与合规生态

7. 新兴技术适应性

典型案例分析

结论:生态决定操作系统生命力

为什么会有人免费特定社区提供软件,还发布?还提供云服务器让你下载? 

1. 开源精神与社区协作

2. 商业公司的间接盈利模式

3. 开发者个人收益

4. 数据与流量变现

5. 云服务器免费提供的逻辑

6. 政府与学术机构的支持

7. 竞争策略

8. 安全与信任建设

典型案例

总结:免费背后的逻辑链

软件包依赖的问题 

1. 依赖的基本概念

2. 依赖问题的主要类型

3. 依赖管理的核心思想

4. 依赖关系的意义

总结

国内镜像源

1. 核心作用

2. 常见类型

3. 工作原理

4. 典型代表

5. 使用场景

总结

二、Linux 系统软件安装方式

三、YUM 工具简介

四、查看软件包(yum list)

 五、安装软件

实现本地机器与云服务器之间的文件互传

六、卸载软件

七、安装源(软件源)

1. 主要 Linux 发行版的安装源

2. 软件源的核心组成

3. 软件源的存储位置

(1) 在线源(远程服务器)

(2) 本地源(离线使用)

八、一些好玩的命令


一、软件包管理器

1-1什么是软件包

  • 在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序
  • 但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装.
  • 软件包和软件包管理器,就好比“App"和“应用商店"这样的关系
  • yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器.主要应用在Fedora,RedHat,Centos等发行版上.
  • Ubuntu:主要使用apt(Advanced Package Tool)作为其包管理器。apt同样提供了自动解决依赖关系、下载和安装软件包的功能。

1-2 Linux软件生态

  • Linux下载软件的过程(Ubuntu、Centos、other)

  • 操作系统的好坏评估---生态问题 

        评估操作系统(OS)的生态好坏是衡量其综合竞争力的关键指标之一。生态系统的强弱直接影响用户黏性、开发者支持、软硬件兼容性以及长期发展潜力。

1. 应用软件生态
  • 应用数量与质量:主流应用(如办公套件、设计工具、游戏)是否适配?是否覆盖用户核心需求?(如Windows的广泛软件兼容性,macOS的创意工具优势)

  • 开发者友好性:开发工具链是否完善?API文档是否清晰?分发渠道是否高效?(如iOS的App Store闭环生态,Android的开源灵活性)

  • 长期维护意愿:开发者是否愿意持续更新应用?是否因市场份额低而放弃支持?(如Windows Phone因生态贫瘠失败)


2. 硬件兼容性
  • 设备驱动支持:能否广泛兼容主流硬件(显卡、打印机等)?是否需要厂商主动适配?(如Linux依赖社区驱动开发)

  • 新兴硬件适配:是否快速支持新技术(如AI加速芯片、AR/VR设备)?

  • 跨平台协作:是否与手机、平板、IoT设备无缝联动?(如苹果Apple Silicon芯片的统一生态)


3. 开发者社区与开源生态
  • 社区活跃度:是否拥有活跃的开源社区?是否有持续贡献的开发者?(如Linux内核的全球协作)

  • 开源协议选择:生态是否开放?是否允许自由修改和分发?(如Android基于AOSP开放,但部分厂商闭源)

  • 第三方工具支持:是否集成主流开发框架(如Python、Node.js)?是否有云服务商提供SDK?


4. 商业合作与盈利模式
  • 厂商合作:是否有主流厂商提供预装或深度定制?(如ChromeOS与教育市场合作)

  • 分成机制合理性:应用商店抽成比例是否合理?是否引发开发者抗议?(如Epic与苹果的诉讼争议)

  • 企业级支持:是否有针对企业的付费技术支持?如RHEL(Red Hat Enterprise Linux)的订阅模式。


5. 用户粘性与使用习惯
  • 迁移成本:用户更换系统的学习成本和数据迁移难度(如从Windows转向macOS的适应期)

  • 品牌忠诚度:是否形成用户群体认同?(如苹果用户对macOS/iOS生态的依赖)

  • 本地化支持:是否支持多语言、区域化服务?(如国产系统对中文环境的优化)


6. 安全与合规生态
  • 安全更新响应速度:能否及时修复漏洞?是否有长期支持版本?(如Windows 10的定期补丁)

  • 应用审核机制:应用商店是否严格审查恶意软件?(如iOS的封闭审核 vs. Android的开放性风险)

  • 合规性支持:是否满足不同地区的法律法规?(如欧盟GDPR、中国数据安全法)


7. 新兴技术适应性
  • 云原生支持:是否适配容器化、微服务架构?(如谷歌Fuchsia对分布式系统的设计)

  • AI集成能力:是否内置AI框架或接口?(如Windows Copilot的AI助手)

  • 跨平台开发趋势:是否支持Flutter、React Native等跨平台开发工具?


典型案例分析
  • 成功案例:Windows凭借广泛的软硬件兼容性主导PC市场;Android通过开源策略占领移动端。

  • 失败教训:Symbian因未能吸引移动应用开发者而衰落;Firefox OS因缺乏厂商支持退出竞争。

  • 新兴挑战:华为鸿蒙(HarmonyOS)通过分布式架构试图打破生态壁垒,但面临海外应用适配难题。


结论:生态决定操作系统生命力

        操作系统的成功不仅依赖技术先进性,更取决于能否构建包含用户、开发者、硬件厂商的完整生态。封闭生态(如苹果)追求体验一致性,开放生态(如Linux)鼓励创新但可能碎片化。未来,随着AI、物联网的发展,操作系统的生态竞争将扩展到更广泛的设备互联与场景融合能力。

  • 为什么会有人免费特定社区提供软件,还发布?还提供云服务器让你下载? 

1. 开源精神与社区协作
  • 技术理想主义:许多开发者信奉“软件自由”,认为知识应共享。例如GNU项目的创始人Richard Stallman提出“自由软件四大自由”(使用、研究、修改、分发)。

  • 社区共建:通过开放源代码,吸引全球开发者共同改进项目(如Linux内核、Python语言)。贡献者通过技术影响力获得职业机会或声誉。


2. 商业公司的间接盈利模式
  • 核心产品免费,增值服务收费

    • Red Hat:免费提供Fedora/CentOS,但企业级RHEL需付费支持。

    • MongoDB/Elastic:开源基础版,高级功能(如安全、监控)需商业授权。

  • 生态控制权

    • 谷歌Android:开源AOSP吸引厂商,但通过GMS(Google Mobile Services)和Play商店盈利。

    • 微软VS Code:编辑器免费,但推动Azure云服务订阅。


3. 开发者个人收益
  • 职业发展:GitHub上的高质量开源项目可成为开发者的“简历”,帮助获得高薪工作(如知名开源贡献者被大厂招募)。

  • 捐赠与赞助:通过Patreon、GitHub Sponsors等获得用户资助(如Linux基金会每年获企业巨额捐款)。

  • 咨询与培训:通过开源项目建立权威后,提供付费培训或定制开发服务(如Redis作者创办的公司)。


4. 数据与流量变现
  • 用户行为数据:部分免费软件会匿名收集使用数据(需声明),用于改进产品或广告投放(如Firefox默认发送遥测数据)。

  • 引流至付费产品:例如JetBrains提供免费社区版PyCharm,但专业版需付费。


5. 云服务器免费提供的逻辑
  • 推广云服务

    • AWS/GCP/Azure:免费提供开源软件的云镜像(如Ubuntu VM),吸引用户使用其付费云产品。

    • GitHub Actions:免费提供构建服务器,推动开发者依赖其CI/CD生态。

  • 降低使用门槛:快速体验能提高软件普及率(如Docker Hub提供免费镜像托管)。


6. 政府与学术机构的支持
  • 公共资金投入:部分项目由高校或政府资助(如欧盟资助的Horizon 2020计划支持开源项目)。

  • 科研需求:学术界通过开源促进成果共享(如CERN开发的开源工具ROOT)。


7. 竞争策略
  • 打破垄断:例如Chromium开源项目对抗IE的封闭生态。

  • 标准化主导权:企业通过开源推动技术成为行业标准(如Kubernetes由谷歌开源后主导容器编排市场)。


8. 安全与信任建设
  • 透明性:开源代码可被审计,增强用户信任(如密码管理器Bitwarden)。

  • 漏洞众修:社区快速发现并修复安全问题(相比闭源软件更高效)。


典型案例
  • Linux:开源免费,但红帽、SUSE通过企业服务年收入超十亿美元。

  • Let’s Encrypt:免费SSL证书,由非营利组织运营,资金来自赞助商(如Facebook、谷歌)。

  • WordPress:开源CMS,母公司Automattic通过托管服务(WordPress.com)盈利。


总结:免费背后的逻辑链
  1. 直接获利:捐赠、增值服务、数据变现。

  2. 间接获利:生态控制、人才吸引、市场教育。

  3. 非金钱收益:技术影响力、行业标准制定权、社会价值。

        最终,“免费”只是表象,实质是通过其他维度实现可持续性。用户获得免费工具的同时,也可能成为其商业生态中的一环(如贡献数据、付费升级或使用关联服务)。

  • 软件包依赖的问题 

        软件包依赖(Dependency)是指一个软件在运行或安装时,需要其他特定的库、工具或组件支持才能正常工作。依赖关系是软件生态中的核心机制,确保程序能够调用所需的功能,但同时也可能带来管理上的复杂性。


1. 依赖的基本概念
  • 直接依赖(Direct Dependency):软件明确需要的组件(如 Python 程序依赖 requests 库)。

  • 间接依赖(Transitive Dependency):依赖的依赖(如 requests 库本身又依赖 urllib3)。

  • 动态依赖(Runtime Dependency):程序运行时才加载的库(如 .so 或 .dll 文件)。

  • 静态依赖(Build Dependency):仅编译时需要的工具(如 gccmake)。


2. 依赖问题的主要类型
  1. 缺失依赖

    • 软件缺少必要的库或工具,导致无法安装或运行。

    • 示例:安装某程序时提示 libssl not found

  2. 版本冲突

    • 多个软件要求同一依赖的不同版本,无法共存。

    • 示例:程序 A 需要 Python 3.8,而程序 B 需要 Python 3.10

  3. 循环依赖

    • 依赖关系形成闭环(如 A → B → C → A),导致无法解析。

  4. 冗余依赖

    • 卸载主程序后,残留无用的依赖库。


3. 依赖管理的核心思想
  • 自动化解决:包管理器(如 aptdnfpip)自动下载并安装依赖。

  • 隔离环境:通过虚拟环境(如 venvDocker)避免污染系统库。

  • 版本控制:锁定依赖版本(如 package==1.2.3)确保兼容性。


4. 依赖关系的意义
  • 功能复用:避免重复造轮子(如所有程序共用 OpenSSL 库)。

  • 模块化开发:开发者只需关注自身代码,依赖第三方功能。

  • 生态协同:通过共享依赖促进软件间的互操作性。


总结

        依赖是软件协作的基础,但也可能引发冲突。良好的依赖管理需平衡 自动化(包管理器)、隔离(虚拟化)和 版本控制,以确保稳定性和可维护性。

  • 国内镜像源

        国内镜像源(Mirror Site)是指位于中国境内的服务器同步存储国外官方软件仓库(如 Ubuntu、CentOS、PyPI、Docker Hub 等)的数据,为国内用户提供更快速、更稳定的软件下载服务。


1. 核心作用
  • 加速访问:避免跨国网络延迟,提升下载速度(如 GitHub 国内镜像)。

  • 规避封锁:解决部分国外源无法直连的问题(如 Docker Hub)。

  • 节省带宽:减轻国际出口流量压力,降低企业/机构网络成本。


2. 常见类型
  1. 操作系统镜像源

    • 同步 Linux 发行版的软件仓库(如 Ubuntu 清华源、CentOS 阿里源)。

  2. 开发工具镜像源

    • 编程语言包仓库(如 PyPI 清华源、NPM 淘宝源)。

  3. 容器镜像源

    • Docker Hub 镜像(如阿里云容器镜像服务)。

  4. 开源项目镜像

    • GitHub 代码仓库镜像(如 GitCode、FastGit)。


3. 工作原理
  • 定期同步:国内服务器按小时/天同步国外官方源的更新。

  • 智能路由:用户访问时自动跳转到最近的镜像节点(如 CDN 加速)。

  • 缓存机制:热门软件长期保留,冷门内容按需同步。


4. 典型代表
  • 高校/机构镜像:清华大学 TUNA、中科大 USTC、阿里云镜像。

  • 企业服务:华为云镜像、腾讯云软件源。


5. 使用场景
  • 配置 Linux 系统的 apt/yum 源时替换为国内地址。

  • 开发时指定 pip/npm 使用国内源安装依赖。


总结

        国内镜像源通过本地化存储+智能分发,解决了跨国软件下载的痛点,是开发者提升效率的基础设施之一。

以下是⼀些国内Linux软件安装源的官方链接:

1. 阿里云官方镜像站

  • 官方链接:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
  • 阿里云提供了丰富的Linux发行版镜像,包括CentOS、Ubuntu、Debian等,用户可以通过该镜像站快速下载和更新软件包。

2. 清华大学开源软件镜像站

  • 官方链接:清华大学开源软件镜像站 | Tsinghua Open Source Mirror
  • 清华大学镜像站提供了多种Linux发行版的镜像,以及Python、Perl、Ruby等编程语言的扩展包。该镜像站还提供了丰富的文档和教程,帮助用户更好地使用这些软件包。

3. 中国科学技术大学开源镜像站

  • 官方链接:USTC Open Source Software Mirror
  • 中科大镜像站提供了多种Linux发行版的镜像,以及常用的编程语言和开发工具。用户可以通过该镜像站方便地获取所需的软件包和工具。

4. 北京交通大学自由与开源软件镜像站

  • 官方链接:首页 - 北京交通大学自由与开源软件镜像站
  • 北交大镜像站提供了多种Linux发行版的镜像,以及相关的软件仓库和工具。该镜像站还提供了详细的文档和指南,帮助用户配置和使用这些软件源。

5. 中国科学院软件研究所镜像站(ISCAS)

  • 官方链接:欢迎访问 ISCAS 开源镜像站
  • ISCAS镜像站提供了多种Linux发行版、编程语言和开发工具的镜像。用户可以通过该镜像站快速获取所需的软件包和更新。

6. 上海交通大学开源镜像站

  • 官方链接:上海交通大学 Linux 用户组 软件源镜像服务
  • 上海交大镜像站提供了丰富的Linux软件资源,包括多种发行版的镜像和软件仓库。用户可以通过该镜像站方便地下载和安装所需的软件包。

7. 易开源镜像站

  • 官方链接:欢迎访问网易开源镜像站
  • 网易镜像站提供了多种Linux发行版的镜像,以及相关的软件仓库和工具。该镜像站还提供了便捷的搜索功能,帮助用户快速找到所需的软件包。

        此外,还有⼀些其他的国内镜像源,如搜狐开源镜像站等,但可能由于时间变化或政策调整,部分镜像站的链接或状态可能有所变动。因此,建议用户在使用前访问官方网站或咨询相关社区以获取最新的信息和帮助。


二、Linux 系统软件安装方式

Linux 系统主要支持以下三种软件安装方法:

  1. 源码编译安装:下载程序源代码后自行编译生成可执行文件
  2. RPM 包安装:直接使用 rpm 命令安装软件包(需自行解决依赖问题)
  3. YUM 工具安装:最常用的安装方式(推荐)

三、YUM 工具简介

YUM 是 Fedora、RedHat 和 CentOS 系统中的软件包管理工具,具有以下优势:

  • 自动从指定服务器下载 RPM 软件包
  • 智能处理软件依赖关系
  • 支持批量安装所有依赖包
  • 避免手动逐个下载安装的繁琐操作
  • 注意事项:同一台服务器在同一时间只能运行一个 yum 安装进程,不可同时安装和运行多个软件。(这个要超级注意)
  • 由于 yum 需要从服务器下载 RPM 包,因此执行安装操作时必须保持主机或者虚拟机网络连接。我们可以通过 ping 命令来检测当前云服务器的网络连通状态。

下面的概念我们会在后面网络层面学到,现在先了解一下:

  • Ping一种网络诊断工具,用于测试主机之间的连通性和延迟。

  • ICMP 协议:通过发送 ICMP Echo Request 数据包并接收 ICMP Echo Reply 来检测目标是否可达。

        好了,现在我们要进入应用yum这个软件包管理器了,但是博主之前切换了一次系统镜像,现在使用的是Ubuntu 20.04系统的云服务器,我们先把镜像切换成CentOS 7.9版本的:(我已经切换好了,如果情况一样的话可以跟着点击下图的切换镜像切换)

        在 Ubuntu 系统中,yum 并不是默认的包管理工具,而是 Red Hat 系(如 CentOS、RHEL、Fedora)的包管理器。Ubuntu 使用的是 APT(Advanced Packaging Tool)和 dpkg 来管理软件包。想了解和运用Ubuntu系统的软件包管理器的话可以上网查找一下。


四、查看软件包(yum list)

yum list:使用yum list指令,可以罗列出可供下载的全部软件包(小心使用,会被刷屏)

yum list

就上图解释:

  1. 软件包命名(中间那一列)规则:主版本号.次版本号.源码版本号-软件包发行号.运行平台.CPU架构
  2. 架构说明:
    • "x86_64"后缀:64位系统安装包
    • "i686"后缀:32位系统安装包 (选择时需与系统架构匹配)
  3. 系统版本标识(操作系统发行版的版本)比如:
    • "el7":CentOS 7/RedHat 7
    • "el6":CentOS 6/RedHat 6
  4. 末列表示软件源名称,我们可以类比手机应用商店(如"荣耀应用商店"、"华为应用商店")

        由于包的数目可能非常之多, 这里我们需要使用grep 命令(只显示与lrzsz相关的软件包只筛选出我们关注的软件包:

我们就查找lrzsz软件包来做说明(先了解一下):

lrzsz 是一个在 Linux/Unix 系统 中用于 串行终端文件传输 的工具集,包含两个主要命令:

  • rz(Receive ZMODEM):从本地计算机(可以是不同的系统)上传文件到远程 Linux 服务器。

  • sz(Send ZMODEM):从远程 Linux 服务器下载文件到本地计算机(可以是不同的系统)。


核心特点

  1. 基于 ZMODEM 协议

    • 支持断点续传、错误检测,适合不稳定网络环境。

  2. 无需额外配置

    • 通过终端(如 XshellSecureCRT)直接拖拽文件即可传输。

  3. 轻量级

    • 不依赖图形界面,纯命令行操作。


典型使用场景

  • 通过 SSH 终端 快速传输小文件(如日志、脚本)。

  • 在 无图形界面的服务器 上替代 scp/ftp 的简易方案。


 五、安装软件

        想要安装软件包,我们用户如果没有相关的权限是不可以的,我们可以通过以下操作来使该用户获得sudo权利:将用户添加到wheel组(推荐)(相关其他普通用户sudo提权方法后面博主会出文章详细说明,不急)

  1. 检查系统是否有wheel组:

    grep wheel /etc/group
  2. 将用户添加到wheel组:

    usermod -aG wheel 用户名
  3. 验证是否添加成功:

    groups 用户名

安装软件指令: sudo yum install 软件名

通过 yum, 我们可以通过很简单的⼀条命令完成相关软件包的安装。

  • yum 会自动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装。
  • 出现 "complete" 字样或者中间未出现报错, 说明安装完成。

注意事项:

  • 安装软件时由于需要向系统目录中写入内容, ⼀般需要 sudo 或者切到 root 账户下才能完成。
  • yum安装软件只能⼀个装完了再装另⼀个. 正在yum安装⼀个软件的过程中, 如果再尝试用yum安装另外⼀个软件, yum会报错。
  • 如果 yum 报错,我们现在可以上网查找一下解决方案,或者后期博主会出文研究一下怎么解决这个问题,以上Ubuntu系统的apt也一样。

        既然我们安装了lrzsz软件包,现在我们就可以使用啦!我们只需要使用以下指令就能完成文件传输:

实现本地机器与云服务器之间的文件互传

若已安装lrzsz工具,具体使用方式如下:

  • 文件上传(本地→云服务器) 执行命令:rz -E 该命令允许您从本地选择文件上传至云服务器

  • 文件下载(云服务器→本地) 执行命令:sz 文件名 该命令可将云服务器上的指定文件下载到本地默认下载目录


六、卸载软件

指令: sudo yum remove 软件名

系统会提示确认卸载操作,输入"y"确认后,当终端显示"complete"时即表示卸载成功。

七、安装源(软件源)

        在 Linux 中,安装源(Software Repository,简称 Repo) 是系统用来下载和安装软件包的远程服务器或本地存储库。它包含了软件包(如 .rpm.deb 文件)及其依赖关系、元数据(如版本、描述、校验信息等)。不同的 Linux 发行版使用不同的包管理工具和软件源格式:

1. 主要 Linux 发行版的安装源

发行版包管理工具软件源格式默认源示例
RHEL/CentOSyum/dnf.repo 文件baseurl=http://mirror.centos.org/centos/$releasever/...
Ubuntu/Debianaptsources.list 文件deb http://archive.ubuntu.com/ubuntu focal main
Arch Linuxpacman.db 数据库Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
openSUSEzypper.repo 文件baseurl=http://download.opensuse.org/distribution/leap/$releasever/repo/oss/

2. 软件源的核心组成

一个典型的软件源包含以下内容:

  1. 软件包文件(如 .rpm.deb

    • 二进制程序、库文件等。

  2. 元数据索引(如 repodata/Packages.gz

    • 记录软件包名称、版本、依赖关系等。

  3. GPG 签名

    • 用于验证软件包的完整性和来源可信性。

3. 软件源的存储位置

(1) 在线源(远程服务器)

  • 默认官方源(如 mirror.centos.orgarchive.ubuntu.com

  • 镜像源(如阿里云、清华、中科大镜像站)

  • 第三方源(如 EPEL、Docker CE、NVIDIA 驱动源)

(2) 本地源(离线使用)

  • ISO 镜像挂载(如 CentOS 的 file:///mnt

  • 自建仓库(如 createrepo 生成的本地 RPM 仓库)

  • 缓存目录(如 /var/cache/yum/var/cache/apt/archives

注意:云服务器不用考虑,因为软件源都是国内的了。


八、一些好玩的命令

详细请看这位博主的博客:Linux命令行的有趣命令_linux有趣的命令-CSDN博客

1、fortune
描述:fortune 命令会显示一条随机的格言、笑话或智慧语句。它可以与 cowsay 结合使用,产生更有趣的效果。

用法:fortune
安装:sudo yum install fortune
示例:fortune | cowsay
这会让一头牛“说”出一个随机的格言或笑话。

2、sl (Steam Locomotive)
描述:sl 是一个有趣的小工具。当你输入 sl 而不是 ls 时,会在你的终端中显示一个蒸汽火车动画。

用法:sl
安装:sudo yum install sl
效果:你会看到一个蒸汽火车从屏幕左侧开到右侧,仿佛真的穿过了你的终端。(如下)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2386837.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webpack吐环境分析

需要解决的问题 扣取下来的webpack文件过大 解决思路 用ast将需要的代码扣下来 结果展示 实现步骤 第一步:我们得知道需要哪些模块 在入口处,增加模块记录 第二步,分析ast代码 通过分析发现,key 有三种值 分别为NumbericLiteral、StringLi…

Unity InputField 滑动滚轮 实现对文本的滚动

一。效果演示: 二。实现原理: 创建一个脚本KeInputScroll.cs 继承InputField类和IScrollHandler接口。如下面代码所示: using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;public class KeInputScroll : InputFiel…

机械设计插件

在进行机械设计的时候,很多厂家对我们开放了外购件的模型,方便我们进行设计选购,但是尽管如此,我们在使用的时候还是很麻烦,我目前使用的是Part data manager来管理这些厂家的模型,使用方法非常简单。 首先…

RabbitMQ核心机制——延迟队列

一、 什么是延迟队列? 消息发送之后,不想让消费者马上收到消息,而是等待特定时间后消费者才能拿到这条消息进行消费。 二、 如何实现延迟队列 RabbitMQ并没有直接支持延迟队列这一功能,如果需要实现延迟队列,有两种方法…

华为云Flexus+DeepSeek征文|Flexus云服务器Dify-LLM资源部署极致体验Agent

前引:重磅来袭!本次以DeepSeek-V3/R1商用大模型和Dify-LLM应用平台一键部署为核心,专为新手打造“开箱即用”的AI开发体验。无论你是想快速搭建企业级AI应用,还是探索大模型落地的无限可能,只需跟随小编实现三步走&…

【Elasticsearch入门到落地】13、DSL查询详解:分类、语法与实战场景

接上篇《12、索引库删除判断以及文档增删改查》 上一篇我们讲解了如何判断索引库是否存在并删除它,以及如何对索引库中的文档进行增删改查操作。本篇我们进入ElasticSearch的DSL语法的详解。 Elasticsearch(ES)作为强大的分布式搜索引擎&…

[欠拟合过拟合]机器学习-part10

7.欠拟合过拟合 7.1欠拟合 欠拟合是指模型在训练数据上表现不佳,同时在新的未见过的数据上也表现不佳。这通常发生在模型过于简单,或者是训练的次数不够,无法捕捉数据中的复杂模式时。欠拟合模型的表现特征如下: 训练误差较高。 …

【windwos】文本编辑器Notepad++ 替代品Notepad--

一、N和N--对比介绍 曾经备受推崇的「Notepad」曾是Windows上的经典代码编辑器。然而,作者的一些政治言论已经让它被广大中国用户抛弃。 一个名为「Notepad--」的新编辑器,也是开源免费,功能和实用性也在尽可能接近。与此同时,「N…

Linux基本指令篇 —— clear指令

clear 是 Linux 和 Unix 系统中用于清空终端屏幕的常用命令。它的作用是移除当前终端窗口中的所有可见内容,提供一个干净的界面,类似于“刷新”终端。以下是关于 clear 的详细解析: 目录 1. 基本用法 2. 实现原理 3. 常见场景 场景 1&…

阿里云DDoS防护:万一被“黑”了,如何更换IP地址?

阿里云DDoS防护:万一被“黑”了,如何更换IP地址“绝地反击”? 各位站长、运维老铁、业务负责人们,大家好!在如今这个网络世界,最让人提心吊胆的,莫过于遭遇**DDoS攻击(分布式拒绝服…

【小白量化智能体】应用2:编写通达信绘图指标及生成Python绘图程序

【小白量化智能体】应用2:编写通达信绘图指标及生成Python绘图程序 【小白量化智能体】是指能够自主或半自主地通过与环境的交互来实现目标或任务的计算实体。智能体技术是一个百科全书,又融合了人工智能、计算机科学、心理学和经济学等多个领域的知识&a…

C++23 std::start_lifetime_as:用于隐式生存期类型的显式生存期管理函数 (P2590R2)

文章目录 一、C23简介二、std::start_lifetime_as 基本概念函数原型模板参数参数返回值注意事项示例代码 三、std::start_lifetime_as 的作用1. 避免复杂的拷贝操作2. 保持对象表示不变3. 简化代码逻辑 四、std::start_lifetime_as 的使用场景1. 内存池管理2. 类型双关&#xf…

Innodb底层原理与Mysql日志机制深入刨析

MySQL的内部组件结构 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 Server层 主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实…

JMeter-SSE响应数据自动化

结构图 背景: 需要写一个JMeter脚本来进行自动化测试,主要是通过接口调用一些东西,同时要对响应的数据进行处理,包括不限于错误信息的输出。 1.SSE(摘录) SSE(Server-Sent Events)是一种基于HTTP协议、允许…

泛型(1)

1.泛型的理解和好处 使用传统方法的问题分析 (1)不能对加入到集合ArrayList中的数据类型进行约束 (2)遍历的时候,需要进行类型装换,如果集合中的数量较大,对效率有影响. 使用泛型的好处 (1)使用泛型添加 (检查元素的类型,提高了安全性.) (2)减少了类型转换的次数,提高效率…

esp8266 点灯科技远程控制继电器

手机端安装点灯科技app 打开 Arduino IDE 编辑&#xff1a; #define BLINKER_WIFI #include <Blinker.h> char auth[] "点灯科技 key"; char ssid[] "wifi ID"; char pswd[] "WiFi key"; // 新建组件对象 BlinkerButton Button1(&q…

MMA: Multi-Modal Adapter for Vision-Language Models论文解读

abstract 预训练视觉语言模型&#xff08;VLMs&#xff09;已成为各种下游任务中迁移学习的优秀基础模型。然而&#xff0c;针对少样本泛化任务对VLMs进行微调时&#xff0c;面临着“判别性—泛化性”困境&#xff0c;即需要保留通用知识&#xff0c;同时对任务特定知识进行微…

使用 Cannonballs 进行实用导体粗糙度建模

在 GB/s 制度下&#xff0c;导体损耗的精确建模是高速串行链路设计成功的前提。未能对粗糙度效果进行建模可能会毁了您的一天。例如&#xff0c;图 1 显示了与测量数据相比&#xff0c;无粗糙度的 40 英寸印刷电路板 &#xff08;PCB&#xff09; 走线的模拟总损耗。总损耗是电…

Spring Boot 注解 @ConditionalOnMissingBean是什么

一句话总结&#xff1a; ConditionalOnMissingBean 是 Spring Boot 提供的一个 条件注解&#xff08;Conditional Annotation&#xff09;&#xff0c;意思是&#xff1a; 只有当 Spring 容器中 不存在 某个 Bean 时&#xff0c;当前的 Bean 或配置才会被加载。 这是一种典型的…

(先发再改)测试流程标准文档

Revision Record 修订记录 序号 修改日期 修改章节 修改描述 拟制 审批 修订版本 1 20250520 初稿 v1.0 目录 1. 文档概述... 7 1.1 文档目的... 7 1.1.1 标准化质量保障流程... 7 1.1.2.…