apt 与 dpkg 之间的关系

Linux软件包安装(rpm、yum、apt-get、dpkg) Linux RPM 1、RPM 的由来 rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度 ... 阅读详情

apt 和 dpkg 之间的关系。简单来说:dpkg 是基础,apt 是高级封装。它们都是 Ubuntu/Debian 系统中用来管理 .deb 软件包的工具,但它们的工作方式和职责不同。

dpkg

  1. 核心角色: dpkg 是 Debian/Ubuntu 包管理系统的基础。它是一个低层的工具,直接处理 .deb 软件包文件。
  2. 工作方式: 它像一个“安装器”,负责将 .deb 文件中的文件解压到正确的系统位置,并运行软件包提供的配置脚本。
  3. 操作对象: 主要操作单个的 .deb 文件。如果你想从本地文件安装软件,通常会用到 dpkg -i package.deb。
  4. 局限性:
    • 不处理依赖关系: dpkg 本身不会自动解决软件包依赖问题。如果你安装的软件包需要其他软件包,而那些软件包没有安装,dpkg 会失败。
    • 不管理软件源: 它不知道从哪里下载 .deb 文件,需要你手动提供文件。
    • 缺乏智能性: 对于更复杂的操作(如升级、回滚、查找软件),它不够方便。

apt

  1. 核心角色: apt (Advanced Package Tool) 是一个高层的包管理器。它是一个前端,或者说是一个框架,它利用 dpkg 来完成实际的安装/删除操作,但提供了更强大的功能。
  2. 工作方式: 它像一个“智能管家”,负责与软件源(repository)交互,下载软件包,自动解决依赖关系,并调用 dpkg 来实际安装或删除软件包。
  3. 操作对象: 可以操作软件源中的软件包,也可以操作本地的 .deb 文件(但通常 apt install ./package.deb 会内部调用 dpkg)。它关注的是软件包的名称和状态。
  4. 优势:
    • 自动处理依赖: 这是 apt 最核心的优势。它会自动查找并安装所需的依赖包。
    • 管理软件源: 它知道如何从配置的软件源列表中查找和下载软件包。
    • 提供高级功能: 如搜索软件 (apt search)、查看软件详情 (apt show)、升级系统 (apt upgrade)、清理缓存 (apt clean) 等。
    • 更友好的命令: 命令通常更直观,例如 apt install package 比 dpkg -i package.deb (需要文件) 或手动处理依赖更方便。

它们的关系

  1. 依赖关系: apt 依赖于 dpkg。当你使用 apt install package 时,apt 会做以下事情:
    • 查询软件源,找到 package 及其依赖。
    • 下载所有需要的 .deb 文件。
    • 调用 dpkg 来安装这些 .deb 文件,并监控 dpkg 的过程,如果 dpkg 因依赖问题卡住,apt 会尝试修复(比如安装缺失的依赖)。
  2. 分工合作:
    • dpkg 负责文件级别的操作:将软件包文件安装到系统,或从系统中删除文件。
    • apt 负责逻辑层面的操作:查找、下载、依赖解析、整体安装/删除流程管理。

常用命令对比

功能dpkg 命令示例apt 命令示例说明
安装dpkg -i package.debapt install packagedpkg 安装本地文件;apt 从源安装或安装本地文件(内部调 dpkg)
删除dpkg -r packageapt remove packagedpkg 只删除程序文件;apt 删除程序文件,可能保留配置文件
彻底删除(含配置)dpkg -P packageapt purge packagedpkg 彻底删除;apt 彻底删除
列出已安装包dpkg -lapt list --installeddpkg 更底层,信息更原始;apt 更友好
搜索软件包`dpkg -lgrep keyword`apt search keyword
更新包列表-apt updateapt 管理源,需要此命令
升级已安装包-apt upgrade 或 apt full-upgradeapt 自动处理依赖升级

总结

  • 想安装/删除单个 .deb 文件,或者需要精确控制 dpkg 的行为时,用 dpkg。
  • 日常绝大多数的软件包管理操作(安装、删除、升级、搜索),都应该使用 apt,因为它更智能、更方便,能自动处理依赖关系。
