网易首页 > 网易号 > 正文 申请入驻

Linux 包管理器比较:dnf 和 apt | Linux 中国

0
分享至

导读:包管理器提供大致相同的功能:安装、管理和移除应用,但是它们还是有一些不一样的地方。           

本文字数:4559,阅读时长大约: 6分钟

https://linux.cn/article-13620-1.html
作者:Seth Kenlon
译者:perfiffer

有多种方式。例如,有新的 Flatpak 和容器方式,也有 DEB 和 RPM 这样一直以来经过考验的方式。

并没有一种通用的可以用于所有的操作系统的应用安装程序。如今,因为有无数的开发者发布软件,这导致了大部分的操作系统使用了应用商店(包括第一方和第三方)、拖放式安装,还有安装向导。不同的开发者对于他们发布的代码有不同的需求,这直接导致了他们所选择的安装方式的不同。

Linux 开创了一种通过命令行安装、管理、移除应用的包管理器的概念。 和 就是两种较为常见的包管理器。 命令是用来管理 DEB 格式的包, 命令是用来管理 RPM 格式的包。这两种包管理器在理论上并不是完全互斥的,尽管在实际的实践中,Linux 发行版通常只会使用到其中的一种。理论上,这两种命令可以运行在同一个系统上,但是会造成安装包的重叠,版本控制也会更加困难,命令也会是冗余的。然而,如果你是在一个混合的 Linux 环境下工作,比如你的工作站运行的是一个发行版,同时需要与运行另外一种发行版的服务器进行交互,那么你最好同时掌握这两种包管理器。

搜索应用

当你通过包管理器安装一个应用时,你需要先知道包的名称。通常,应用的名称和包的名称是一样的。 和 验证要安装的包名的过程是完全相同的。

  1. $ sudo dnf search zsh

  2. ====== Name Exactly Matched: zsh ======

  3. zsh.x86_64 : Powerful interactive shell

  4. [...]

使用 :

  1. $ sudo apt search zsh

  2. Sorting... Done

  3. Full Text Search... Done

  4. csh/stable 20110502-4+deb10u1 amd64

  5. Shell with C-like syntax

  6. ddgr/stable 1.6-1 all

  7. DuckDuckGo from the terminal

  8. direnv/stable 2.18.2-2 amd64

  9. Utility to set directory specific environment variables

  10. draai/stable 20180521-1 all

  11. Command-line music player for MPD

  12. [...]

如果想通过 更快的获取相关的搜索结果,你可以使用 :

  1. apt search ^zsh

  2. Sorting... Done

  3. Full Text Search... Done

  4. zsh/stable 5.7.1-1 amd64

  5. shell with lots of features

  6. [...]

查找应用程序包

有一些命令是与其它命令捆绑在一起的,都在一个包中。在这种情况下,你可以通过包管理器去了解哪个包提供了你需要的命令。 和 命令在如何搜索这类元数据上是有区别的。

使用 :

  1. $ sudo dnf provides pgrep

  2. procps-ng-3.3.15-6.el8.x86_64 : System and process monitoring utilities

  3. Repo : baseos

  4. Matched from:

  5. Filename : /usr/bin/pgrep

命令使用子命令 apt-file。要使用 apt-file,你必须先安装它,然后提示它更新缓存:

  1. $ sudo apt install apt-file

  2. Reading package lists... Done

  3. Building dependency tree

  4. Reading state information... Done

  5. The following additional packages will be installed:

  6. libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl

  7. The following NEW packages will be installed:

  8. apt-file libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl

  9. 0 upgraded, 5 newly installed, 0 to remove and 14 not upgraded.

  10. Need to get 297 kB of archives.

  11. After this operation, 825 kB of additional disk space will be used.

  12. Do you want to continue? [Y/n] y

  13. $ sudo apt-file update

  14. [...]

你可以通过 apt-file 搜索命令。你可以使用此命令进行广泛的全局搜索,但假如你知道命令的执行路径,它会更准确:

  1. $ sudo apt-file search /usr/bin/pgrep

  2. pgreplay: /usr/bin/pgreplay

  3. procps: /usr/bin/pgrep

安装应用程序

使用 和 安装应用程序基本上是相同的:

  1. $ sudo apt install zsh

使用 ,你可以使用同样的方式来安装一个包:

  1. $ sudo dnf install zsh

