linux的软件包管理器是什么?是如何工作的?

linux发行版本不同于其他系统的最大的一个点就是软件包管理器。这里您将了解到什么是软件包,什么是软件包管理器,它们是如何工作的,以及现有的可用的软加包管理器。

Linux中的软件包管理器是什么?

简单的解释就是,软件包管理器能够让用户在开源系统中对软件进行安装,删除,更新,配置以及管理等操作的工具。软件包管理器可以是图形应用就像是软件中心,也可以是命令行工具就像是apt-get或者pacman。

什么是软件包?

软件包通常指的就是应用程序,但是也可以是图形界面程序,命令行工具或者软件库(被其他的软件所依赖的),一个软件包本质上包含了二进制执行文件,配置文件有时候会有依赖信息的封装文件。

在早年间,软件的安装通常是通过源码完成的,您可能需要参考一个文件(通常被命名为readme)然后瞅瞅需要什么软件组件以及二进制文件的位置。一般来说包含配置脚本文件以及生成文件,您需要自己编译软件有时候还需要自己解决依赖问题(有些软件的安装是需要其他软件配合)。

为了解决这个麻烦事,linux的发行版本创造了独特的软件安装形式,为想要安装有元数据(版本号,描述)以及依赖的软件的用户,提供了可直接使用的二进制文件(提前编译好的)

一个形象的比喻就是,你想吃蛋糕,你可以自己买原材料做一个,但也可以直接买现成的。

大概在九十年代中期,debian创造了.deb(DEB)为后缀的软件安装包,red hat创造了.rpm(RPM)后缀的软件安装包。编译源码的安装方法仍然存在,但是已经变成了一个选项,而且不是必选项。

软件包管理器如何工作

提前说明白了,软件包管理是一个通用的概念,并不是linux独有的,对于不同的软件和编程语言你都可以找到软件包管理器,就比如pip就是python的软件包管理,甚至是Atom文本编辑器都有自己的软件包管理器。

上图看看软件包管理器如何工作(基于SUSE)

几乎所有的linux的发行版本都有软件库,这个库基本上就是软件的集合。是的,因为linux的版本多,所以软件库已经不止一个了,在软件库里,一般都包含一个软件的不同版本。

软件库里面还有一些元数据文件,这些文件一般包括软件包的一些信息(软件包的名字,版本号,描述性文件以及库的名字等等)

您的软件包管理器首先会与元数据进行交互,之后会在您的系统里生成一个元数据的本地缓存,当你运行软件包管理器的更新指令的时候(就比如apt update命令),它就会通过软件库中的元数据来更新本地的元数据缓存。

当您运行安装命令时(就比如apt install),管理器就会自动指向之前的本地元数据缓存,如果它能够在缓存中找到安装包的信息,它就会使用网络连接去链接到合适的软件库,并会在您的系统上安装这个软件之前首先下载这个软件包。

一个软件包可能会有一些依赖,这意味着您需要安装一些其他的软件包,软件包管理器会注意到这些依赖,之后自动安装您要安装的软件。

相似地,当您要使用软件包管理器删除软件时,它会自动删除,或者告诉您系统里哪些是可以删除的未被使用的包。

除了安装,删除软件的基本功能以外,管理器还可以根据您自己的需求配置和管理软件包。例如,您可以控制一些软件的日常的更新版本,软件包管理器还可以干很多的事情。

软件包管理器的不同种类

不同的系统可能会有不同的软件包管理器,但是一个系统也可以拥有不止一个软件包管理器。

例如,对于rpm文件的使用就可以通过yum或者dnf软件包管理器,而对于deb文件,您具有基于apt-get以及aptitude的命令行软件包管理器。​

软件包管理器并不是说一定要基于命令行,你还可以选择图形界面软件包管理器工具就像是Synaptic,您使用的发行版本自带的软件中心也是软件包管理器,即使它在背后运行apt-get或者DNF命令。

源:https://itsfoss.com/package-manager/

翻译:daxuxu

排版:daxuxu

公众号:archlinux

多多关注

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335