iOS越狱必备:Cydia安装文件与依赖包完整合集 DEB包的control文件决定了其身份属性和行为策略。它是包管理器判断依赖、排序列表、展示信息的核心依据。一个完整且准确的control文件是保证插件顺利发布的基础。手动构建DEB包是掌握越狱开发技能的重要环节。尽管有Theos等高级工具,了解底层流程仍有助于排错和定制化需求。 阅读详情

相关推荐

华为无线AP+AC(ensp)

VLAN 100--192.168.100.0/24为AP的管理IP地址VLAN10--192.168.10.0/24为无线用户获取的IP地址在DHCP Server(LSW3)上查看地址分配情况。

abcdlalal的博客 1万+

apt 与 dpkg 命令详解

apt 与 dpkg 命令详解

m0_69057918的博客 9902

遥感大模型核心技术之自监督预训练技术研究(2025年9月版)

本文系统探讨了自监督预训练技术在遥感大模型构建中的核心作用。随着遥感数据进入"大数据"时代,传统监督学习面临"数据丰富、标签贫乏"的瓶颈,而自监督预训练通过设计代理任务从无标签数据中学习特征表示,成为驱动大模型发展的关键引擎。文章分析了遥感领域对自监督预训练的三大独特挑战:多源异构性、地理空间约束和时空动态性,并提出了针对性解决方案:掩码自编码(MAE)技术及其演进、地理对比学习与多模态融合、位置感知预训练与多任务学习。

panshengwu的博客 842

apt 与 dpkg 区别

apt 与 dpkg 均为 ubuntu 下面的包管理工具。 dpkg 侧重于本地软件的管理。 apt 基于dpkg,侧重于远程包的下载和依赖管理,相当于 dpkg 的前端。 主要区别 dpkg 仅用于安装本地的软件包,安装时不会安装依赖包,不解决依赖问题。 sudo dpkg -i <package_name>.deb apt 默认会从远程仓库搜索包的名字,下载并安装,安装时会自动安装依赖包,并解决依赖问题。 sudo apt install <package_name> 如果

m0_47696151的博客 5314

无人机频谱侦测与智能识别技术实战解析

本文深入解析无人机频谱侦测与智能识别技术实战应用,涵盖无线电侦测、信号处理和定位技术等核心内容。通过频谱分析、特征提取和机器学习算法优化,实现高精度无人机识别与定位,并分享复杂环境下的应对策略和系统集成经验。

weixin_28419039的博客 488

零基础快速学习 ABAP 读者意见反馈和下一步写作计划表

大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解的内容,可以直接在教程各篇文章下评论留言,我会将大家的意见统一汇总到下面的表格,作为我更新教程的内容参考来源之一。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4273

apt和dpkg包管理器

apt和dpkg包管理器常用

教Linux的李老师 4686

【FISCO-BCOS】十一、一键部署

一键部署包括以下服务:节点(FISCO-BCOS 2.0+)、管理平台(WeBASE-Web)、节点管理子系统(WeBASE-Node-Manager)、节点前置子系统(WeBASE-Front)、签名服务(WeBASE-Sign)。部署成功后,登录此网站:http://localhost:5000 访问WeBASE管理平台。快速搭建WeBASE管理台环境,方便用户快速体验WeBASE管理平台。修改节点管理子系统和签名服务组系统的mysql数据库配置。如使用root账户:改为。配置方法:参考如下指令。

naihe_fish的博客 2596

dpkg和apt

文章目录dpkg和aptDeb包安装Deb包简介dpkg常用命令apt-get源安装Ubuntu中的高级包管理方法apt-get简介apt工作原理apt相关文件常用的apt命令参数apt-getapt-cachedpkg和apt-get的区别 dpkg和apt Linux有很多种发行版本,各种发行版本之间安装软件方式和命令不一样,同一个版本之间安装软件也有不同的方法。但是,大体来说,Linux有两大派系,一个是红帽派系,包含Redhat、Centos、Fedora等。还有一个是Debian派系,包含Kali