许多基于 RPM 的发行版都具有组包安装的特性,它会将有时表面相关的应用程序收集到一个易于安装的目标中。例如,Fedora 中的 组包就包含流行的创意应用程序。那些想要某一个创意应用程序的艺术家可能也想要类似的应用程序,选择安装一整个组包一个简单而快速的方法,可以合理地开始建立一个数字工作室。你可以通过 group list 来查看可用的组包(使用 -v 来查看不带空格的组名):

  1. $ sudo dnf group list -v

  2. [...]

  3. Available Groups:

  4. Container Management (container-management)

  5. RPM Development Tools (rpm-development-tools)

  6. Design Suite (design-suite)

  7. Development Tools (development)

  8. [...]

使用 group install 子命令安装 RPM 组包:

  1. $ sudo dnf group install design-suite

你可以使用 @ 符号来减少输入:

  1. $ sudo dnf install @design-suite

更新应用程序

使用包管理器的一个优点是,它知道所有已经安装的应用。这样你不必去寻找应用程序的更新版本。相反,你可以通过包管理器去获取更新的版本。

和 使用的子命令略有不同。因为 保存了一个需要定期更新的缓存信息,它使用 upgrade 子命令来更新应用程序:

  1. $ sudo apt upgrade

相比之下, 命令在你每次使用时都会更新元信息,所以 updateupgrade 子命令是可以互换的:

  1. $ sudo dnf upgrade

这等同于:

  1. $ sudo dnf update

移除应用程序

如果你曾经尝试在任何一个平台上手动删除一个应用程序,你就会知道,应用程序删除后,在硬盘上会残留各种文件,比如首选项文件、数据或图标。所以包管理器的另一个优点是,包管理器管理着包中安装的每一个文件,可以很方便的删除:

  1. $ sudo dnf remove zsh

remove 子命令也适用于 :

  1. $ sudo apt remove zsh

使用 命令删除一个包并不会删除已修改的用户配置文件,以防你意外删除了包。如果你想通过 命令删除一个应用及其配置文件,请在你之前删除过的应用程序上使用 purge 子命令:

  1. $ sudo apt purge zsh

和 都不会删除家目录中的数据和配置文件(即使使用 purge 子命令)。如果想要从家目录中删除数据,你必须手动操作(通常你可以在 ~/.config~/.local 文件中找到)。

了解包管理

无论你选择的发行版支持的是 还是 ,这些命令的用途大致相同。它们可以帮助你安装、更新和移除包。这两种包管理器是目前最通用的包管理器。它们的语法元素在很大程度上是相同的,所以在两者之间切换非常容易。

和 还有一些高级功能,例如仓库管理,但这些功能并不像你使用 searchinstall 那样频繁。

无论你更经常使用哪种包管理器,你都可以下载我们的 和 ,以便你在最需要的时候可以查询使用语法。

via:

作者: 选题: 译者: 校对:

本文由 原创编译, 荣誉推出

欢迎遵照 CC-BY-NC-SA 协议规定转载,

如需转载,请在文章下留言 “ 转载:公众号名称”,

我们将为您添加白名单,授权“ 转载文章时可以修改”。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
37分+11板+11助,10战9胜!2.24亿巨头兑现天赋,他要进全明星

37分+11板+11助,10战9胜!2.24亿巨头兑现天赋,他要进全明星

世界体育圈
2024-11-26 21:14:18
印度政府串通首富造假,一起骗了美国人210亿

印度政府串通首富造假,一起骗了美国人210亿

帅真商业
2024-11-26 17:45:21
快船溃败看清现实!哈登失误迎里程碑,莱昂纳德伤势最新进展

快船溃败看清现实!哈登失误迎里程碑,莱昂纳德伤势最新进展

体坛小李
2024-11-26 20:41:54
11月24日俄乌:俄中将殒命库尔斯克,俄军损失突破73万

11月24日俄乌:俄中将殒命库尔斯克,俄军损失突破73万

山河路口
2024-11-24 18:32:18
新冠疫情时名声大噪的4位专家,为何后来口碑出现逆转?

新冠疫情时名声大噪的4位专家,为何后来口碑出现逆转?

李昕言温度空间
2024-11-25 10:14:27
刘亦菲在外喝茶被偶遇,真人比电视里美,每一个回眸都让人看不腻

刘亦菲在外喝茶被偶遇,真人比电视里美,每一个回眸都让人看不腻

