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

Linux软件包管理器,软件生态及yum的安装介绍

软件包管理器

Linux下安装软件的常见方式:

1. 源代码安装

2. rpm包安装

3. 包管理器安装---最佳实践

什么是软件包?

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

Linux软件生态

Linux下载软件的过程

以 Ubuntu,Centos为例 :

这张图是对Linux软件下载流程的直观解释,我们可以把它想象成一场“软件快递”的协作:

  • 你的云服务器(左侧):是你操作的“根据地”,里面的包管理器(yum/apt) 就像“智能快递员”,负责处理“解决依赖、下载、安装、卸载”这些核心任务。
  • 软件包服务器(右侧):是“软件仓库”,里面存着各种“软件包(如软件包1、2…8)”,就像不同的快递包裹。
  • 流程互动:当你想装软件时,“智能快递员”(包管理器)会向“软件仓库”(软件包服务器)发送“查找、下载请求”,找到需要的软件包后,“仓库”会把包裹“下载返回”到你的服务器,之后包管理器再自动处理依赖和安装,让你能顺利用上软件。

简单来说,这张图就是把Linux下“装软件”的过程,具象成了“本地请求-远程仓库响应-协作完成安装”的快递式流程,让你明白包管理器和软件仓库是怎么配合给你“送软件”的

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

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

  • 「开源精神」:觉得技术该共享,大家一起把软件做好。
  • 「拉人共建」:用户多了,大家一起找bug、加功能,软件越做越好。
  • 「间接赚钱」:靠免费软件吸引用户,再通过技术支持、云服务之类的业务赚钱;或者打响名气,方便接活儿、谈合作。

这张图展示了Linux软件从开发到用户下载使用的完整流程,可以分成两个部分理解:
左侧:用户下载软件的流程

  • 你的云服务器里的包管理器(yum/apt) 负责处理“解决依赖、下载、安装、卸载”等任务。
  • 当你需要安装软件时,包管理器会向软件包服务器发送“查找、下载请求”,找到对应的软件包后,服务器将包“下载返回”到你的服务器,完成安装。

右侧:软件的开发与发布流程

  • 开发者编写软件的源代码,然后将其编译发布成不同Linux发行版的软件包(如Ubuntu软件包、CentOS软件包、其他Linux环境软件包)。
  • 这些软件包被上线到软件包服务器中,供用户的包管理器下载使用。

简单来说,这张图完整呈现了“开发者做软件→发布到服务器→用户通过包管理器下载安装”的全链路,让你明白Linux软件是如何从开发端到达用户端的。

软件包的依赖问题

这张图表达了,你要装的软件不是孤立的,它得依赖一堆“小部件”(比如 libc.so 、 ssl.so 这些)才能跑起来。而且这些“小部件”可能还依赖其他“更小的部件”(比如 libhttplib.so 依赖 libc++.so 、 XXX.so )。包管理器就是帮你自动把这些层层依赖的“部件”都找齐、装好,让你的软件能正常运行。也就是提供了自动解决依赖关系的功能。

镜像源

国内镜像源 : 

这张图展示了Linux软件包镜像源的工作逻辑,可以分成以下两部分理解:
1. 国外镜像源与国内镜像源的区别  

  • 国外软件包服务器:是官方或国外机构维护的软件仓库,位于海外。
  • 国内软件包服务器(镜像源):是国内机构把国外仓库的软件包“复制”到国内的服务器(比如阿里云、清华大学的镜像站)。 

2. 镜像源的作用

  • 因为国外服务器在海外,国内用户直接访问时下载速度慢,甚至可能因为网络问题连接不稳定。国内镜像源把软件包同步到国内,用户的云服务器(通过包管理器yum/apt)优先从国内镜像源下载软件,就能大幅提升下载和安装软件的速度,让装软件更顺畅。

简单来说,国内镜像源就是“国外软件仓库的国内副本”,专门解决国内用户下载Linux软件慢的问题

软件源

这张图展示了Linux软件源的分类与协作逻辑,可以分两部分理解:
1. 软件源的分类

  • 稳定软件源:包含经过充分测试、稳定性高的软件包,是系统默认依赖的核心软件仓库。
  • 扩展软件源:提供稳定源之外的额外软件包(比如更多小众工具、最新版本软件),丰富了可安装的软件种类。

