分类: LINUX
2014-10-23 00:52:29
原文地址:ubuntu apt-get 用法 作者:三点水兽
APT(the Advanced Packaging Tool)是Ubuntu 管理系统的高级界面,由几个名字以“apt-”打头的程序组成。、apt-cache 和apt-cdrom是处理软件包的命令行工具。
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已安装、未安装或是可以升级的。
Advanced Packaging Tool(apt)是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发行版本采用为它们的软件包管理工具。
如何在ubuntu下面直接查找想要安装的软件。比如我想安装tomcat.但是我又不知道ubuntu里面有哪种版本,也不知道都需要装什么,但是我能 确认我装的是tomcat那么我就可以用搜索命令:例如:$apt-cache search tomcat那么我就会得到以下的结果:libtomcat5-java - Java Servlet engine -- core libraries
.s y M j1j [ a0
F3F i E3U D e |9t X0tomcat5 - Java Servlet 2.4 engine with JSP 2.0 support
{ \0|1Z c X&D%s"_ k'`0浙江博客网0z3M!J a:r:t l v p
tomcat5-admin - Java Servlet engine -- admin web interfaces浙江博客网 K5`8K+Z8I a7E3I
浙江博客网 d u F,p m&s ]
tomcat5-webapps - Java Servlet engine -- documentation and example web applications 浙江博客网 f#w A!u v c$s5a,j&f f
7V T j Q V*R4z3V P ~0这样我就知道,ubuntu的软件库里面有tomcat5,那么我就可以用$apt-get install tomcat5去安装了APT 源自 Debian GNU/Linux,Debian 在同一个版本编号下,依套件成熟度又分 stable、testing、unstable。
;r Z ` d k w0T0浙江博客网 F*X y C B j _ n
若我们现在用的是 Debina 3.0r2 stable,使用 apt-get upgrade 浙江博客网 o @.Y&w5I r.Y Q
j n p)Z;i!U-P ^ n I Z0就可以升级for stable 的软件,而使用 apt-get dist-upgrade 则可以选择将系统由 stable 升级到 testing 或是 unstable, 浙江博客网 Y N0T#A A ]6p U g s'm!R6s
浙江博客网 K X"H c c L @
使 用 apt-get upgrade 和 apt-get dist-upgrade 的结果,基本上是一样的,不过apt-get dist-upgrade 在升级的同时会为了解决相依性而安装新套件,而 apt-get upgrade 并不会,因此要升级的话,建议还是用 apt-get dist-upgrade 较佳
9J L _ C H O'Z p0浙江博客网*? L&n V$I#c;[*d
apt-cache search 浙江博客网;o"~2L7y G.n"X.v R
浙江博客网 @ e d B E i B o Y6i#J i
搜寻:我们可以用这个指令来搜寻升级包, 浙江博客网 O#b6j1X8V!M e T
浙江博客网+d i x$[0Q"G {
例如:apt-cache search httpd,
.s M;M c P!V O n0
B%h |/O z N S0apt-cache depends
$|%b2_/a0\!J H0浙江博客网 ?+o [ v&i5E-N4i
相依性:我们可以用这个指令来看到软件包的所有相依性档案,
P ~ O-i k ~ n9v y$P0
A j u#P:N0例如:apt-cache depends httpd,
z7M/Z g D+A&m c J ?0
k.O3Y;] c0apt-get install
:p [ ^ S0k5A D0浙江博客网:s%F:s h)U E y r'T
安装:安装软件包, 浙江博客网(F&L L P'R E3W
浙江博客网6c4{ U*[ g$V K
例如:apt-get install httpd,这样 apt 就会自动上网下载httpd 回来安装,若httpd 有相依性套件的时候,apt 也会自动下载安装
` i'E"s Y9d7Z U+H-O0浙江博客网 Y%E2@ R;i-N z V Q;D
apt-get clean 浙江博客网 ^3h3e Q Q \
;^ z F9Q4`.Z y4t ]0清除:当使用 apt-get install 指令安装套件,下载下来的 rpm 会放置於 /var/cache/apt/archives,使用 apt-get clean 指令可以将之清除,避免占用硬碟空间
A#h+g A"R c s _ Q m `0浙江博客网!J u M c3? g
apt-get remove 浙江博客网7V,Y } R8} d D
浙江博客网 D R4Z p M)u k k
移除:例如:apt-get remove httpd,就会移除 httpd 了,假如有相依性套件的时候,apt 也会一并移除
$W t q;h k2j:g0
l9F q u1])Y&t [ q0以上这几个指令应该就够用了,若想要得到更进一步的指令,请善用 man:) 浙江博客网-t l `&? Q h J
#J9C P k w.O1v4e } \0apt-get update 浙江博客网 K H F f7?9X!U b#Q
浙江博客网 A"I-U f4H.\/v*d
更新:这指令是用来取得记录在 /etc/apt/sources.list 内的远端服务器的套件档案清单 在使用 「apt-get dist-upgrade」指令升级套件前,一定要记得先用这条指令将套件档案清单更新 浙江博客网,u n+i }&} i s m
c+n3o {*M ~'f F8`0apt-get dist-upgrade 浙江博客网 ~ h S w3w2}
/M V g f v T j+P0升级:这里的升级主要是根据已有的软件包更新而言,并不是更新整个系统,也可以使用图形界面的新立得包管理器:) 浙江博客网 y"] r p \ b
浙江博客网#i2}9c&h \ ^
如果没有安装这个管理器的话,可以执行以下指令 浙江博客网0D w ^ R*x f z
` W `(m x Y H#u0apt-get install synaptic 浙江博客网 g5M5Q;J ^+`'M:Q
h;P7d.q r0安装完毕后,直接在命令行上敲入synaptic就可以启动了。
ubuntu下apt-get 命令参数
常用的APT命令参数
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 package - - purge 删除包,包括删除配置文件等
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 检查是否有损坏的依赖
其中:
1 有SUDO的表示需要管理员特权!
2 在UBUNTU中命令后面参数为短参数是用“-”引出,长参数用“--”引出
3 命令帮助信息可用man 命令的方式查看或者
命令 -H(--help)方式查看
4 在MAN命令中需要退出命令帮助请按“q”键!!
选项 含义 作用
sudo -h Help 列出使用方法,退出。
sudo -V Version 显示版本信息,并退出。
sudo -l List 列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。
sudo -u username|#uid User 以指定用户的身份执行命令。后面的用户是除root以外的,可以是用户名,也可以是#uid。
sudo -k Kill 清除“入场卷”上的时间,下次再使用sudo时要再输入密码。
sudo -K Sure kill 与-k类似,但是它还要撕毁“入场卷”,也就是删除时间戳文件。
sudo -b command Background 在后台执行指定的命令。
sudo -p prompt command Prompt 可以更改询问密码的提示语,其中%u会代换为使用者帐号名称,%h会显示主机名称。非常人性化的设计。
sudo -e file Edit 不是执行命令,而是修改文件,相当于命令sudoedit。