Linux常见包管理基础知识(以及YUM和RPM的区别)

介绍

大多数现代类Unix操作系统都提供了一种查找和安装软件的集中式机制。软件通常以包的形式分发,保存在存储库中。使用包称为包管理。包提供操作系统的基本组件,以及共享库,应用程序,服务和文档。
包管理系统不仅仅是一次性安装软件。它还提供了用于升级已安装软件包的工具。软件包存储库有助于确保代码已经过审查,以便在您的系统上使用,并且已安装的软件版本已得到开发人员和软件包维护人员的批准。
在配置服务器或开发环境时,通常需要超越官方存储库。稳定版本的发行版中的软件包可能已过时,尤其是涉及新软件或快速变化的软件时。然而,软件包管理对于系统管理员和开发人员来说是一项至关重要的技能,而主要发行版的丰富软件包是一项巨大的资源。

包管理系统:简要概述

大多数包系统都是围绕包文件集合构建的。包文件通常是一个存档,其中包含编译的二进制文件和构成软件的其他资源以及安装脚本。包还包含有价值的元数据,包括它们的依赖关系,安装和运行它们所需的其他包的列表。

虽然它们的功能和优点大致相似,但包装格式和工具因平台而异:

操作系统格式工具
Ubuntu.debapt, apt-get, apt-cache, dpkg
Centos.rpmyum
RedHat.rpmyum
Fedora.rpmdnf
FreeBSDPorts, .txzmake, pkg
Debian.debapt, apt-get, apt-cache, dpkg

在Debian和基于它的系统中,如Ubuntu,Linux Mint和Raspbian,包格式就是.deb文件。APT是高级打包工具,提供用于大多数常见操作的命令:搜索存储库,安装软件包及其依赖项集合以及管理升级。APT命令作为较低级别dpkg实用程序的前端运行,该实用程序处理.deb本地系统上单个文件的安装,有时直接调用。

Debian的衍生发行的最近的版本包括apt命令,它提供了一个简洁,统一的接口来那些传统上被更具体的被处理的常用操作apt-get和apt-cache。它的使用是可选的,但可以简化一些任务。

CentOS,Fedora和Red Hat家族的其他成员使用RPM文件。在CentOS中,yum用于与单个包文件和存储库进行交互。

在Fedora的最新版本中,yum已经取代dnf了现代化的fork,它保留了大部分yum的界面。

FreeBSD的二进制包系统由pkg命令管理。FreeBSD还提供了Ports Collection,一个本地目录结构和工具,允许用户使用Makefile直接从源代码获取,编译和安装包。它通常使用起来更方便pkg,但偶尔会有预编译的包不可用,或者你可能需要更改编译时选项。

更新包列表

系统命令
Debian/Ubuntusudo apt(-get) update
Centos/RedHatsudo yum check-update
Fedoradnf check-update
FreeBSDsudo pkg update
FreeBSD Portssudo portsnap fetch update

YUM和RPM的联系和区别:

Red Hat Package Manager或RPM是使用具有相同名称的包的Linux发行版的默认包管理器。它最初由Red Hat开发,最终在许多Linux发行版中得到广泛认可。YUM代表Yellowdog Updater Modified,是使用RPM包格式的Linux发行版的版本。这两个只适用于基于RPM的发行版,不适用于那些使用像Ubuntu这样的Debian软件包的人。

虽然RPM是一个非常强大的工具,许多用户已经熟悉,但仍然存在一些令用户烦恼的小缺陷。最突出的问题是大多数人通常称之为“依赖性太强”的状态。对于依赖于许多其他软件包的软件包会出现此问题,其中一些软件包也依赖于许多其他软件包。这是常见的知识,你必须安装所有依赖的程序正常运行。RPM无法自动为您执行此操作。它只能在安装所需的软件包之前检查是否已安装所有必需的软件包。对于大多数只想最初安装单个软件包的人来说,手动跟踪和安装每个依赖项是一项重要的工作。

YUM能够在安装用户想要安装的软件包之前跟踪软件包的依赖关系并进行安装。这简化了整个过程,因为您只需知道要安装的软件包的名称,而不必担心是否已安装所需的软件包。在系统可用的存储库中搜索在系统上找不到的软件包。

尽管RPM和YUM都是真正安装软件包的,但除非您精通命令行和需要传递的各种参数,否则您可能不会使用其中任何一个。为了使普通人更容易快速掌握其系统的总体控制,有各种图形用户界面或GUI可以在YUM或RPM之上使用。这些GUI是人们通常看到和交互的,而不是YUM或RPM。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值