IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 什么是 Linux发行版;什么是包;什么是包管理器 -> 正文阅读

[系统运维]什么是 Linux发行版;什么是包;什么是包管理器

一个朴素的常见的GNU/Linux操作系统发行版(如 Ubuntu)内容如下:


?

1.? Linux发行版(也被称为GNU/Linux发行版):

是一个系统,用户无须编译,安装后即可使用

2. Linux发行版一般集成了 "GNU/Linux 操作系统" 和 "各种应用软件(如 桌面环境、办公包(eg. Ubuntu的LibreOffice四件套)、媒体播放器、数据库等应用)"

3. Linux发行版(一般)通过 "软件包管理器" 来 支持和管理 自带的预安装软件 和 用户自己下载的应用软件? ? ?

["软件包管理器"? 含义见下文]

4. Linux发行版 有两大类:

一类是商业发行版:如 Ubuntu(Canonical公司)、Red Hat Enterprise Linux等等

另一类是 社区发行版 :(它们由自由软件社区提供支持)如:Debian、Fedora、Arch等等


1. 什么是“软件包”(也称作? "包"):

Linux发行版 一般会按照 功能或服务 被切分成多个软件包(例如,将处理图片格式的功能封装为一个软件包)

[Linux发行版也是一堆软件的集合,所以它也是被切割为多个软件包,然后被软件包管理系统 安装的]

==> 软件包本质上是一个存档文件,包含二进制可执行文件、配置文件和一些必要的依赖信息。(软件包一般是 :已经被编译过的机器码 + 描述信息、版本信息、依赖信息等构成的元数据)

2. 软件包管理器?:

软件包管理器 是一种工具:它可以根据 软件包 提供的元数据 ,准许用户在操作系统上 安装、删除、升级、配置和管理 软件包。

软件包管理器可以是“软件中心”这样的图形化应用,也可以是 apt-get 或 pacman 这样的命令行工具。
?

[ps]软件包管理器不只是Linux上的概念,例如,对于python的包,也有 pip 包管理器

3. 【补充】为什么会出现包、包管理器这种东西:

以前,安装一个软件要通过源码进行安装:我们需要自己来部署源码之间的依赖关系,并且要求我们自己在本机将源码编译成功才可以使用该软件

人们通过软件提供的 README 来查看这个软件想要编译成功需要什么软件组件、各个二进制文件的位置都如何摆放(来实现依赖)。

往往,提供软件源码的人会给出一个配置脚本Makefile 来协助我们编译成功该软件。

为了避免上述的复杂操作:Linux发行版创建了自己的打包格式

(不同的Linux发行版本一个很大的不同就在于其打包方式和包管理器的管理方式不一致)

Linux发行版为终端用户提供了随时可用的预编译软件(二进制的包),以方便软件的安装;同时,为这些包数据提供一些元数据和依赖关系描述方便包管理器进行 安装、更新、配置、卸载等操作

pps. 我们在ubuntu中常用的 .deb包 就是上世纪90年代中期,Linux发行版 Debian创建的DEB打包格式

另一家商业Linux发行版 Red Hat Linux 创建了 RPM(Red Hat Package Manager 的缩写)打包系统(.rpm)


链接:

技术|包管理器的进化

技术|Linux 黑话解释:什么是包管理器?它是如何工作的?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 13:11:55  更:2022-10-17 13:13:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 3:22:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计