前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

高级打包工具(英语:Advanced Packaging Tools,缩写为APT)是Debian及其派生发行版的软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。APT最早被设计成dpkg的前端,用来处理deb格式的软件包。现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。

构成

APT由以下的几个主要的命令构成:

  • apt-get
  • apt-cache
  • apt-file

在Debian系统中,APT建构于dpkg之上。

安装源

APT的软件安装来源在Debian安装的时候即可进行初始设置,除了Debian官方的网络安装来源之外,也可以使用Debian的安装光盘,甚至可以从非官方的安装来源中下载非官方的软件。APT同时也可以从一些安装来源中下载源代码软件,并且自行编译、安装。

依赖关系处理

APT会从每一个安装源下载一个软件包的列表。这个列表中有这个安装源所包含的可用软件包的信息。在可能的情况下,APT会安装最新的软件包,被安装的软件包所依赖的其他软件包也会被安装,建议安装的软件包则会在屏幕中显示但是不会被安装。不过在有一些情况下APT由于依赖关系不能安装软件包,例如:这个软件包和系统中的其他软件包冲突,或者这个软件包依赖的软件包在任何安装源中均不存在或没有要求的版本。在这种情况下,APT会返回错误信息并且中止,用户需要自行解决依赖问题。

软件包更新方式

Debian系统的一大特色即为“永不停机”,事实上,APT达到了这一点。在软件被升级的时候,它仍然可以继续服务。APT可以智能地从安装来源下载最新版本的软件并且安装,而无须在安装后重新引导电脑(除了更新Linux内核之外)。所有的配置都可以得到保留,升级软件不再是一个棘手的问题。

发行版升级

APT最使人称道的特点在于可以从一个Debian发行版升级到新的Debian发行版,例如从woody升级到sarge。APT可以升级绝大部分满足依赖关系的软件,但是也可能要删除,或添加新的软件以满足依赖关系。

前端

Synaptic

APT拥有不少的前端程序:

名称 运行界面 最新版本
aptitude 字符终端 0.2.15.9-2
Synaptic 图形界面 0.75.13
Gnome-APT 图形界面 0.4.7-1.2
wajig 兼容 2.0.25

示例

搜索

在终端机里输入:

  • apt-cache search <package>

这样系统会列出与<package>名称相匹配的包。

安装

在终端机里输入:

  • apt-get install <package>

这样系统会自动下载<package>以及所有的依存包,同时进行包的安装。

移除

在终端机里输入:

  • apt-get remove [--purge] <package>

这样系统会自动移除<package>以及任何依此存包的其它包。 --purge指明包应被完全清除。

升级

在终端机里输入:

  • apt-get update

这样系统会自动由映射点更新包列表,如果想安装最新包,必须先运行一次。每次修改了 /etc/apt/sources.list后,也必须运行一次。

在终端机里输入:

  • apt-get upgrade [-u]

这样系统会自动将所有已经安装在系统内的包升级为最新版本。如果一个包改变了依存关系,而需要安装一个新的包时,它将不会被升级,而是标识成hold。如果某个包被设置hold标号,就不会被升级。

在终端机里输入:

  • apt-get dist-upgrade [-u]

和apt-get upgrade类似,dist-upgrade会安装和移除包来满足依存关系,因此具有一定的危险性。

彩蛋

在终端输入apt-get -h会在末尾出现“本APT具有超级牛力(This APT has super cow power)。

在终端输入apt-get moo会在屏幕上显示一头牛。

                (__) (oo) /------\/ / |    ||   *  /\---/\ ~~   ~~

..."Have you mooed today?"...

与apt-get相似的一个叫做aptitude的程序在aptitude -h的末尾加上了“这个aptitude没有超级牛力”

在后面加上moo(即输入aptitude moo),并且分别加上选项“-v”,“-vv”,“-vvv”,“-vvvv”,“-vvvvv”,“-vvvvvv”(即输入aptitude -v moo;输入aptitude -vv moo;等等),则会有如下输出:

$ aptitude moo
本程序中没有复活节彩蛋。
$ aptitude -v moo
本程序中确实没有复活节彩蛋。
$ aptitude -vv moo
我不是已经告诉您本程序中没有复活节彩蛋了吗?
$ aptitude -vvv moo
停下来!
$ aptitude -vvvv moo
好吧,好吧,如果我给您复活节彩蛋,您会停手吗?
$ aptitude -vvvvv moo
好吧,您赢了。/----\-------/      \/               \/|-----------------/                  --------\----------------------------------------------
$ aptitude -vvvvvv moo
这是什么?这当然是一只大象被一条蛇吞吃了。

而apt系列的另一个名为"apt-build"的软件包也具有相似的功能:

$ apt-build moo
(__)    ~
(oo)   /_____\/___//  /\ / /~  /  * // ___/
*----/\/  \/   /~    ~
..."Have you danced today? Discow!"...
(意为:今天你跳舞了吗?迪斯可!)

