加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux中package是指什么,包管理器怎样工作

发布时间:2023-05-31 14:12:29 所属栏目:Linux 来源:
导读:这篇文章将为大家详细讲解有关“linux中package是指什么,包管理器如何工作”的知识,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在linux中,package指的是包
这篇文章将为大家详细讲解有关“linux中package是指什么,包管理器如何工作”的知识,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
 
在linux中,package指的是包,也即应用程序,也可以是GUI应用程序、命令行工具或者软件库;package本质上是一个存档文件,其中包含二进制可执行文件、配置文件,还会包含有关依赖项的信息。
 
本教程操作环境:linux7.3系统、Dell G3电脑。
 
包(package)通常是指应用程序,但也可以是 GUI 应用程序、命令行工具或软件库(其他软件程序需要)。包本质上是一个存档文件,其中包含二进制可执行文件、配置文件,有时还包含有关依赖项的信息。
 
Linux 中的包管理器是什么?
 
Linux 发行版之间的主要区别之一是包管理系统(the package management)。
 
简单来说,包管理器是一种工具,允许用户在操作系统上安装、删除、升级、配置和管理软件包。包管理器可以是一个图形应用程序,如软件中心,也可以是命令行工具,如apt-get或pacman。
 
什么是包?
 
包(package)通常是指应用程序,但也可以是 GUI 应用程序、命令行工具或软件库(其他软件程序需要)。包本质上是一个存档文件,其中包含二进制可执行文件、配置文件,有时还包含有关依赖项的信息。
 
以前软件常常从其源代码安装。一般可以参考一个文件(通常名为readme)并查看它需要哪些软件组件和二进制文件的位置。readme通常还包含配置脚本或 makefile。你必须自己编译软件或自行处理所有依赖项(某些软件需要安装其他软件)。
 
为了摆脱这种复杂的方式,Linux 发行版创建了自己的打包格式,为最终用户提供现成的二进制文件(预编译软件),以及一些元数据(版本号、描述)和依赖项用于安装软件。
 
大约在 90 年代中期,Debian 创建了 .deb 或 DEB 打包格式,而 Red Hat Linux 创建了 .rpm 或 RPM(Red Hat Package Manager 的缩写)打包系统。编译源代码仍然存在,但现在只是安装软件的一个可选方式。
 
要与打包系统交互或使用打包系统,还需要一个包管理器。
 
包管理器如何工作?
 
包管理器是一个通用概念,并不是 Linux 独有的。你会遇到不同软件或编程语言的包管理器,有专门用于 Python 包的 PIP 包管理器,甚至Atom 编辑器也有自己的包管理器。
 
几乎所有的 Linux 发行版都有软件存储库,它基本上是软件包的集合。是的,可能有多个存储库。存储库包含不同类型的软件包。
 
存储库还有元数据文件,其中包含有关软件包的信息,例如软件包名称、版本号、软件包描述和存储库名称等。当你在 Ubuntu/Debian 中使用apt show 命令时,就会看到这些信息。
 
系统的包管理器首先与元数据交互。包管理器在系统上创建元数据的本地缓存。当你运行包管理器的更新选项(例如 apt update)时,它会通过引用存储库中的元数据来更新此元数据的本地缓存。
 
当你运行包管理器的安装命令(例如 apt install package_name)时,包管理器会引用此缓存。如果它在缓存中找到包信息,它会使用 Internet 连接连接到适当的存储库,并在安装到系统之前首先下载包。
 
一个包可能有依赖关系。这意味着它可能需要安装其他软件包。包管理器通常会处理依赖项并将其与你正在安装的包一起自动安装。同样,当年你使用包管理器删除一个包时,它会自动删除或通知你系统有可以清理的未使用的包。
 
除了安装、删除这些显而易见的任务外,还可以使用包管理器来配置包并根据需要管理它们。例如,你可以阻止从常规系统更新升级包版本。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!