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. Python网页应用开发神器fac 0.2.6版本重要新功能一览

    fac项目地址:https://github.com/CNFeffery/feffery-antd-components ,欢迎star支持 大家好我是费老师,距离我的开源Python网页应用通用组件 ...

  2. selenium控制文件下载位置

    selenium控制文件下载位置 我们在自动化下载文件的时候势必存在一种需求: 通过chrome将文件保存到指定位置 1. google窗口实现 ​ 配置'prefs'将文件下载到指定位置, 并通过判 ...

  3. node可以用nvm快速切换版本,golang如何快速切换版本?用gvm就行。

    使用 gvm 可以带来以下好处: 快速切换 Golang 版本,方便进行版本测试和开发: 可以在多个项目中同时使用不同版本的 Golang 包和工具,避免冲突: 可以通过 gvm 管理不同版本的 Go ...

  4. 2022-01-10:路径交叉。给你一个整数数组 distance 。 从 X-Y 平面上的点 (0,0) 开始,先向北移动 distance[0] 米,然后向西移动 distance[1] 米,向南

    2022-01-10:路径交叉.给你一个整数数组 distance . 从 X-Y 平面上的点 (0,0) 开始,先向北移动 distance[0] 米,然后向西移动 distance[1] 米,向南 ...

  5. 500行代码手写docker开篇-goland远程编译环境配置

    (1)500行代码手写docker开篇-goland远程编译环境配置 本系列教程主要是为了弄清楚容器化的原理,纸上得来终觉浅,绝知此事要躬行,理论始终不及动手实践来的深刻,所以这个系列会用go语言实现 ...

  6. Java 泛型:理解和应用

    概述 泛型是一种将类型参数化的动态机制,使用得到的话,可以从以下的方面提升的你的程序: 安全性:使用泛型可以使代码更加安全可靠,因为泛型提供了编译时的类型检查,使得编译器能够在编译阶段捕捉到类型错误. ...

  7. # 代码随想录算法训练营Day28 回溯算法|93.复原IP地址 78.子集 90.子集II

    代码随想录算法训练营 93.复原IP地址 题目链接:93.复原IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 ...

  8. 学习原根 by OI-wiki

    根据 OI-wiki 的讲解,加以自己的理解和简化.偏重于算法竞赛而不是数学竞赛. 前置知识: 费马小定理:\(a^{p-1} \equiv 1(\mod p)\),\(p\) 为质数. 欧拉定理:\ ...

  9. 旧版Vue配置API_ROOT,开发、生产地址切换

    1 目录 config/dev.env.js1 'use strict' 2 const merge = require('webpack-merge') 3 const prodEnv = requ ...

  10. StencilJs学习之组件装饰器

    stenciljs 可以方便的构建交互式组件 支持以下装饰器 component state prop watch method element event listen Component 装饰器 ...