0

0

Linux包管理工具yum和apt有什么区别

王林

王林

发布时间:2023-05-30 09:53:04

|

1836人浏览过

|

来源于亿速云

转载

    一般来说著名的 linux 系统基本上分两大类:redhat 系列:redhat、centos、fedora 等;debian 系列:debian、ubuntu 等。

    yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。

    概述

    一般来说著名的 Linux系统基本上分两大类:
    RedHat 系列:Redhat、Centos、Fedora 等
    Debian 系列:Debian、Ubuntu 等

    RedHat 系列

        常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
        包管理工具 yum
        支持tar包

    Debian系列

        常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
        包管理工具 apt-get
        支持tar包

        tar 只是一种压缩文件格式,所以,它只是把文件压缩打包而已。
        rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。
        优缺点来说,rpm一般都是预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。

    tar一般包括编译脚本,你可以在你的环境下编译,所以具有通用性。
    如果你的包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。
    tar一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure, make, make install. 来安装软件。

    rpm是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。

    系列对比

    对比项 rpm yum dpkg apt
    系列 RedHat系 RedHat系 Debian系 Debian系
    区别 包安装工具 依赖管理工具 包安装工具 依赖管理工具
    查询已安装 rpm -qa yum list installed dkpg -l apt list –installed
    安装 rpm -i package.rpm 或 rpm –ivh http://www.xxx.net/package.rpm yum install -y dpkg -i package.deb apt-get install package
    更新 rpm –U software.rpm yum update
    apt upgrade
    移除软件包 rpm -e [module1][module2]… yum -remove dpkg -r package apt remove package
    移除软件包及配置

    dpkg -P apt purge package
    下载的包存放位置


    /var/cache/apt/archives
    软件安装默认位置 rpm -ql

    /usr/share
    可执行文件位置 /usr/bin

    /usr/bin
    配置文件位置 /etc

    /etc
    lib文件位置 /usr/lib

    /usr/lib
    使用手册 /usr/share/doc


    帮助文档 /usr/share/man


    更新



     使用方式

    1 dpkg包

    dpkg (Debian Package)管理工具,软件包名以.deb后缀。类似redhat的rpm。这种方法适合系统不能联网的情况下。
    比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。

    dpkg -i tree_1.5.3-1_i386.deb         安装软件
    sudo dpkg -r tree                                     卸载软件

    注:将tree.deb传到Linux系统中,有多种方式。VMware Tools可以通过挂载的方式安装,也可以使用WinSCP等工具进行安装

    2 APT

    Advanced Packaging Tool(APT)是一种高级软件工具。这种方法适合系统能够连接互联网的情况。类似redhat的yum。

    apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

    apt 命令执行需要超级管理员权限(root)。

    Debian系列的操作系统如Debian和Ubuntu都适用apt。在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因为他是Ubuntu安装软件的常用工具命令。

    NopCommerce (ASP.NET商城)
    NopCommerce (ASP.NET商城)

    nopCommerce 是一个由ASP.NET多层模式开发的开源电子商城系统,可以自行设置模板、配置灵活、功能强大,它内含一个目录前端和一个管理工具后端。前端包括用户注册、商品购买(可以进行评论)、投票、Blog等,后端有类别管理、产品管理、客户及角色管理、订单管理、纳税管理、国家(地区管理)、邮件发送、消息模板、新闻发布、blog管理,可以对列表数据进行XML导出。

    下载

    依然以tree为例

     apt-get install tree                        安装tree
     apt-get remove tree                         卸载tree
     apt-get update                              更新软件
     apt-get upgrade
    apt-setup    设定/etc/apt/souces.list
    apt-get update    软体资料库同步
    apt-get install softwarename1 [softwarename2.....]    安装软体
    apt-get remove softwarename 1 [softwarename 2...]    移除软体(保留设定档)
    apt-get --purge remove softwarename 1 [softwarename 2...]    移除软体(不保留设定档)
    apt-cache search softwarename    列出所有sofrwarename的套件
    apt-upgrade [softwarename 1 softwarename2...]    更新套件,不指定套件名则更新所有可更新的套件
    apt-get clean(autoclean)    删除系统暂存的deb(autoclean只会将比目前系统旧版的套件删除)
    apt-get dist-upgrade    转换系统的版本(需在/etc/apt/sources.list指定stable,testing或unstable)

    3 rpm包

    将.rpm文件转为.deb文件
    .rpm为RPM (Red Hat系):CentOS、Fedora使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。
    alien abc.rpm

    3.1 安装
    rpm -i 需要安装的包文件
    rpm -iv 需要安装的包文件(显示安装详情)
    rpm -ivh 需要安装的包文件(显示安装详情及进度
    3.2 升级
    rpm -U 需要升级的包文件
    rpm -Uvh 需要升级的包文件(显示升级详情及进度)
    3.3 卸载

    rpm -e 需要卸载的软件包

    注:如果其他程序依赖要卸载的包,系统会提示不能删除,若需要强行删除加上–nodeps,

    会强制删除,但可能导致依赖于它的软件不能运行。

    3.4 查看

    查看已安装

    rpm -qa   查看已安装
    rpm -qa | grep "软件或者包的名字"  查看指定包

    4 yum安装

    基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

    yum特点
    • 可以同时配置多个资源库(Repository)

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

    • 自动解决增加或删除rpm包时遇到的倚赖性问题

    • 使用方便

    • 保持与RPM数据库的一致性

    yum详细指令
    1、安装: yum install 软件
    2、升级: yum update 软件
    3、删除: yum remove 软件
    4、查看: yum info 软件
    5、搜索软件: yum search 软件
    6、查看依赖关系: yum deplist 软件
    7、查看已安装软件: yum list installded

    相关专题

    更多
    Golang gRPC 服务开发与Protobuf实战
    Golang gRPC 服务开发与Protobuf实战

    本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

    8

    2026.01.15

    公务员递补名单公布时间 公务员递补要求
    公务员递补名单公布时间 公务员递补要求

    公务员递补名单公布时间不固定,通常在面试前,由招录单位(如国家知识产权局、海关等)发布,依据是原入围考生放弃资格,会按笔试成绩从高到低递补,递补考生需按公告要求限时确认并提交材料,及时参加面试/体检等后续环节。要求核心是按招录单位公告及时响应、提交材料(确认书、资格复审材料)并准时参加面试。

    44

    2026.01.15

    公务员调剂条件 2026调剂公告时间
    公务员调剂条件 2026调剂公告时间

    (一)符合拟调剂职位所要求的资格条件。 (二)公共科目笔试成绩同时达到拟调剂职位和原报考职位的合格分数线,且考试类别相同。 拟调剂职位设置了专业科目笔试条件的,专业科目笔试成绩还须同时达到合格分数线,且考试类别相同。 (三)未进入原报考职位面试人员名单。

    58

    2026.01.15

    国考成绩查询入口 国考分数公布时间2026
    国考成绩查询入口 国考分数公布时间2026

    笔试成绩查询入口已开通,考生可登录国家公务员局中央机关及其直属机构2026年度考试录用公务员专题网站http://bm.scs.gov.cn/pp/gkweb/core/web/ui/business/examResult/written_result.html,查询笔试成绩和合格分数线,点击“笔试成绩查询”按钮,凭借身份证及准考证进行查询。

    11

    2026.01.15

    Java 桌面应用开发(JavaFX 实战)
    Java 桌面应用开发(JavaFX 实战)

    本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

    65

    2026.01.14

    php与html混编教程大全
    php与html混编教程大全

    本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

    36

    2026.01.13

    PHP 高性能
    PHP 高性能

    本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

    75

    2026.01.13

    MySQL数据库报错常见问题及解决方法大全
    MySQL数据库报错常见问题及解决方法大全

    本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

    21

    2026.01.13

    PHP 文件上传
    PHP 文件上传

    本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

    35

    2026.01.13

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    PostgreSQL 教程
    PostgreSQL 教程

    共48课时 | 7.2万人学习

    Git 教程
    Git 教程

    共21课时 | 2.7万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号