2. 整体流程

  • 开发者编写软件源代码,编译发布成不同Linux发行版的软件包(如Ubuntu、CentOS对应的包),然后上线到国外软件包服务器的“稳定源”或“扩展源”中。
  • 你的云服务器通过包管理器(yum/apt),从国外软件包服务器的软件源中发送“查找、下载请求”,获取需要的软件包后完成安装。

简单来说,这张图是告诉:Linux的软件源分“稳定”和“扩展”两类,开发者把软件包放到对应的源里,你通过包管理器就能从这些源中下载安装软件

安装源

简单来说,安装源是 Linux 系统“软件仓库的地址簿”,Yum 和 APT 就是通过这些配置文件,知道从哪里下载软件包。CentOS 和 Ubuntu 因为包管理器不同,所以配置文件的路径和形式也有差异

Cetnos 安装源路径:
$ ll /etc/yum.repos.d/
total 16
-rw-r--r-- 1 root root 676 Oct 8 20:47 CentOS-Base.repo # 标准源
-rw-r--r-- 1 root root 230 Aug 27 10:31 epel.repo # 扩展源
CentOS 安装源(Yum 源)
  1. 配置文件路径: /etc/yum.repos.d/ 
  2. CentOS-Base.repo :是标准源,包含 CentOS 官方维护的基础软件包仓库。
  3. epel.repo :是扩展源(EPEL),提供官方源之外的更多软件包。若要安装扩展源,可执行命令  sudo yum install -y epel-release 。
Ubuntu 安装源路径:
$ cat /etc/apt/sources.list # 标准源
$ ll /etc/apt/sources.list.d/ # 扩展源

Ubuntu 安装源(APT 源)

  1. 标准源配置文件: /etc/apt/sources.list 
  2. 扩展源配置目录: /etc/apt/sources.list.d/ 
  3. (Ubuntu 安装扩展源需结合具体场景,按需添加配置文件到该目录)

总之 : 

软件包和软件包管理器,就好比APP和应用商店这样的关系,我们下载一个APP你可能会去应用商店去找 , 有这样一个问题:我们在手机上使用的应用市场(app,客户端),这上面显示出来的app是在手机上,还是在我们看不到的服务器上呢?

答案是在服务器上,当我们点击下载时,会从服务器上去找该APP然后通过服务器传送到我们的手机上

应用市场和应用(app)

软件包管理器和软件包,Linux下centos的软件包管理器是:yum,yum相当于手机上的应用商店,命令/工具->(配置文件)指明我们应该去哪里下载资源

yum软件包管理器

yum是什么?

Yum 软件包管理器:CentOS 系统的“软件管家”

  • 在 Linux 世界中,软件的安装、升级与卸载曾是令不少初学者头疼的问题,而 Yum(Yellowdog Updater, Modified) 的出现,彻底改变了这一局面。它是专为 CentOS、RHEL(Red Hat Enterprise Linux)等发行版打造的包管理器,以“自动化解决依赖 + 一站式软件管理”的能力,成为服务器运维和系统管理的核心工具之一。

Yum 的核心定位:Linux 软件的“智能管家”

  • Yum 的本质是一套自动化的软件管理工具链,它基于 RPM(Red Hat Package Manager)包格式,为用户提供了“安装、升级、卸载、查询”软件的统一入口。
  • 举个例子:你想在 CentOS 服务器上安装一款 Web 服务器软件(如 Nginx),如果没有 Yum,你需要手动找到 Nginx 的 RPM 包,再逐个解决它依赖的“库文件、组件”(比如  openssl 、 pcre  等),过程繁琐且极易出错;而有了 Yum,只需一条命令  yum install nginx ,它会自动分析依赖、下载所有需要的包并完成安装,全程无需人工干预。

这张图是通过  which yum  命令查询 Yum 程序在系统中的安装路径。
输出结果  /usr/bin/yum  表示,Yum 程序位于系统的  /usr/bin  目录下。 which  命令的作用是查找可执行程序在系统中的具体位置,这里的结果说明你在命令行中输入  yum  时,系统会从  /usr/bin  目录中调用这个程序来执行软件包管理操作。

