Linux软件安装之RPM、DPKG、YUM、APT

软件管理简介

在 Windows 操作系统中安装软件通常是通过已经编译成功的 exe 文件进行操作,但在 Linux 操作系统中情况就比较复杂。由于自由软件及开源社区的蓬勃发展,许多软件制作者是将源代码发布后,由使用者进行源码编译安装,此过程不仅耗时耗力,而且对使用者的技术有一定要求,无形中提高了软件使用的门槛。

鉴于上述的情况,Linux 软件开发厂商提供了解决方案,即由厂商先在固定的系统平台上将软件编译好,然后打包成为特殊格式的文件,直接发布给用户安装。对于用户而言,只需要获得文件后,通过特定的命令即可完成安装(此方案类似于 Windows 平台中的 exe 方式安装)。

但是由于Linux的分支较多,不同的厂商有不同的方式来处理该问题,从而导致即便是这种方式也比较繁杂,所以本文主要介绍两种常见的软件安装方式,分别是 RPM、DPKG,以及对应的在线升级命令 YUM 、APT

了解 RPM、DPKG

RPM是由Red Hat公司开发,使用该方式的发行版系统主要有 Fedora、CentOS 等,对应的在线升级命令是 YUM (yum)。

DPKG是由Debian Linux 社区开发,使用该方式的发行版系统主要有 Ubuntu 等,对应的在线升级命令是 APT(apt-get)

RPM 是以数据库记录的方式将软件安装到 Linux 操作系统的软件管理机制,特点是先编译打包为 RPM 文件,同时记录软件要安装的依赖,当用户安装时,RPM 就按会预选设定的依赖关系进行安装并写入 PRM 数据库中,以便后期管理。

RPM 具有以下优点:

1、软件已编译并打包,所以安装较为方便,无需重新编译
2、软件的相关信息已记录在主机数据库中,方便后期升级、卸载等操作
3、软件提供相关信息,如版本、依赖、用途等

但同时也要求软件安装的平台要与厂商发布的平台一致(即操作系统版本及相关硬件),所以通常某个 Linux 发行版发布的 RPM ,并不能随意在其它的 Linux 发行版上安装

通过对 RPM 机制的了解,可对应理解 DPKG,此处就不再针对 DPKG 的机制进行说明。

了解 YUM、APT

因为 Linux 安装软件时需要有依赖关系,往往安装 A模块 需要先安装 B模块 ,而安装 B模块 时又要安装 C、D、E模块,若全部工作需要人工处理则变得非常复杂,于是 Linux 发版行在发布软件时,就会对依赖关系建立一份清单,在安装时会自动匹配对应的软件,如果对应的依赖软件没有安装,则自动安装,这就是在线升级机制 YUM、APT。

以 CentOS 为例,说明 YUM 命令的实现方式:

1、CentOS 将发布的软件放置于 YUM 服务器中,并记录对应的依赖列表,此 YUM 服务器称之为“软件源”或“软件仓库”
2、当用户安装软件时,客户端会主动向 YUM 服务器(即软件源)下载对应列表数据
3、通过服务端与客户端软件信息的对比,将缺失的依赖自动安装,并最终完成软件的安装操作
4、升级时,YUM 向软件源请求更新列表,将列表下载至客户端后,与客户端软件库对比,自动更新对应的软件

上述命令的使用场景总结如下:

