前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
高级打包工具(英语: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可以升级绝大部分满足依赖关系的软件,但是也可能要删除,或添加新的软件以满足依赖关系。
前端
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/高级包装工具