Linux 常用的软件包管理器/软件包管理工具详解 您所在的位置:网站首页 linux常见应用分为 Linux 常用的软件包管理器/软件包管理工具详解

Linux 常用的软件包管理器/软件包管理工具详解

2023-11-12 06:13| 来源: 网络整理| 查看: 265

文章目录 RPM 是什么?应用于哪些系统RPM 的前端工具有哪些RPM 包命名规范RPM 安装软件的默认路径RPM 安装原理图RPM 命令详解 YUM 是什么?应用于哪些系统YUM 原理说明主要特点YUM 和 RPM 的区别YUM 命令详解 DNF 是什么应用于哪些系统DNF 命令详解 APT 是什么应用于哪些系统APT 命令详解APT-GET 是什么APT-CACHE 是什么APT-CDROM 是什么APT 与 APT-GET 比较 DPKG 是什么应用于哪些系统DPKG 命令详解 YAST2 是什么应用于哪些系统 ZYPPER 是什么应用于哪些系统ZYPPER 命令详解

RPM 是什么?

RPM 是 RedHat Package Manage 的简写,是一种由红帽公司开发的软件包管理方式,在 Linux 中通过以 .rmp 为扩展名的文件对应用程序包进行管理。RPM 文件带有 .rpm 扩展名,RPM 程序包由一个存档文件组成,该文件包含特定程序包的库和依赖项。使用 RPM 我们可以方便的进行软件的安装、查询、卸载、升级、校验等工作。

RPM 早期被称为 Red Hat Package Manager,但由于 RPM 非常流行,大部分的 Linux 发行版本都使用了 RPM 管理软件包,所以它实际上已经成为 Linux 工业标准。所以 RPM 现在又被称为 RPM is Package Manager。RPM 现在是 Linux Standard Base (LSB) 中采用的包管理系统。

RPM最大的特点就是需要安装的软件已经编译过,并已经打包成RPM机制的安装包,通过里头默认的数据库记录这个软件安装时需要的依赖软件。当安装在你的Linux主机时,RPM会先依照软件里头的数据查询Linux主机的相关依赖软件是否满足,若满足则予以安装,若不满足则不予安装。

所以想要解决 RPM 软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个 RPM 包组成时,有时候装一个软件要安装很多其他的软件包,忒麻烦!

应用于哪些系统

RPM 软件包管理方式一般是 Red Hat 派系的发行版本使用,另外 openSUSE、SUSE企业版、PCLinuxOS、Mandriva Linux、Mageia 也是要 RPM 作为软件包管理系统。

RPM 的前端工具有哪些

yum:作为 RHEL 及 CentOS 的软件包前端工具

dnf:作为 Fedora 的软件包前端工具

zypper:作为 SUSE 发行版的软件包前端管理工具

urpmi:作为 Mandriva Linux 及相关派生版的软件包前端管理工具

注意:还应该注意 rpm 是操作 RPM 的主要命令,而 .rpm 是 RPM 文件使用的扩展名。所以 “一个 rpm” 或 “某某 rpm” 一般是指 RPM 文件,而 rpm 通常指命令。

RPM 包命名规范

命名格式:name-version-release.os.arch.rpm,软件名称-版本号-发布次数.适合linux系统.硬件平台.rpm

name:程序名称

version:程序版本号

release:软件包发布次数

os:即说明 RPM 包支持的操作系统版本。如:el6(即rhel6)、centos6、el5、suse11

arch:主机平台。如:i686、x86_64、amd64、ppc(power-pc)、noarch(即不依赖平台)

示例:bash-4.3.2-5.el6.x86_64.rpm,包全名为:bash-4.3.2-5.el6.x86_64.rpm,包名:bash

RPM 安装软件的默认路径

/etc 配置文件放置目录

/usr/bin 一些可执行文件

/usr/lib 一些程序使用的动态链接库

/usr/share/doc 一些基本的软件使用手册与说明文件

/usr/share/man 一些man page档案

RPM 安装原理图

在这里插入图片描述

RPM 命令详解

RPM 文件类似于 ubuntu 的 deb 文件,RPM 命令类似于 ubuntu 的 dpkg 命令。

详见《Linux 命令之 rpm – RPM 软件包的管理工具》

