APT和它的超级牛力
当你在使用apt时,例如“apt -h”会提示“本APT具有超级牛”
先把牛放一放,先学习以下关于APT的知识。
APT
高级打包工具(英语:Advanced Packaging Tools,缩写为APT)是Debian及其派生的Linux软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。APT最早被设计成dpkg的前端,用来处理deb格式的软件包。现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。
构成
APT由以下的几个主要的命令构成:
在Debian系统中,APT建构于dpkg之上。
前端
APT拥有不少的前端程序:
名称 | 运行界面 | 最新版本 |
---|---|---|
aptitude | 字符终端 | 0.2.15.9-2 |
Synaptic | 图形界面 | 0.75.13 |
GNOME 软件 | 图形界面 | 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
这样系统会自动将所有已经安装在系统内的包升级为最新版本。如果一个包改变了依存关系,而需要安装一个新的包时,它将不会被升级,而是标识成hold。如果某个包被设置hold标号,就不会被升级。
在终端机里输入:
apt-get dist-upgrade
和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"(奶牛)之意。
参考链接:维基百科——APT
最新文章
- unity 3d 解析 json
- 统计iOS项目的总代码行数的方法
- SQL 性能优化-查询优化(like查询)
- 从0开始学angularjs-笔记02
- Python开发【第十四篇】:Web框架本质
- CPU虚拟化技术(留坑)
- MySQL与Oracle 差异比较之七其它
- poj 3160 Father Christmas flymouse
- 一步一步学习SignalR进行实时通信_6_案例
- mysql之inner join 和left join/right join
- 八种创建等高列布局【出自w3c】
- 洛谷P2221 [HAOI2012]高速公路
- memcached实战系列(七)理解Memcached的数据过期方式、新建过程、查找过程
- Mysql+jsp连接记录
- leetcode python 042收集雨水
- 快速比较 Kafka 与 Message Queue 的区别
- java8--List转为Map、分组、过滤、求和等操作----代码示例
- bandwagon host
- Confluence 6 整合到其他数据库
- apache 和 php 整合、apache配制虚拟机