南城无双
2024-11-26 01:16:00
俄罗斯与日本合作,共同开发库页岛油气资源,为何没有选择中国?

俄罗斯与日本合作,共同开发库页岛油气资源,为何没有选择中国?

听风者说
2024-11-26 21:17:22
辽沈战役表明:毛泽东的个性正适合做统帅

辽沈战役表明:毛泽东的个性正适合做统帅

斜杠历史
2023-11-27 20:01:42
轰41分+6记三分!中国男篮又一18岁新星崛起:得分榜第一力压名将

轰41分+6记三分!中国男篮又一18岁新星崛起:得分榜第一力压名将

李喜林篮球绝杀
2024-11-26 17:36:59
美智库:在空袭大陆之前,美军应该警告中国,解放军不许还击

美智库:在空袭大陆之前,美军应该警告中国,解放军不许还击

胖福的小木屋
2024-11-25 23:44:21
位置和亚马尔冲突!世体:巴萨内部就免签萨拉赫产生“合理争论”

位置和亚马尔冲突!世体:巴萨内部就免签萨拉赫产生“合理争论”

直播吧
2024-11-26 17:57:35
医院人妻通奸后续:开房几十次,多次用咬,人妻美照曝光

医院人妻通奸后续:开房几十次,多次用咬,人妻美照曝光

蜉蝣说
2024-10-24 16:07:30
139cm的小矮马—Alice Merchesi

139cm的小矮马—Alice Merchesi

吃瓜党二号头目
2024-11-25 09:35:46
徐杰晒与孙颖莎合影:大V调侃莎莎长到1.7米 邱导背影显得很落寞

徐杰晒与孙颖莎合影:大V调侃莎莎长到1.7米 邱导背影显得很落寞

颜小白的篮球梦
2024-11-26 21:37:20
为什么现在体制内不管什么单位,大家都越来越忙,压力越来越大?

为什么现在体制内不管什么单位,大家都越来越忙,压力越来越大?

猫小狸同学
2024-11-25 12:55:03
46岁滨崎步在成都被粉丝要签名,穿深V显傲人上围,性感不减当年

46岁滨崎步在成都被粉丝要签名,穿深V显傲人上围,性感不减当年

南城无双
2024-11-18 01:11:22
霍英东二房妻子95岁生日,与儿子孙女吃饭庆祝,身体硬朗仍爱喝酒

霍英东二房妻子95岁生日,与儿子孙女吃饭庆祝,身体硬朗仍爱喝酒

树娃
2024-11-26 12:29:22
华为 Mate 70 Pro 机型支持选购“鸿蒙 NEXT 先锋版”

华为 Mate 70 Pro 机型支持选购“鸿蒙 NEXT 先锋版”

IT之家
2024-11-26 19:34:12
泽卡三连杀!破384天亚冠球荒,6场独造6球,克雷桑妙传

泽卡三连杀!破384天亚冠球荒,6场独造6球,克雷桑妙传

奥拜尔
2024-11-26 21:38:05
一路走好!10天内5位名人离世,生前奉献重大,死因令人惋惜

一路走好!10天内5位名人离世,生前奉献重大,死因令人惋惜

林轻吟
2024-11-25 07:40:17
2024-11-26 22:07:00
Linux
Linux
Linux 中国开源社区
8016文章数 73120关注度
往期回顾 全部

科技要闻

"这是国产化最高,也是史上最强的Mate"

头条要闻

殡仪馆被指用炖盅当骨灰瓮 当地民政局:剩余同款弃用

头条要闻

殡仪馆被指用炖盅当骨灰瓮 当地民政局:剩余同款弃用

体育要闻

37岁,他用“半条右腿”重返巅峰

娱乐要闻

权威奖项沦为资本工具?谁来管一管

财经要闻

洪灏刘煜辉对谈实录 涉及A股、债务等!

汽车要闻

解决油车无法处理的难题 仰望U7数字底盘这么强

态度原创

教育
亲子
艺术
数码
公开课

教育要闻

我们真的不是野鸡大学,只是低调的全美Top30

亲子要闻

新手爸爸第一次给宝宝拍嗝……宝宝:这令人窒息的爱!

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

数码要闻

三星 XR 头显专利曝光,设计类似 PICO 4 Pro

公开课

一块玻璃,如何改变人类世界?

无障碍浏览 进入关怀版