简介

是Linux下的一款安装包管理工具。

  最初只有.tar.gz的打包文件,用户必须编译每个他想在GNU/Linux上运行的软件。用户们普遍认为系统很有必要提供一种方法来管理这些安装在机器上的软件包,当Debian诞生时,这样一个管理工具也就应运而生,它被命名为dpkg。从而著名的“package”概念第一次出现在GNU/Linux系统中,稍后Red Hat才决定开发自己的“rpm”包管理系统。   很快一个新的问题难倒了GNU/Linux制作者,他们需要一个快速、实用、高效的方法来安装软件包,当软件包更新时,这个工具应该能自动管理关联文件和维护已有配置文件。Debian再次率先解决了这个问题,APT(Advanced Packaging Tool)作为dpkg的前端诞生了。APT后来还被Conectiva改造用来管理rpm,并被其它Linux发行版本采用为它们的软件包管理工具。

APT是Ubuntu 软件包管理系统的高级界面,由几个名字以“apt-”打头的程序组成。apt-get、apt-cache 和apt-cdrom是处理软件包的命令行工具。

Linux命令—apt,也是其它用户前台程序的後端,如dselect 和aptitude。作为操作的一部分,APT使用一个文件列出可获得软件包的镜像站点地址,这个文件就是/etc/apt/sources.list。

工作原理

APT是一个客户/服务器系统。在服务器上先复制所有RPM包(包括来自原版光盘和redhat提供的升级包),然后用APT的分析工具(genbasedir)根据每个RPM 包的包头(Header)信息对所有的RPM包进行分析,并将该分析结果记录在一个文件中,这个文件称为RPM 索引清单,APT服务器的RPM索引清单置于base文件夹内。一旦APT 服务器内的RPM有所变动,一定要使用genbasedir产生新的RPM索引清单。客户端在进行安装或升级时先要查询rpm索引清单,从而可以获知所有具有依赖关系的软件包,并一同下载到客户端以便安装。

  当客户端需要安装、升级或删除某个软件包时,客户端计算机取得rpm索引清单压缩文件后,会将其解压置放于/var/state/apt/lists/,而客户端使用apt-get install或apt-get upgrade命令的时候,就会将这个文件夹内的数据和客户端计算机内的rpm数据库比对,知道哪些rpm已安装、未安装或是可以升级的。

常用命令用法

apt-cache search # ——(package 搜索包)

  apt-cache show #——(package 获取包的相关信息,如说明、大小、版本等)   sudo apt-get install # ——(package 安装包)   sudo apt-get install # —–(package - - reinstall 重新安装包)   sudo apt-get -f install # —–(强制安装?#”-f = –fix-missing”当是修复安装吧…)   sudo apt-get remove #—–(package 删除包)   sudo apt-get remove - - purge # ——(package 删除包,包括删除配置文件等)   sudo apt-get autoremove –purge # —-(package 删除包及其依赖的软件包 配置文件等(只对6.10有效,强烈推荐))   sudo apt-get update #——更新源   sudo apt-get upgrade #——更新已安装的包   sudo apt-get dist-upgrade # ———升级系统   sudo apt-get dselect-upgrade #——使用 dselect 升级   apt-cache depends #——-(package 了解使用依赖)   apt-cache rdepends # ——(package 了解某个具体的依赖?#当是查看该包被哪些包依赖吧…)   sudo apt-get build-dep # ——(package 安装相关的编译环境)   apt-get source #——(package 下载该包的源代码)   sudo apt-get clean && sudo apt-get autoclean # ——–清理下载文件的存档 && 只清理过时的包   sudo apt-get check #——-检查是否有损坏的依赖   apt-get install# ——(下载 以及所有倚赖的包裹,同时进行包裹的安装或升级。如果某个包裹被设置了 hold (停止标志,就会被搁在一边(即不会被升级)。更多 hold 细节请看下面。)   apt-get remove [--purge]# ——(移除 以及任何倚赖这个包裹的其它包裹。)   –purge 指明这个包裹应该被完全清除 (purged) ,更多信息请看 dpkg -P。   apt-get update# ——(升级来自 Debian 镜像的包裹列表,如果你想安装当天的任何软件,至少每天运行一次,而且每次修改了/etc/apt/sources.list 后,必须执行。)   apt-get upgrade [-u]# ——(升级所以已经安装的包裹为最新可用版本。不会安装新的或移除老的包裹。形前端(其中一些在使用前得先安装)。这里 dselect 无疑是最强大的,也是最古老,最难驾驭。)

