Linux软件安装之RPM、DPKG、YUM、APT
创始人
2024-09-26 01:23:27
0

软件管理简介

在 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 

相关内容

热门资讯

车载安卓下载苹果系统,揭秘如何... 你有没有想过,你的车载系统竟然也能装上苹果系统?没错,就是那个我们平时手机上用的iOS系统!听起来是...
安卓电脑系统崩溃,原因分析及解... 最近我的安卓电脑系统突然崩溃了,这可真是让我头疼不已。你知道,我那台安卓电脑可是我日常工作和娱乐的好...
乐动力支持安卓系统吗,乐动力安... 最近有没有发现,你的手机里又多了一个健身APP?是不是在犹豫要不要下载乐动力呢?别急,别急,让我来给...
原生谷歌安卓系统下载,探索纯净... 亲爱的手机控们,你是否曾梦想拥有一部运行原生谷歌安卓系统的手机?那种纯净、高效、充满科技感的体验,是...
小米现在安卓系统优化,打造极致... 你有没有发现,最近小米的手机在安卓系统优化上可是下足了功夫呢?这不,我就来给你好好扒一扒,看看小米是...
云南游攻略系统和安卓,探寻彩云... 你打算去云南旅行了吗?那可得好好规划不然可就浪费了大好时光呢!今天,我就要给你安利一个超棒的云南游攻...
安卓系统怎么取消横屏,安卓系统... 你是不是也和我一样,有时候在使用安卓手机时,不小心把屏幕横过来,然后发现好多应用都是横着看的,简直让...
安卓系统慢动作摄影,捕捉精彩瞬... 你有没有发现,手机拍照已经不能满足我们追求个性的需求了?现在,安卓系统里的慢动作摄影功能,简直就像给...
安卓xp系统安装版,体验复古智... 你有没有想过,如果你的安卓手机也能装上XP系统,那会是怎样的体验呢?想象你手中的设备瞬间穿越回那个经...
怎么让安卓手机换回系统,轻松换... 亲爱的手机控们,你是不是也和我一样,对安卓手机的系统更新充满了期待?但是,有时候更新后的系统可能并不...
安卓系统界面停止运用,迈向未来 你知道吗?最近安卓系统界面上有个大变动,那就是它将停止运用啦!是不是有点惊讶?别急,让我带你一探究竟...
安卓系统中的drm服务,功能、... 你有没有发现,每次打开手机,安卓系统里总有一些神秘的玩意儿在默默运行?没错,说的就是那个让人又爱又恨...
华为OS是安卓系统吗,华为OS... 你有没有想过,华为的操作系统是不是安卓系统呢?这个问题,估计不少手机控都好奇过吧!今天,就让我带你一...
windows11安装安卓子系... 亲爱的电脑迷们,你是否对Windows 11的新功能感到好奇?今天,我要带你一起探索一个超级酷的功能...
安卓系统如何清密码,轻松解锁您... 手机解锁密码忘记了?别急,今天就来教你怎么轻松搞定安卓系统的密码清除问题。想象你正坐在沙发上,手里拿...
安卓11.0系统怎么关闭hd,... 你有没有发现,自从升级到了安卓11.0系统,手机界面看起来是不是更炫酷了?不过,有时候这高清的视觉体...
二手安卓原装系统,揭秘其性能与... 你有没有想过,手机更新换代的速度简直就像光速一样快?每次新款手机一出,旧款手机就变成了“古董”。但是...
安卓13系统还会卡,安卓13系... 你有没有发现,尽管安卓系统一直在更新迭代,但安卓13系统还是有点小卡呢?别急,今天咱们就来聊聊这个话...
2015年安卓系统版本,从Lo... 你有没有发现,手机里的安卓系统版本更新得可真是飞快啊!记得2015年那会儿,安卓系统版本可是发生了不...
安卓微信老是退出系统,探究原因... 你是不是也遇到了这样的烦恼?每次打开微信,还没聊两句,它就突然退出系统了!这可真是让人头疼啊。今天,...