讲解一下linux 中包管理器

在 linux 中,包管理器非常重要,了解如何使用多种包管理器可以让你像一个高手一样活得很舒适,从在仓库下载软件、安装软件,到更新软件、处理依赖和删除软件是非常重要的,这也是Linux 系统管理的一个重要部分。

什么是包管理器?

简单来说,“ 包管理器(package manager)”(或“软件包管理器”)是一种工具,它允许用户在操作系统上安装、删除、升级、配置和管理软件包。软件包管理器可以是像“软件中心”这样的图形化应用,也可以是像 apt-get 或 pacman 这样的命令行工具。

你会发现我经常在教程和文章中使用“包”这个词。要了解包管理器,你必须了解什么是包。

什么是包?

一个“ 包(package)”(或“软件包”)通常指的是一个应用程序,它可以是一个 GUI 应用程序、命令行工具或(其他软件程序需要的)软件库。包本质上是一个存档文件,包含二进制可执行文件、配置文件,有时还包含依赖关系的信息。

在旧时代, 软件曾经是从它的源代码安装的 。你会参考一个文件(通常命名为 README),看看它需要什么软件组件、二进制文件的位置。它通常包括一个配置脚本或 Makefile。你必须自己编译该软件或自己处理所有的依赖关系(有些软件需要安装其他软件)。

为了摆脱这种复杂性,Linux 发行版创建了自己的打包格式,为终端用户提供随时可用的二进制文件(预编译软件),以便安装软件,同时提供一些 元数据 (版本号、描述)和依赖关系。

这就像烤蛋糕与买蛋糕一样。

什么是Linux包管理器,它是如何工作的?什么是Linux包管理器,它是如何工作的?

大约在上世纪 90 年代中期,Debian 创建了 DEB 打包格式(.deb),Red Hat Linux 创建了 RPM(Red Hat Package Manager 的缩写)打包系统(.rpm)。编译源代码的方式仍然存在,但现在是可选的。

要与打包系统交互或使用打包系统,你需要一个包管理器。

包管理器是如何工作的?

请记住,包管理器是一个通用的概念,它并不是 Linux 独有的。你会经常发现各种软件或编程语言的包管理器。有 只是针对 Python 包的 PIP 包管理器 。甚至 Atom 编辑器也有自己的包管理器 。

由于本文的重点是 Linux,所以我会从 Linux 的角度出发。不过,这里的大部分解释也可以应用于一般的包管理器。

我创建了这个图(基于 SUSE Wiki),这样你就可以很容易理解包管理器是如何工作的。

几乎所有的 Linux 发行版都有“ 软件仓库(software repository)”,它基本上是软件包的集合。是的,可以有不止一个软件库。软件库包含不同种类的软件包。

软件仓库也有元数据文件,其中包含了软件包的信息,如软件包的名称、版本号、软件包的描述和软件仓库名称等。这就是你在 Ubuntu/Debian 中使用 apt show 命令 所看到的。

你的系统上的包管理器首先会与元数据进行交互。包管理器在你的系统上创建了一个元数据的本地缓存。当你运行包管理器的更新选项(例如 apt update)时,它会通过引用仓库中的元数据来更新本地元数据缓存。

当你运行软件包管理器的安装命令(例如 apt install package_name)时,软件包管理器会引用这个缓存。如果它在缓存中找到了包的信息,它就会使用互联网连接到相应的仓库,并在你的系统上安装之前先下载包。

一个包可能有依赖关系。意思是说,它可能需要安装其他软件包。软件包管理器通常会处理这些依赖关系,并将其与你正在安装的软件包一起自动安装。

Linux 中包管理器会处理依赖关系

同样,当你使用包管理器删除一个包时,它要么自动删除,要么通知你系统有未使用的包可以清理。

除了安装、删除这些显而易见的任务外,你还可以使用包管理器对包进行配置,并根据自己的需要进行管理。例如,你可以在常规的系统更新中 防止升级某个包的版本 。你的包管理器可能还能做很多事情。

不同种类的包管理器

包管理器因打包系统而异,但同一打包系统却可能有多个包管理器。

例如,RPM 有 Yum 和 DNF 包管理器。对于 DEB,你有 apt-get、 aptitude 等基于命令行的包管理器。

Synaptic 包管理器

软件包管理器不一定是基于命令行的,也有图形化的软件包管理工具,比如 Synaptic 。你的发行版的“软件中心”也是一个软件包管理器,即使它在底层运行的是 apt-get 或 DNF。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/221440.html<

(0)
运维的头像运维
上一篇2025-04-15 01:02
下一篇 2025-04-15 01:03

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注