当你在使用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

最新文章

  1. unity 3d 解析 json
  2. 统计iOS项目的总代码行数的方法
  3. SQL 性能优化-查询优化(like查询)
  4. 从0开始学angularjs-笔记02
  5. Python开发【第十四篇】:Web框架本质
  6. CPU虚拟化技术(留坑)
  7. MySQL与Oracle 差异比较之七其它
  8. poj 3160 Father Christmas flymouse
  9. 一步一步学习SignalR进行实时通信_6_案例
  10. mysql之inner join 和left join/right join
  11. 八种创建等高列布局【出自w3c】
  12. 洛谷P2221 [HAOI2012]高速公路
  13. memcached实战系列(七)理解Memcached的数据过期方式、新建过程、查找过程
  14. Mysql+jsp连接记录
  15. leetcode python 042收集雨水
  16. 快速比较 Kafka 与 Message Queue 的区别
  17. java8--List转为Map、分组、过滤、求和等操作----代码示例
  18. bandwagon host
  19. Confluence 6 整合到其他数据库
  20. apache 和 php 整合、apache配制虚拟机

热门文章

  1. 将Angular6自己定义的模块发布成npm包
  2. Windwos10环境下的Geany的安装与新手使用
  3. AtCoder Regular Contest 082 ABCD
  4. Netty(4)Stream by codec(粘包与拆包)
  5. 066 Plus One
  6. 053 Maximum Subarray 最大子序和
  7. scrapy 一些设置和问题
  8. Hart协议
  9. Spark Mllib里决策树回归分析使用.rootMeanSquaredError方法计算出以RMSE来评估模型的准确率(图文详解)
  10. JAVA基础之线程