YUM 是什么?

YUM 是 Yellowdog Updater, Modified 的简写,YUM 是使用 RPM 作为软件包管理器的 Linux 操作系统的免费的开放源代码的命令行软件包管理应用程序,它是 Duke University 物理系最初为了管理 Red Hat Linux 系统而开发的软件包管理工具。

YUM 是基于 RPM 的前端管理工具,它是对 RPM 包进行管理的客户端,它是一种 Shell 前端软件包管理器。YUM 可以通过HTTP服务器下载、FTP服务器下载、本地软件池的等方式获得软件包,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理软件包的依赖关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。YUM 在安装软件时,会从服务器下载相应软件包,且会缓存在本地。

YUM 提供了查找、安装、删除某一个或一组甚至全部软件包的命令,而且命令简洁而又好记。使用 YUM 对 RPM 包进行管理,非常简单方便。

应用于哪些系统

目前它主要应用于 Red Hat 派系下的 Fedora、RHEL、SUSE 等 Linux 发行版中。

YUM 原理说明

Server 端先对程序包进行分类后存储到不同 repository 容器中,再收集大量 RPM 软件包的数据库文件中的关于描述程序包之间依赖关系的数据,然后根据这些数据生成描述 RPM 软件包的依赖关系及所需文件在服务端的存放位置的说明文件(.xml格式),并将此说明文件存放在服务端的 repodata 目录下供 Client 端取用。

