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. #PowerBI 1分钟学会,利用format函数,自定义格式显示

    PowerBI是一款强大的数据分析和可视化工具,它可以帮助我们快速地创建各种报表和仪表盘,展示数据的洞察和价值. 在PowerBI中,有许多内置的函数可以帮助我们处理和转换数据,其中一个常用的函数就是 ...

  2. 2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。 每一步,你可以从下标 i 跳到下标 i + 1 、i - 1 或者 j : i + 1 需满足:i +

    2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0). 每一步,你可以从下标 i 跳到下标 i + 1 .i - 1 或者 j : i + 1 需满足:i + ...

  3. 2022-01-26:最优账单平衡。 一群朋友在度假期间会相互借钱。比如说,小爱同学支付了小新同学的午餐共计 10 美元。如果小明同学支付了小爱同学的出租车钱共计 5 美元。我们可以用一个三元组 (x

    2022-01-26:最优账单平衡. 一群朋友在度假期间会相互借钱.比如说,小爱同学支付了小新同学的午餐共计 10 美元.如果小明同学支付了小爱同学的出租车钱共计 5 美元.我们可以用一个三元组 (x ...

  4. ITIL介绍

    摘自:金角大王 https://www.cnblogs.com/alex3714/articles/5420433.html 本节内容 浅谈ITIL CMDB介绍 Django自定义用户认证 Rest ...

  5. 多线程合集(三)---异步的那些事之自定义AsyncTaskMethodBuilder

    引言 之前在上一篇文章中多线程合集(二)---异步的那些事,async和await原理抛析,我们从源码去分析了async和await如何运行,以及将编译后的IL代码写成了c#代码,以及实现自定义的Aw ...

  6. 上下文管理者(ServletContext)

    作用1.获取全局初始化参数2.资源共享(servlet通信) 能让上下文呢的Servlet相互关联起来3.获取资源文件 生命周期创建服务器启动的时候会为每个项目创建一个servletContext上下 ...

  7. 使用Mybatis-Plus问题解答

    我们使用一个新的框架难免会遇到各种问题,当然使用这款国产的优秀的Mybatis-Plus框架也不例外,下面我就给大家列举一下使用Mybatis-Plus可能遇到的一些问题,并做一下一一的解答. 1:如 ...

  8. Access+Trunk 配置

    实验拓扑 实验需求 按图示给各 PC 配置 IP 地址 在SW1和SW2上创建聚合组 PC1 与 PC3 属于 VLAN 10 : PC2 与 PC4 属于 VLAN 20 利用 Access 与 T ...

  9. SYCTF2023 WEB writeup

    CarelessPy 一进来就是个任意文件下载功能,不过做了些限制,这题从头到尾都在骂杂鱼...(虽然我确实是(bushi) 查看页面源代码,给了个/eval /login 两个路由,/eval是个目 ...

  10. 深入理解Go语言接口

    1. 引言 接口是一种定义了软件组件之间交互规范的重要概念,其促进了代码的解耦.模块化和可扩展性,提供了多态性和抽象的能力,简化了依赖管理和替换,方便进行单元测试和集成测试.这些特性使得接口成为构建可 ...