目前ubuntu系统主要有dpkg和apt两种软件管理方式
两种区别如下

1、dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。
2、apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具。

一、APT命令安装

  APT全称Advanced Packaging Tool,可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Linux系统上管理软件的过程。现在Debian和其衍生发行版(如 Ubuntu)中都包含了APT。APT命令(package 为软件包名称):

  • apt-get install package 安装包
  • apt-get install package –reinstall 重新安装包
  • apt-get -f install 强制安装
  • apt-get remove package 删除包
  • apt-get remove package –purge 删除包,包括删除配置文件等
  • apt-get autoremove 自动删除不需要的包,删除为了满足其他软件包的依赖而安装的,但现在不再需要的软件包
  • apt-get update 更新源
  • apt-get upgrade 更新已安装的包 如果依赖关系发生变化 则不会处理
  • apt-get dist-upgrade 升级系统  自动智能的处理包依赖的关系,根据依赖关系可能会删除或者安装软件包
  • apt-get dselect-upgrade 使用 dselect 升级
  • apt-get build-dep package 安装相关的编译环境,build-dep参数是指建立某个要编译软件的环境,比如现在要手工编译pidgin,那如果想让编译正常通过,你可以执行sudo apt-get build-dep pidgin把编译过程中需要用到的软件包先配置好。
  • apt-get source package 下载该包的源代码
  • apt-get autoclean apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间 的话,可以让这个命令来删除你已经删掉的软件
  • apt-get clean  这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。当我们通过apt-get安装软件包时,APT会把软件包下载到本地/var/cache/apt/archives/目录。该命令会删除该文件夹内的除锁住外的所有软件包。
  • apt-get check 检查是否有损坏的依赖
  • apt-cache search package 搜索包
  • apt-cache show package 获取包的相关信息,如说明、大小、版本等
  • apt-cache depends package 了解使用依赖
  • apt-cache rdepends package 了解某个具体的依赖

  除了要了解基本的apt指令外,还需要了解下一些与APT相关的文件,具体每个文件作用如下:

  • /etc/apt/sources.list 设置软件包的获取来源
  • /etc/apt/apt.conf apt配置文件
  • /etc/apt/apt.conf.d apt的零碎配置文件
  • /etc/apt/preferences 版本参数
  • /var/cache/apt/archives/partial 存放正在下载的软件包
  • /var/cache/apt/archives 存放已经下载的软件包
  • /var/lib/apt/lists 存放已经下载的软件包详细信息
  • /var/lib/apt/lists/partial 存放正在下载的软件包详细信息

二、DPKG命令安装

  dpkg是Debian软件包管理器的基础,被用于安装、卸载和供给和.deb软件包相关的信息。dpkg本身是一个底层的工具,本身并不能从远程包仓库下载包以及处理包的依赖的关系,需要将包从远程下载后再安装。DPKG常用命令:

  • dpkg -i package.deb 安装包
  • dpkg -r package 删除包
  • dpkg -P package 删除包(包括配置文件)
  • dpkg -L package 列出与该包关联的文件
  • dpkg -l package 显示该包的版本
  • dpkg –unpack package.deb 解开 deb 包的内容
  • dpkg -S file 这个文件属于哪个已安装软件包  与apt-file search file 类似,但是apt-file从源更新数据库并进行查找,可以查找本机没有的文件对应的软件包
  • dpkg -l 列出当前已安装的包
  • dpkg -c package.deb 列出 deb 包的内容
  • dpkg –configure package 配置包

  注意:更多选项可通过 dpkg -h 查询,有些指令需要超级用户权限才能执行。