软件编写者特地将Disco(迪斯可)一词改为"Discow",以体现"Cow"(奶牛)之意。

转自**百科:

https://zh.wikipedia.org/wiki/高级包装工具

Apt 命令解说(apt-get update、apt-cache search package、apt-get install package、apt-get remove )相关推荐

  1. ubuntu中使用apt命令安装ipython失败解决方案

    在最近使用ubuntu安装ipython时,出现如下报错: 出现这个问题,主要是因为apt还在运行,故解决方案为: 1.找到并且杀掉所有的apt-get 和apt进程 运行下面的命令来生成所有含有 a ...

  2. linux中的apt命令

    文章目录 linux中的apt命令 什么是apt apt需求的权限 需要sudo权限的apt命令 更新软件包索引`apt update` 升级软件包版本`apt upgrade` 完全升级`apt f ...

  3. APT命令行工具的使用

    APT命令行工具的使用 常用的APT命令行工具有两个:apt-get用于执行与软件包安装有关的所有操作,apt-cache用于查询软件包的相关信息. 1.使用apt-cache命令查询软件包 使用AP ...

  4. Ubuntu APT命令使用手册

    Ubuntu APT命令使用手册 一.常用APT命令 二.Apt帮助详解 三.Apt-get帮助详解 四.Apt-cache帮助详解 一.常用APT命令: 1.sudoapt-cache search ...

  5. linux apt 命令,Ubuntu系统中apt命令的用法汇总

    apt是Advanced Packaging Tool的简称,是一款安装包管理工具.那么要如何使用apt命令来管理安装包呢?apt命令有哪些参数呢?下面小编就给大家详细介绍下Ubuntu中apt命令的 ...

  6. Ubuntu常用APT命令参数

    常用APT命令参数 apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get insta ...

  7. apt命令与yum命令

    2019独角兽企业重金招聘Python工程师标准>>> 一. apt命令 1. apt简介 高级包装工具(Advanced Packaging Tools)是Debian及其衍生发行 ...

  8. apt ubuntu 指定ipv4_如何使用 apt 命令安装软件

    apt 命令是做什么的 apt是一个命令行实用程序,用于在Ubuntu.Debian和相关Linux发行版上安装.更新.删除和管理deb软件包,它结合了apt-get和apt-cache工具中最常用的 ...

  9. Linux apt命令

    Linux apt命令及其与apt-get的关系 转自:https://blog.csdn.net/taotongning/article/details/82320472.https://www.r ...

最新文章

  1. 全文检索4.5查询语法
  2. mysql导入导出sql文件
  3. 初识 JSP---(Servlet映射 / ServletRequest / get与post区别 / 解决乱码)
  4. markdown 生成目录_github上如何为markdown文件生成目录
  5. linux的搜索和时间
  6. tomcat中 JVM 内存溢出及合理配置
  7. html三个div相同高度,Html三个div并排,高度相同
  8. rtklib-RINEX文件读取-rinex.c解析(一)
  9. LM317,LM337正负电源 电路图PCB设计
  10. 8.2.1-elasticsearch内置分词器之standard/simple
  11. Hbase - RIT机制
  12. Keras深度学习实战(39)——音乐音频分类
  13. c语言实现灰度图转换
  14. 一款方便好用的免费截图神器
  15. 计算机主机内部主要由哪些硬件构成,计算机硬件由哪几部分组成?各部分的作用是什么?...
  16. RISC-V GNU Toolchain及交叉编译
  17. 数据采集卡 html报表,网页表格数据采集助手
  18. OS_process_sync_producercomsumer进程同步/互斥/信号量管程:临界资源/临界区:生产者和消费者问题(缓冲池(缓冲区)问题)
  19. android百度播放器,终结媒体播放器 百度推新Android浏览器
  20. Python 传奇:30 年崛起之路 。

热门文章

  1. java 实现真正的随机数_关于java:SecureRandom的Android实现是否产生真正的随机数?...
  2. Oracle:ORA-28000异常(帐户已被锁定),修改账号登录失败次数
  3. PWN-PRACTICE-BUUCTF-15
  4. 【POJ - 2553】The Bottom of a Graph(tarjan强连通分量缩点,模板题)
  5. 动手学无人驾驶(5):多传感器数据融合
  6. android 存储不被垃圾清理,手机内存足够大,就不需要清理垃圾了?你错了!
  7. php postgresql多条,PHPPostgreSQL函数列表 - phpStudy
  8. 同一网段计算机无法共享打印机,Win7同一个局域网内共享打印机不成功的修复方法...
  9. php 购物车封装代码,PHP中封装Redis购物车功能
  10. 通过反射突破private访问修饰符获取私有和公共的属性,设置和获取值