成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux 黑話解釋:什么是包管理器?它是如何工作的?

系統 Linux
在這篇 Linux 黑話解釋中,你將了解 Linux 中的打包和包管理器。你將了解什么是包,什么是包管理器,它們是如何工作的,以及有什么包管理器。

Linux 發行版之間有什么不同 的要點之一是包管理。在這篇 Linux 黑話解釋中,你將了解 Linux 中的打包和包管理器。你將了解什么是包,什么是包管理器,它們是如何工作的,以及有什么包管理器。

[[345960]]

什么是包管理器?

簡單來說,“ 包管理器(package manager)”(或“軟件包管理器”)是一種工具,它允許用戶在操作系統上安裝、刪除、升級、配置和管理軟件包。軟件包管理器可以是像“軟件中心”這樣的圖形化應用,也可以是像 apt-get 或 pacman 這樣的命令行工具。

你會發現我經常在教程和文章中使用“包”這個詞。要了解包管理器,你必須了解什么是包。

什么是包?

一個“ 包(package)”(或“軟件包”)通常指的是一個應用程序,它可以是一個 GUI 應用程序、命令行工具或(其他軟件程序需要的)軟件庫。包本質上是一個存檔文件,包含二進制可執行文件、配置文件,有時還包含依賴關系的信息。

在舊時代, 軟件曾經是從它的源代碼安裝的 。你會參考一個文件(通常命名為 README),看看它需要什么軟件組件、二進制文件的位置。它通常包括一個配置腳本或 Makefile。你必須自己編譯該軟件或自己處理所有的依賴關系(有些軟件需要安裝其他軟件)。

為了擺脫這種復雜性,Linux 發行版創建了自己的打包格式,為終端用戶提供隨時可用的二進制文件(預編譯軟件),以便安裝軟件,同時提供一些 元數據 (版本號、描述)和依賴關系。

這就像烤蛋糕與買蛋糕一樣。

[[345961]]

大約在上世紀 90 年代中期,Debian 創建了 DEB 打包格式(.deb),Red Hat Linux 創建了 RPM(Red Hat Package Manager 的縮寫)打包系統(.rpm)。編譯源代碼的方式仍然存在,但現在是可選的。

要與打包系統交互或使用打包系統,你需要一個包管理器。

包管理器是如何工作的?

請記住,包管理器是一個通用的概念,它并不是 Linux 獨有的。你會經常發現各種軟件或編程語言的包管理器。有 只是針對 Python 包的 PIP 包管理器 。甚至 Atom 編輯器也有自己的包管理器 。

由于本文的重點是 Linux,所以我會從 Linux 的角度出發。不過,這里的大部分解釋也可以應用于一般的包管理器。

我創建了這個圖(基于 SUSE Wiki),這樣你就可以很容易理解包管理器是如何工作的。

Linux 黑話解釋:什么是包管理器?它是如何工作的?

幾乎所有的 Linux 發行版都有“ 軟件倉庫(software repository)”,它基本上是軟件包的集合。是的,可以有不止一個軟件庫。軟件庫包含不同種類的軟件包。

軟件倉庫也有元數據文件,其中包含了軟件包的信息,如軟件包的名稱、版本號、軟件包的描述和軟件倉庫名稱等。這就是你在 Ubuntu/Debian 中使用 apt show 命令 所看到的。

你的系統上的包管理器首先會與元數據進行交互。包管理器在你的系統上創建了一個元數據的本地緩存。當你運行包管理器的更新選項(例如 apt update)時,它會通過引用倉庫中的元數據來更新本地元數據緩存。

當你運行軟件包管理器的安裝命令(例如 apt install package_name)時,軟件包管理器會引用這個緩存。如果它在緩存中找到了包的信息,它就會使用互聯網連接到相應的倉庫,并在你的系統上安裝之前先下載包。