tkzky001的博客 4671

FPGA开发中的操作系统

在FPGA开发中,操作系统起着关键的作用,它负责任务管理、资源管理、中断处理和设备驱动程序等功能。在实际的FPGA开发中,可以选择使用现有的操作系统,如MicroC/OS-II、FreeRTOS等,或者根据具体需求自行设计和开发操作系统。在FPGA(可编程逻辑门阵列)开发中,操作系统扮演着关键的角色,为硬件设计师提供了一种有效的方式来管理资源、调度任务并实现系统级功能。本文将介绍FPGA开发中的操作系统概念,并提供一个简单的示例代码来说明如何在FPGA平台上实现一个基本的操作系统。

CqpFsharp的博客 1156

Swin Transformer注意力计算复杂度为何比全局注意力少那么多?

本文对比分析了Vision Transformer(ViT)和Swin Transformer的计算复杂度。ViT采用全局注意力机制,计算复杂度为4[hwc^2]+2[(hw)^2C],当图像尺寸较大时计算量显著增加。而Swin Transformer采用窗口注意力机制,将图像划分为M×M的窗口(如7×7),计算复杂度降为4[hwc^2]+2[(hw)(M*M)*C]。以224×224图像为例,Swin Transformer的计算量比ViT减少约900倍,大幅节省了计算资源。文章通过矩阵乘法运算详细推导了

人工智能研究所的博客 62

[学习札记]linux命令之apt与dpkg差别

不同点:①dpkg是用来安装.deb文件,不解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。②apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具。相同点:apt和dpkg皆为软件包管理工具,可以将apt理解为升级版的dpkg,底层的功能还是由dkpg来实现的。Linux系统包管理工具:apt和dpkg - 知乎 (zhihu.com)

m0_53530037的博客 488

AUTOSAR从入门到精通-【应用实战篇】车载HMI-ADAS

ADAS是高级驾驶辅助系统(Advanced Driving Assistance System)简称ADAS。ADAS高级驾驶辅助系统是利用安装于车上的各式各样的传感器, 在第一时间收集车内外的环境数据, 进行静、动态物体的辨识、侦测与追踪等技术上的处理, 从而能够让驾驶者在最快的时间察觉可能发生的危险, 以引起注意和提高安全性的主动安全技术。

lin_xiu的博客 1435

ubuntu apt安装与dpkg安装相互之间的关系

Linux系统中,neofetch显示的dpkg包数量包含了所有通过apt安装的软件包。apt是高层工具,自动处理依赖关系并调用底层的dpkg执行安装。apt通过软件源下载.deb包并解决依赖,而直接使用dpkg安装本地.deb文件则需手动处理依赖。apt安装的包会被dpkg记录,两者共同构成系统中的软件包管理。flatpak和snap则是独立的容器化包管理系统,与apt/dpkg无直接关系。

Tipriest的博客 1035

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

dpkg和apt-get区别

两者的区别:dpkg绕过apt-get包管理数据库直接对软件包进行操作 所以用dpkg安装过的软件包可以用apt-get可以再安装一遍,系统不知道之前已经安装过了,将会覆盖之前dpkg的安装。 dpkg和apt-get: dpkg:用来安装.deb文件时,不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。 apt-get:会解决和安装模块的依赖...

blog 5979

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Debian中apt-get,aptitude和dpkg的区别

apt-get与aptitude类似,都是高层的debian软件包管理工具,aptitude指令更好的解决软件包的依赖关系(例如:卸载软件包时,一同卸载依赖的软件包)dpkg则是较低层的软件包管理工具,推荐使用aptitude指令。还有一个dpkg-deb指令,也是“.deb”包管理工具,可以认为dpkg是dpkg-deb的前端工具,通常使用dpkg指令。

Mason's Blog 1663

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【转】Debian中apt-get,aptitude和dpkg的区别