ubuntu软件管理apt与dpkg的更多相关文章

  1. ubuntu软件管理工具的使用——dpkg和apt

    deb.rpm.tar.gz三种Linux软件包的区别在哪里呢,这种区别可能使安装进行不下去,那么我们应该下载什么格式的包呢?下面具体讲解一下. rpm包是在Redhat.Suse和Fedora可以直 ...

  2. 列出ubuntu软件管理工具apt的一些用法(自由总结)

    安装软件包 [root@CentOS7 ~]#apt install tree 删除软件包 [root@CentOS7 ~]# apt remove tree 列出仓库软件包 [root@CentOS ...

  3. ubuntu软件管理

    https://www.cnblogs.com/forward/archive/2012/01/10/2318483.html 一.Ubuntu中软件安装方法1.APT方式(联网安装, 需要联网下载软 ...

  4. ubuntu 软件管理

    软件安装管理 安装软件 sudo apt-get install **** 检索软件 sudo apt-cache search **** 更新源 sudo apt-get update   **** ...

  5. ubuntu实用命令--软件管理

    近期重新拿起linux的书看了下,整理了一下linux的命令. ubuntu预装了APT和dpkg ,“APT”是 “Advanced Package Tool”的简写,“dpkg ”是“Debian ...

  6. 《完美应用ubuntu》之全面管理ubuntu软件源

    2.全面管理ubuntu软件包 2.1 DEB软件包之间的基本关系: (1)软件仓库:由ubuntu软件包的维护者维护并公开发布的DEB软件包的集合:可位于网络,服务器,硬盘等各种存储介质. (2)软 ...

  7. linux:使用apt、dpkg工具安装软件

    先总结一下安装软件常用命令: % apt sudo apt install xxxx sudo apt list xxxx % dpkg安装deb文件 sudo dpkg -i xxxx.deb 学习 ...

  8. 软件管理——rpm&dpkg、yum&apt-get

    一般来说著名的linux系统基本上分两大类: 1. RedHat系列:Redhat.Centos.Fedora等 2. Debian系列:Debian.Ubuntu等 一.RedHat 系列     ...

  9. ubuntu 软件包管理工具 dpkg,apt-get,aptitude 区别

    ubuntu 软件包管理工具 dpkg,apt-get,aptitude 区别 一:dpkg dpkg 是一种比较低层的软件包安装管理工具,在安装时,不会安装软件包的依赖关系:只能安装所要求的软件包: ...

随机推荐

  1. 【NXP开发板应用—智能插排】1.如何使用scp传输文件

    首先感谢深圳市米尔科技有限公司举办的这次活动并予以本人参加这次活动的机会,以往接触过嵌入式,但那都是皮毛,最多刷个系统之类的,可以说对于嵌入式系统开发这件事情是相当非常陌生的,这次活动为我提供了一个非 ...

  2. C 二维数组,以及自定义二维数组

    C 二维数组,以及自定义二维数组 我们通常情况下是这样定义一个二维数组的: int a[10][15]; 我们分别查看一下a,a[0],*a 都是一样的值吧 我们可以这么理解: a是一个数组的数组 a ...

  3. 反射vs简单工厂模式

    interface Computer { void printpc(); } class lenovo implements Computer { @Override public void prin ...

  4. mysql自动提交

    MySQL的autocommit(自动提交)默认是开启,其对mysql的性能有一定影响,举个例子来说,如果你插入了1000条数据,mysql会commit1000次的,如果我们把autocommit关 ...

  5. bos开发日记一

    BOS项目 第1天 项目12天安排: 1-2天:项目概述.搭建开发环境.主页设计.持久层和表现层设计 3-6天:项目业务开发(取派员.区域.分区.定区.业务受理)---整个项目分为基础设置.取派.中转 ...

  6. canvas画的文字在安卓移动设备上可以显示,但是在ios移动设备上无法显示

    不用担心iOS Safari不支持canvas,查看https://caniuse.com/ 发现是支持的 ctx.font = "0.16rem Arial"; 为了适配移动端直 ...

  7. LeetCode:43. Multiply Strings (Medium)

    1. 原题链接 https://leetcode.com/problems/multiply-strings/description/ 2. 题目要求 给定两个String类型的正整数num1.num ...

  8. SLAM前沿问题梳理

    鲁棒性问题:数据关联是影响系统鲁棒性的主要原因 特征提取.线特征 短期内的数据关联是最容易处理的,新的研究方向包括特征提取.线特征等. 回环检测 对于前端的环闭合检测,检测当前测量中的特征并试图将它们 ...

  9. MySQL高级-showProfile

    一.Show Profile是什么? 是MySql提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优的测量. 默认情况下,参数处于关闭状态,并保存最近15次的运行结果. 二.分析步 ...

  10. 转:asp.net mvc ef 性能监控调试工具 MiniProfiler

    MiniProfiler官网:http://miniprofiler.com/ MiniProfiler的一个特别有用的功能是它与数据库框架的集成.除了.NET原生的 DbConnection类,Mi ...