一個包可能有依賴關系。意思是說,它可能需要安裝其他軟件包。軟件包管理器通常會處理這些依賴關系,并將其與你正在安裝的軟件包一起自動安裝。

Linux 黑話解釋:什么是包管理器?它是如何工作的?

Linux 中包管理器會處理依賴關系

同樣,當你使用包管理器刪除一個包時,它要么自動刪除,要么通知你系統有未使用的包可以清理。

除了安裝、刪除這些顯而易見的任務外,你還可以使用包管理器對包進行配置,并根據自己的需要進行管理。例如,你可以在常規的系統更新中 防止升級某個包的版本 。你的包管理器可能還能做很多事情。

不同種類的包管理器

包管理器因打包系統而異,但同一打包系統卻可能有多個包管理器。

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

Linux 黑話解釋:什么是包管理器?它是如何工作的?

Synaptic 包管理器

軟件包管理器不一定是基于命令行的,也有圖形化的軟件包管理工具,比如 Synaptic 。你的發行版的“軟件中心”也是一個軟件包管理器,即使它在底層運行的是 apt-get 或 DNF。

結論

我不想進一步詳細介紹這個話題,雖然我可以繼續說下去,但這將偏離本主題的目標 —— 即讓你對 Linux 中的包管理器有一個基本的了解。

我暫時忽略了新的通用打包格式,比如 Snap 和 Flatpak。

 

責任編輯:趙寧寧 來源: Linux中國
相關推薦

2020-10-31 17:00:33

Linux顯示管理器

2020-09-04 06:26:22

Linux桌面環境操作系統

2020-09-16 06:07:17

LinuxUbuntu LTS長期支持

2024-08-19 00:25:00

2020-09-11 08:41:50

域名系統DNS網絡

2021-12-16 14:25:03

Linux定時任務

2022-01-26 11:04:06

Linux上游upstream下游downstre

2020-09-13 09:19:58

Linux Linux 發行版操作系統

2020-09-07 19:45:37

Linux顯示服務器黑話解釋

2024-09-03 10:15:21

2020-09-22 07:33:50

Linux

2020-09-22 07:32:56

Linuxstat 命令滾動發行版

2021-12-20 14:56:07

LinuxTTY

2022-10-11 16:09:27

系統Linux管理器

2023-04-17 07:36:28

Arch LinuxGUI

2020-11-10 22:57:32

LinuxGUICLI

2020-11-10 11:29:36

LinuxGUICLI

2022-04-03 13:17:21

Linux黑話解釋GRUB

2020-10-24 17:44:57

LinuxFOSS自由和開源軟件

2023-07-03 14:36:07

物聯網IoT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产精品久久久久久 | 欧美激情啪啪 | 超碰免费在| 国产人成精品一区二区三 | 天天色天天射天天干 | 欧美在线国产精品 | 中文字幕 在线观看 | 国产成人精品一区二区三区在线观看 | 日韩高清成人 | 国产成人精品一区二区三区视频 | 欧美日韩中文字幕 | 成人午夜电影在线观看 | 夜久久| h视频在线观看免费 | 国产日韩一区二区三区 | 亚洲三区在线观看 | 欧美欧美欧美 | 六月色婷| 亚洲精品久久久久中文字幕欢迎你 | 97精品国产97久久久久久免费 | 天天综合永久入口 | 久草.com| .国产精品成人自产拍在线观看6 | 国产一区免费视频 | 亚洲欧美激情精品一区二区 | 99爱视频 | 又爽又黄axxx片免费观看 | 精品一区二区三区中文字幕 | 青青久久 | 午夜精品福利视频 | 日韩在线大片 | 天天精品综合 | 狠狠躁夜夜躁人人爽天天高潮 | 欧美亚洲一区二区三区 | 古装三级在线播放 | 二区av | 久久精品 | 国产精品免费观看视频 | 免费在线观看黄网站 | 男人久久天堂 | 91小视频在线 |