Linux下apt与dpkg的详解
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的详解的更多相关文章
- 【Linux学习】Linux下用户组、文件权限详解
原文地址:http://www.cnblogs.com/123-/p/4189072.html Linux下用户组.文件权限详解 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在li ...
- 【转】Linux下Android ADB驱动安装详解
原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...
- 莱特币ltc在linux下的多种挖矿方案详解
莱特币ltc在linux下的多种挖矿方案详解 4.0.1 Nvidia显卡Linux驱动Nvidia全部驱动:http://www.nvidia.cn/Download/index.aspx?lang ...
- (转)Mysql数据库之Binlog日志使用总结Linux下用户组、文件权限详解
Linux下用户组.文件权限详解 原文:http://blog.csdn.net/sdulibh/article/details/51566772 用户组 在linux中的每个用户必须属于一个组,不能 ...
- 【Linux开发】Linux下jpeglib库的安装详解
Linux下jpeglib库的安装详解 首先要下载所需的库压缩包:jpegsrc.v6b.tar.gz或 jpegsrc.v8b.tar.gz 然后将下载的压缩包随便放在和解压到你喜欢的地方. # t ...
- Linux 下的dd命令使用详解(摘录)
一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...
- Linux下的压缩解压缩命令详解
linux zip命令zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o - ...
- Linux 下的dd命令使用详解(摘录)【转】
转自:https://www.cnblogs.com/jikexianfeng/p/6103500.html 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意 ...
- Linux下的压缩解压缩命令详解及实例
实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...
- linux下gzip的压缩/解压缩详解
linux下gzip的压缩详解 Linux压缩保留源文件的方法: gzip –c filename > filename.gz Linux解压缩保留源文件的方法: gunzip –c filen ...
随机推荐
- AutoCAD二次开发系列教程01-如何在AutoCAD中输出Hello World
目录 01项目环境准备 02代码示例 03输出示例 04总结 05源码地址 01项目环境准备 A.开发使用的软件:AutoCAD2016.VisualStudio2022 B.建立依赖的本地库(提前从 ...
- WSGI实现支持多URL的WEB服务器
- C++调用tensorflow模型
C++ 和python的混合编程 windows + vs 新建一个工程,在工程属性中添加如下的几个 C:\Users\[user_name]\Anaconda3\include C:\Users\[ ...
- 为什么要重写equals要重写hashcode方法
Java 比较(==, equals) 一.= = ==:比较两个对象的引用是否是同一个地址 二.equals object中equals方法调用的就是==,可以在其他类中重写该方法. 三.为什么要重 ...
- 让AI支持游戏制作流程:从游戏设计到发布一个完整的生态系统
目录 引言 随着游戏产业的快速发展,人工智能(AI)技术在游戏开发中的应用越来越广泛.游戏设计人员可以通过利用AI技术来自动化游戏中的某些流程,提高游戏制作的效率,降低开发成本,同时还可以创造出更加具 ...
- React SSG - 也写个 Demo 吧
上次写了一个 SSR 的 DEMO,今天写个小 Demo 来从头实现一下 react 的 SSG,来理解下 SSG 是如何实现的. 什么是 SSG SSG 即 Static Site Generati ...
- springboot中自定义JavaBean返回的json对象属性名称大写变小写问题
目录 一.继承类 二.手动添加Get方法 三.@JsonProperty 四.spring-boot json(jackson)属性命名策略 开发过程中发现查询返回的数据出现自定义的JavaBean的 ...
- 教你学会使用Angular 应用里的 export declare const X Y
摘要:export declare const X: Y语法用于在Angular应用程序中声明一个具有指定类型的常量变量,并将其导出,以便在其他文件中使用. 本文分享自华为云社区<关于 Angu ...
- [ARM 汇编]高级部分—ARM汇编编程实战—3.3.1 嵌入式系统的基本概念
嵌入式系统是一种特殊的计算机系统,通常用于执行特定的任务.它通常包含一个或多个微处理器.存储器和外围设备.与通用计算机系统相比,嵌入式系统具有体积小.功耗低.成本低和实时性强等特点.在这一部分,我们将 ...
- Hexo博客yilia主题首页添加helper-live2d模型插件
插件效果 插件的github地址 插件作者提供了较为详细的安装步骤,我结合自己操作和图示,提供大家. 效果展示:红框内为2d模型,可以随鼠标移动而变化 安装模块: hexo博客根目录选择cmd命令窗口 ...