Cilent 端通过 yum 命令安装软件时发现缺少某些依赖性程序包,Client 会根据本地的配置文件(/etc/yum.repos.d/*.repo)找到指定的 Server 端, 从 Server 端 repodata 目录下获取说明文件(xxx.xml)后存储在本地 /var/cache/yum 中方便以后读取, 通过 xxx.xml 文件查找到需要安装的依赖性程序包在 Server 端的存放位置, 再进入 Server 端 yum 库中的指定 repository 容器中获取所需程序包, 下载完成后在本地实现安装。 在这里插入图片描述 注意:YUM是一个在线软件管理工具,所以使用YUM进行的操作大都是需要在联网的条件下才能正常使用。

主要特点

可以自动解决软件包的依赖关系

可以对 RPM 包进行分组,基于组进行安装操作

引入仓库概念,支持多个仓库(即可以同时配置多个资源库),可以从发行官方存储库和其他第三方存储库安装 RPM 软件包

简洁的配置文件(/etc/yum.conf)

YUM 和 RPM 的区别

YUM 只是一个前端用来便捷管理 RPM 软件包的工具,而 RPM 则是一个软件包管理系统(软件包管理器、软件包管理组件、也可以理解为软件包管理工具),RPM 会把软件打包成以 .RPM 为扩展名的文件,并且也提供简单的命令来管理软件包。只是 RPM 的命令工具没有 YUM 的命令强大罢了。

而 YUM 则是在 RPM 的基础上对软件包进行管理,实现了 RPM 软件包管理器在功能上的扩展,YUM 必须依赖于 RPM,因此 YUM 是不能脱离 RPM 而独立运行的。

主要区别如下表所示:

RPMYUM红帽于 1995 年推出了RPMYellowdog Updater(YUP)于1999-2001年开发,YUM 在 2003 年取代了原始的 YUPRPM 代表 RPM 软件包管理器(以前称为 Red Hat 软件包管理器)YUM 代表经过修改的 Yellowdog UpdaterRPM 命令工具不能解决依赖关系,您必须手动安装它们YUM 命令工具可以自动解决软件包的依赖关系并同时安装它们允许同时安装同个软件包的多个版本不允许,会提示该软件包已经安装,但是你可以更新和升级使用 RPM 命令安装软件包时,必须提供软件包的确切位置可以安装存储库中可用的任何软件包,只需要知道软件包名称RPM 不依赖 YUMYUM 是一个 RPM 软件包的前端工具,在后端依旧使用 RPM 软件包管理器来管理软件包RPM 命令工具只能安装已经下载到本地机器上的软件包YUM 能在线下载并安装软件包,而且能在线快速更新/升级已安装的软件RPM 不允许您将整个系统升级到最新的可用版本YUM 允许您将系统升级到最新的可用版本RPM 不允许您自动更新/升级系统上安装的软件包YUM允许您自动更新/升级系统上安装的软件包它不使用在线存储库执行任何操作它完全依靠在线存储库来完成所有工作RPM 属于低级软件包管理器,不仅提供基础的软件包管理功能,而且还负责将软件打包成以 .RPM 为扩展名的文件YUM 属于高级的软件包管理前端工具,YUM 是在 RPM 的基础上对软件包进行管理的,也就是说 YUM 是依赖于 RPM 的RPM 适用于所有环境YUM 要搭建本地 YUM 源才可以使用!RPM 是底层管理工具YUM 是上层管理工具 YUM 命令详解

yum 命令类似于 ubuntu 的 apt 命令。

详见《Linux 命令之 yum – 》

DNF 是什么

DFN 是新一代的 RPM 软件包管理器。

应用于哪些系统

首次出现在 Fedora 18 这个发行版中。而最近,它取代了 YUM,正式成为 Fedora 22 的包管理器。

DNF 命令详解

APT 是什么

APT(Advanced Packaging Tool 的缩写)是 Linux 下的一款安装包管理工具,APT 是 dpkg 的前端管理工具。APT 可以快速、实用、高效的安装/更新软件包,并且可以自动管理软件包的关联文件和维护软件包已有的配置文件。

APT 由几个名字以“apt”打头的程序组成。apt-get、apt-cache 和apt-cdrom是处理软件包的命令行工具。

为了解决命令过于分散的问题,引入了命令 apt,它包括了命令 apt-get 使用最广泛的功能选项,以及命令 apt-cache 和 apt-config 中常用到的功能。在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache 或 apt-config,而且 apt 更加结构化,并为用户提供了管理软件包所需的必要选项。

简单来说,apt 就是 apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。

应用于哪些系统

目前它主要应用于 Debian 派系下的 Debian、Ubuntu、Linux mint、elementary OS 等 Linux 发行版中。

APT 命令详解

APT-GET 是什么 APT-CACHE 是什么 APT-CDROM 是什么 APT 与 APT-GET 比较 DPKG 是什么

dpkg 是 Debian Packager 的简写。为 “Debian” 专门开发的软件包管理系统,方便软件的安装、更新及移除。

dpkg 是 Debian 和基于 Debian 的系统的软件包管理器的基础,它被伊恩·默多克创建于1993年。dpkg 与 RPM 十分相似,用于安装、卸载、查询和管理 deb 格式的软件包。

dpkg 本身是一个底层的工具。上层的工具,如 APT,被用于从远程获取软件包以及处理复杂的软件包关系。

dpkg 是一种 Linux 软件包管理系统,一般为 Debian 派系的 Linux 发行版本使用,前端管理工具为 apt。

应用于哪些系统

所有源自 Debian 的 Linux 发行版都使用 dpkg 作为包管理系统,例如:Knoppix、Debian、Ubuntu、Linux mint 等。

DPKG 命令详解

YAST2 是什么

yast2 是图形化界面,是 SUSE Linux 发行版的系统设置与软件管理工具,其实 SUSE Linux 也是以 RPM 作为软件包管理器。

现在的 yast 和 yast2 都是 yast2,2 表示版本号。为了兼容旧版 yast,yast 是 yast2 的软链接。

yast2 为了满足用户的使用界面,提供了 qt、gtk、ncurses 三种 frontend。但是内部仍然是同一套代码,只是表现层不同而已。你在 term 里面输入 yast2,也是使用 ncurses 界面。

使用这一工具我们就可以在GUI中配置:

ApacheDHCP(Dynamic Host Configuration Protocol),DNS(Domain Name System),Samba配置和集成硬件配置网络服务硬盘驱动器文件系统管理软件管理系统安装和更新用户管理

除了邮件服务器配置,ftp 配置及 LDAP 服务器配置外,YaST2 可能是最好的 Linux 系统管理工具了。

应用于哪些系统

SUSE Linux、openSUSE

ZYPPER 是什么

zypper 是 SUSE 发行版所特有的包管理工具,类似于 yum 和 apt-get ,适用于社区发行版 openSUSE 和企业发行版 SUSE Linux Enterprise。

应用于哪些系统

SUSE Linux、openSUSE

ZYPPER 命令详解


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有