查看Yum软件包

我们可以通过 yum lis t命令罗列出当前一些共有哪些软件包,但是由于包的数目非常多,这里我们需要使用grep命令来只筛选出我们关注的包 , 例如:

这张图是执行  yum list | grep lrzsz  命令后的结果,说明系统中已安装了  lrzsz  软件包,版本是  0.12.20-36.el7 ,架构为  x86_64 。 lrzsz  是 Linux 系统中用于文件传输的工具,支持通过串口或 SSH 连接进行文件的上传( rz  命令)和下载( sz  命令),常用于服务器与本地之间的文件交互场景。

安装软件

命令: sudo yum install 软件包名 sudo apt install 软件包名

从 Yum 仓库下载并安装指定软件包,同时自动解决所有依赖关系。

注意事项:

  • yum/apt会自动找到都有哪些软件包需要下载,这时候敲 "y" 确认安装.
  • 出现 "complete" 字样或者中间未出现报错,说明安装完成.
  • 安装软件时由于需要向系统目录中写入内容,一般需要 sudo 或者切到 root 账户下才能完成.
  • yum/apt安装软件只能一个装完了再装另一个.正在yum/apt安装一个软件的过程中,如果再尝试用yum/apt安装另外一个软件,yum/apt会报错.

卸载软件

命令: sudo yum remove 软件包名 sudo yum remove 软件包名

卸载指定软件包,同时会询问是否卸载其依赖(可根据需求选择)。

注意事项

关于 yum / apt 的所有操作必须保证主机(虚拟机)网络畅通!!!

总结:

Linux软件安装与管理摘要:本文介绍了Linux系统下三种主要软件安装方式(源代码、RPM包和包管理器),重点讲解了包管理器的工作原理。通过类比"应用商店",阐述yum/apt等包管理器如何自动解决依赖关系、从软件仓库获取并安装软件包。文章还解析了国内镜像源的作用、软件包依赖关系处理机制,以及CentOS和Ubuntu系统下安装源配置的差异。最后详细说明了yum/apt的常用命令(安装、卸载、查询)及使用注意事项,强调了网络连接对包管理器操作的重要性。

http://www.dtcms.com/a/440564.html

相关文章:

  • 律师事务所网站建设方案江门网站推广软件
  • 淘宝商家网站建设ps做网站如何
  • 东莞市主营网站建设平台2020国内十大小说网站排名
  • 长春网站开发培训价格如何更改wordpress后台地址
  • 北京网站建设z亿玛酷1专注百度竞价包年推广是怎么回事
  • 惠州住房和城乡建设局网站新闻式软文
  • 网页设计与网站开发的卷子wordpress表格图表插件
  • 网站建设流程范文营销推广活动方案
  • 如何申请网站域名流程正规seo排名公司
  • 攻防世界-Web-file_include
  • 建行网银盾插上以后网页无法打开珠海seo快速排名
  • 修改网站版权iis如何建立网站
  • 佛山移动网站建设公司wordpress内容
  • wordpress云建站深圳建筑设计有限公司
  • 怎样上网站dns解析不了杭州公司注销网站备案
  • 如何自己做代理网站的想法网站改版思路
  • 领优惠券的小网站怎么做广州做地铁的公司网站
  • 网站建设与管理需要哪些证书北京三快在线科技有限公司
  • 简易手机网站开发中国能源建设集团招聘
  • 网站改版合同书公司官网制作教程
  • 有什么网站可以做简历免费ps软件网站
  • 网站查询平台官网嘉兴做网站建设的公司哪家好
  • 建设银行网站买手机wordpress 4.7.11搬家
  • 做理论的网站黄村网站开发公司电话
  • 做二手房网站有哪些邢台做wap网站费用
  • 廊坊专业网站制作服务移动互联网营销
  • 建筑专业网站wordpress postgres
  • 大都会app官网最新云seo关键词排名优化软件
  • 最简单的电子商务网站建设代码定制高端网页
  • 宝盈集团直营网站怎么做wordpress网址更换