发行版名称             软件管理机制        使用命令        在线升级命令
Red Hat / CentOS         RPM                rpm            YUM(yum)
Debian / Ubuntu          DPKG               dpkg           APT(apt-get

rpm 命令

rpm 命令适用于 Fedora、CentOS 等 Linux 发行版系统。

命令格式:

rpm  选项  软件包名称

# 选项
-i:安装指定的套件档
-v:显示指令执行过程
-h:套件安装时列出标记
-e:删除指定的套件
-q:使用询问模式,当遇到问题时会询问用户
-a:查询所有套件

命令示例:

# 安装
rpm -ivh xxx.rpm

# 卸载
rpm -e xxx

# 列出已安装的软件包
rpm -qa

# 列出指定的软件包
rpm -qa | grep xxx

dpkg 命令

dpkg 命令适用于 Ubuntu、Debian 等 Linux 发行版系统。

命令格式:

dpkg  选项  软件包名称

# 选项
-i:安装软件包
-r:删除软件包
-P:删除软件包的同时删除其配置文件
-L:显示于软件包关联的文件
-l:显示已安装软件包列表

命令示例:

# 安装软件包
dpkg -i xxx.deb

# 删除软件包
dpkg -r xxx

# 删除软件包(包括配置文件)
dpkg -P xxx

# 列出与该软件包关联的文件
dpkg -L xxx

# 显示该软件包的版本
dpkg -l xxx

# 列出当前已安装的软件包
dpkg -l

# 查找对应的软件软件包
dpkg -l | grep xxx

yum 命令

yum 命令 命令适用于 Fedora、CentOS 等 Linux 发行版系统。

命令格式:

yum  选项  参数

# 选项
-h:显示帮助信息
-y:对所有的提问都回答“yes”

# 参数
install:安装rpm软件包
update:更新rpm软件包
check-update:检查是否有可用的更新rpm软件包
remove:删除指定的rpm软件包
list:显示软件包的信息

命令示例:

# 安装指定的软件包
yum install xxx

# 全新更新
yum update

# 检查可更新的程序
yum check-update

# 更新指定软件包
yum update xxx

# 查找已安装的指定软件包
yum list installed | grep xxxx

# 显示所有已安装和可安装的软件包
yum list

# 删除程序包xxx
yum remove xxx

apt命令

apt-get 命令适用于 Ubuntu、Debian 等 Linux 发行版系统。

命令格式:

apt-get  选项  参数

命令示例:

# 安装软件包
apt-get install xxx

# 卸载软件包(保留配置文档)
apt-get remove xxx

# 卸载软件包(删除配置文档)
apt-get –purge remove xxx

# 卸载软件包及依赖包
apt-get autoremove xxx

# 删除已卸载的软件包备份
apt-get autoclean

# 删除已卸载掉软件包备份,不影响软件的使用
apt-get clean

# 更新软件包
apt-get upgrade

# 将系统升级到新版本
apt-get dist-upgrade

# 列出已安装软件包
apt-get list --installed

# 列出指定的软件包
apt-get list --installed | xxx
apt-get list --installed | grep xxx
  • 20
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答:rpmyumapt-get是Linux系统中常用的软件包管理工具,它们之间有一些区别。 rpm是Red Hat Package Manager的缩写,是一种基于包的软件管理工具。它可以用来安装、升级、查询和删除软件包。使用rpm,你可以直接安装一个rpm包,也可以通过查询命令来获取软件包的信息,还可以通过指定文件路径来查找某个文件属于哪个rpm包。\[1\] yum是Yellowdog Updater Modified的缩写,是基于rpm软件包管理工具的高级前端。它可以自动解决软件包之间的依赖关系,并从指定的软件源中下载和安装软件包。使用yum,你可以方便地安装、升级和删除软件包,而不需要手动解决依赖关系。此外,yum还可以管理软件源,包括添加、删除和更新软件源。\[2\] apt-get是Advanced Packaging Tool的缩写,是Debian和Ubuntu等Linux发行版中的软件包管理工具。它使用dpkg作为底层工具,可以从软件源中下载和安装软件包,并自动解决依赖关系。apt-get还可以用来升级和删除软件包,以及管理软件源。\[3\] 总结来说,rpm是一种基于包的软件管理工具,yumrpm的高级前端,可以自动解决依赖关系,而apt-get是Debian和Ubuntu等发行版中的软件包管理工具,使用dpkg作为底层工具。 #### 引用[.reference_title] - *1* *2* *3* [yumapt-get用法及区别](https://blog.csdn.net/weixin_45623536/article/details/122009373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值