Debian中apt-get,aptitude和dpkg的区别apt-get与aptitude类似,都是高层的debian软件包管理工具,aptitude指令更好的解决软件包的依赖关系(例如:卸载软件包时,一同卸载依赖的软件包)dpkg则是较低层的软件包管理工具,推荐使用aptitude指令。还有一个dpkg-deb指令,也是“.deb”包管理工具,可以认为dpkg是dpk

miaojian_430的专栏 642

Linux包管理工具(rpm/dpkg,yum/apt,alien)

概括: rpm/yum redhat dpkg/apt debian alien 转换 在 GNU/Linux( 以下简称 Linux) 操作系统中,RPM 和 DPKG 为最常见的两类软件包管理工具,他们分别应用于基于 RPM 软件包的 Linux 发行版本和 DEB 软件包的 Linux 发行版本。软件包管理工具的作用是提供在操作系统中安装,升级,卸载需要的软件的方...

aaronli112233的博客 506

卸载和安装deb

通过deb包安装软件: sudo dpkg -i package_file.deb 卸载: sudo dpkg -r package_name 注意,卸载时候是package_file.deb对应的package name 若不知道package name,可以通过 dpkg -l查找,若要查找对应的package,可以加通配符,如查找包含fox的package dpkg -l fox即可 查到以...

shaowei的博客 1万+

[Linux]rpm,dpkg安装,查询,卸载,升级

在 GNU/Linux( 以下简称 Linux) 操作系统中,RPM 和 DPKG 为最常见的两类软件包管理工具,他们分别应用于基于 RPM 软件包的 Linux 发行版本和 DEB 软件包的 Linux 发行版本。软件包管理工具的作用是提供在操作系统中安装,升级,卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询。 RPM 全称为 Redhat Package Manager,最早...

自娱《测试开发》专栏 1208

debian manual package

debian manual package zhi | debian | 0 ubuntu文档url: https://wiki.ubuntu.com/PackagingGuide/Complete debian的一些文档包: developers-reference debian-policy maint-guide maint-guide-zh-cn apt-d

WindDog的专栏 706

ubuntu安装rpm包

在 Linux 中有几种软件包形式,一种是deb后缀软件包,是基于debian系统;一种是rpm后缀软件包,是基于redhat系统;还有一种是源码包,是作者的源代码,安装时需要自行编辑。 此教程要讲是如何在ubuntu 系统中安装rpm,熟悉此操作的同学可能已经想到我要用的方法,其实很早以前就由这种方法了,先把rpm包转换为deb包。 使用我们要使用到转换程序,在ubuntu中只要安装alie

q123456789098的专栏 1268

Linux 平台上的软件包管理

文档选项 安装,升级和卸载应用软件是影响用户对操作系统评价的决定性因素之一。对于日渐流行的 GNU/Linux 操作系统,拥有简洁强大的软件包管理机制功不可没。本文从基本的 rpm/dpkg 命令行出发,以 RHEL 和 UBUNTU 为例,...

chuifuhuo6864的博客 181

rpm与dpkg yum与apt-get详解,一看这个就知道这些个关系了

Linux界的两大主流: RPM与DPKG   由于自由软体的蓬勃发展,加上大型Unix-Like 主机的强大效能,让很多软体开发者将他们的软体使用Tarball 来释出。 后来Linux 发展起来后,由一些企业或社群将这些软体收集起来制作成为distributions 以发布这好用的Linux 作业系统。 但后来发现到,这些distribution 的软体管理实在伤脑筋, 如

关灯吃面 533

HoRain云--apt是什么?和Dpkg有什么关系?

简单来说,dpkg 是底层的软件包操作工具,负责实际的软件包安装、卸载等工作;apt 是高层的包管理工具,提供更便捷的用户接口,处理软件源和依赖关系等复杂问题,两者相互配合,共同完成Debian系列Linux系统中的软件包管理任务

2401_86544677的博客 930
上一篇: ubuntu 系统分区注意事项
下一篇: ubuntu清理垃圾
SimpleForest
博客等级 码龄10年 171粉丝 95原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值