APT(Advanced Packaging Tool)相关推荐

  1. APT(Advanced Persistent Threat高级持续性威胁)——网络安全

    APT(高级持续性威胁) 特点 攻击过程 防御策略 APT攻击常用的攻击手段 与APT相关的加密技术(学习侧重)   网络安全APT(Advanced Persistent Threat高级持续性威胁 ...

  2. AXI(Advanced eXtensible Interface)协议规范

    AXI(Advanced eXtensible Interface)协议规范 参考:ARM (IHI 0022H.c) AMBA AXI and ACE Protocol Specification ...

  3. APB(Advanced Peripheral Bus)协议规范

    APB(Advanced Peripheral Bus)协议规范 参考:ARM (IHI 0024D) AMBA APB Protocol Specification 文章目录 APB(Advance ...

  4. MAT(Memory Analyzer Tool)工具使用超详细版

    概述 MAT(Memory Analyzer Tool)工具是一款功能强大的]ava堆内存分析器.可以用于查找内存泄漏以及查看内存消耗情况.MAT是基于Eclipse开发的,不仅可以单独使用,还可以作 ...

  5. ADS(Advanced Design system)谐波平衡分析(HarmonicBalance)和参数扫描分析(ParamSweep)

    前言 先进设计系统 Advanced Design system(ADS)Agilent Technologies 是领先的电子设计自动化软件,适用于射频.微波和信号完整性应用. 在一些情况下,当我们 ...

  6. AMBA3.0协议——AXI(Advanced eXtensible Interface)总线介绍

    AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture ...

  7. Ubuntu安装MySQL 8.0 - APT(结尾附视频)

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  8. HFSS(ANSYS Electronics)和ADS(Advanced Design system)联合仿真

    前言 ANSYS Electromagnetics Suite电磁场仿真可对组件.电路和系统设计的电磁性能进行独立仿真,还可以对温度.振动和其他重要机械效应进行评估.本文为我自己的学习笔记,采用的软件 ...

  9. ARM(Advanced RISC Machines)

    ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能.廉价.耗能低的RISC处理器.相关技术及软件.技术具有性能高.成本低和能耗省的特点.适用于多种领域 ...

最新文章

  1. 推荐三款scrum看板协作工具
  2. HDU2665 求区间第K大 主席树
  3. Java 8 开发的 4 大顶级技巧
  4. 印度市场,圆不了二线国产手机的美梦
  5. redis接口的二次封装
  6. CHUNGHOP k-6868万能空调遥控器的自己家用电器的代码+自己家里的宽带账号+机顶盒型号+桌子+椅子+垫子高度
  7. hdfs 多个文件合并_hadoop学习笔记3 hadoop程序将本地文件夹中多个文件,合并为一个文件并上传到hdfs中--梦飞翔的地方(梦翔天空)...
  8. 【HDU - 5009】Paint Pearls(dp,链表优化dp)
  9. 1057: [ZJOI2007]棋盘制作 - BZOJ
  10. matlab2c使用c++实现matlab函数系列教程-exp函数
  11. web 压力测试工具
  12. Eclipse字体颜色控制
  13. 函数声明和函数表达式的区别
  14. java代码防查重工具_代码查重工具sim
  15. php txt投票功能,php查询操作实现投票功能
  16. 如何查看已删除的微信聊天记录?教你两招,找到答案
  17. 【Nav2中文网】三、导航相关概念
  18. 第二十三课:运算放大电路正反馈
  19. 二、软件项目开发计划书-模板
  20. ChinaSoft 论坛巡礼 | 软件智能合成理论与方法

热门文章

  1. 读书笔记-深度学习推荐系统4-推荐与embedding
  2. Java 如何模拟真正的并发请求?
  3. 国外NET 空间免费申请使用
  4. 联想ThinkPadE455实现FN禁用(F1-F12标准功能与特殊功能切换)
  5. 如何开展一次成功的海外KOL营销活动?
  6. 荣耀30s刷鸿蒙,荣耀30S“超过”苹果XS,靠华为鸿蒙框架优化能力
  7. 气象数据下载网站(存档)
  8. 【转载】国家集训队论文分类
  9. gem5+nvmain混合编译
  10. echarts——颜色控制