apt是一个包管理工具,用于管理Debian和Ubuntu等基于Debian的Linux发行版中的软件包。它是"Advanced Packaging Tool"的缩写,允许用户在系统的软件仓库中搜索、安装、更新和删除软件包。apt能够自动解决依赖关系,确保安装的软件包所需要的其他软件包也会被正确安装。它还提供了一种简单的方式来更新已安装的软件包,以及从系统中彻底删除软件包和其配置文件。

dpkg是Debian Linux系统中的低层级软件包管理工具。它是"Debian Package"的缩写,用于对Debian包(以.deb文件形式)进行操作,如安装、升级、配置和删除。

apt常用命令

apt search <package> # 用来搜索指定软件
apt install <package> # 用来安装指定软件
apt download <package> # 下载软件包
apt remove <package> # 用来卸载指定软件,但是会保留包的配置文件
apt purge <package># # 用来卸载指定软件,但是不会保留包的配置文件 apt update # 更新软件源中的所有软件列表
apt list # 显示所有的软件包。
apt list --upgradeable # 显示可升级的软件包
apt list --installed # 显示已安装的软件包 apt upgrade # 升级软件包
apt show <package> # 显示软件包具体信息
apt autoremove # 用来自动清理不再使用的依赖和库文件

dpkg常用命令

dpkg -I <package>.deb # 来查看一个deb包的依赖信息, 同apt show
dpkg -i <package>.deb# 对一个已安装的软件包进行升级
dpkg -L <package>.deb # 文件安装在哪些目录
dpkg -l # 列出系统中已安装的软件包,包括版本号、状态等信息。

使用示例

htop 是一个交互式的系统监视工具,可用于查看和管理系统中正在运行的进程。它提供了一个类似于传统 top 命令的界面,但比 top 更加直观和功能丰富

使用apt

想安装htop这个软件, 可以先搜索一下看有没有,如果没有可以更新软件源再尝试。



更新软件源



搜索软件



安装软件,此时会显示软件的一些信息。



同时可以用show命令查看软件信息,包括版本、大小、所依赖的库等等信息。



使用htop



卸载软件

在/var/cache/apt/archives可以找到你安装程序的包

使用dpkg

使用dpkg需要先将软件下载下来,使用apt download 进行下载



下载软件



查看软件包信息,结果同apt show命令。



安装软件,不会安装对应依赖,因此使用时可能会报错



查看软件安装到那个目录



查看已安装软件信息

总结

需要注意的是,dpkg只处理软件包本身的安装和卸载,无法自动处理包依赖关系。为了处理依赖关系,推荐使用高层级的包管理工具,如apt,它在dpkg基础上提供了更多的功能,包括依赖解决和软件包更新等。

Linux下apt与dpkg的详解的更多相关文章

  1. 【Linux学习】Linux下用户组、文件权限详解

    原文地址:http://www.cnblogs.com/123-/p/4189072.html Linux下用户组.文件权限详解 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在li ...

  2. 【转】Linux下Android ADB驱动安装详解

    原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...

  3. 莱特币ltc在linux下的多种挖矿方案详解

    莱特币ltc在linux下的多种挖矿方案详解 4.0.1 Nvidia显卡Linux驱动Nvidia全部驱动:http://www.nvidia.cn/Download/index.aspx?lang ...

  4. (转)Mysql数据库之Binlog日志使用总结Linux下用户组、文件权限详解

    Linux下用户组.文件权限详解 原文:http://blog.csdn.net/sdulibh/article/details/51566772 用户组 在linux中的每个用户必须属于一个组,不能 ...

  5. 【Linux开发】Linux下jpeglib库的安装详解

    Linux下jpeglib库的安装详解 首先要下载所需的库压缩包:jpegsrc.v6b.tar.gz或 jpegsrc.v8b.tar.gz 然后将下载的压缩包随便放在和解压到你喜欢的地方. # t ...

  6. Linux 下的dd命令使用详解(摘录)

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

  7. Linux下的压缩解压缩命令详解

    linux zip命令zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o - ...

  8. Linux 下的dd命令使用详解(摘录)【转】

    转自:https://www.cnblogs.com/jikexianfeng/p/6103500.html 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意 ...

  9. Linux下的压缩解压缩命令详解及实例

    实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...

  10. linux下gzip的压缩/解压缩详解

    linux下gzip的压缩详解 Linux压缩保留源文件的方法: gzip –c filename > filename.gz Linux解压缩保留源文件的方法: gunzip –c filen ...

随机推荐

  1. 【Linux】Linux 基础入门

    Linux 发行版(发行版之间的联系与区别) 红帽公司开发的RedHat Enterprise Linux,它是全世界内使用最广泛的Linux系统,具有极强的性能与稳定性,并且在全球范围内拥有完善的技 ...

  2. vue处理图片路径出问题时显示默认图片

    <img :src="item.url? item.url: '' " alt :onerror="defaultImg" /> 这里一定要判断sr ...

  3. vue全家桶进阶之路15:自定义指令

    Vue 2.x 中的自定义指令是一种可以用于扩展 Vue.js 核心功能的特性.指令可以用于操作 DOM 元素的属性.监听 DOM 事件.控制 DOM 行为等等,可以将常见的交互行为封装成指令,从而让 ...

  4. 开发者一定要知道的 API 管理五大趋势

    API First 大势所趋,APIaaS(API 作为服务)也将受到越来越多企业和组织的选择,研发团队对 API 研发管理工具的要求也水涨船高. API 在今天的数字化世界中扮演着至关重要的角色,随 ...

  5. MultiBoot SPI

    对于7系列FPGA来说,计算器件启动时间按照以下公式: Config time = Bitstream size / (Config clk freq * Config interface width ...

  6. 【汇编】DOS系统功能调用(INT 21H)

    前言 最近又听了听汇编的课程,发现代码里的MOV xxxxx INT 21H,老师都是一句话带过,而不讲讲其中的原因(也可能前面讲了我没有听QAQ). 顺便夸一下老师,老师懒省事录的视频画质已经成功从 ...

  7. Error in render: “TypeError: Cannot read property ‘0‘ of null“

    我们web的同学运行程序时经常会遇到如下错误,而查找起来却相当费劲 看错误提示第一反应会想到是不是我的js 方法中的某个对象取值错误了,如: 但完全错了,当你把方法里的js 翻来覆去找了一遍又一遍,任 ...

  8. C# EFCore 根据Oracle/SqlServer数据库表生成实体类和DbContext

    官方文档: https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/scaffolding?tabs=dotnet-core-cli 本文以 ...

  9. # 代码随想录算法训练营Day4|24.两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题02.07.链表相交 142.环形链表Ⅱ

    24.两两交换链表中的节点 题目链接:24.两两交换链表中的节点 总体思路: 两两交换链表中的节点使用虚拟头节点可以更方便地进行交换,这样头节点和普通节点可以以同一种方式进行. 虚拟头结点的建设代码: ...

  10. HashMap 底层是如何实现的?

    HashMap 在不同的 JDK 版本下的实现是不同的,在 JDK 1.7 时,HashMap 底层是通过数组 + 链表实现的:而在 JDK 1.8 时,HashMap 底层是通过数组 + 链表或红黑 ...