什么是APT

什么是APT?APT是什么意思?

APT是Advanced Packaging Tool的缩写,是一款强大的包管理工具,也可以称作机制。

使用Debian及其衍生版本的GNU/Linux用户一定对apt不陌生。

在 GNU/Linux中,对包的维护有多种方式。比如DebianGNU/Linux的dpkg(apt是dpkg的前端),比如RedHat的RPM。 tarball方式需要由于定制性很高,因而笔者认为这不是有序的包管 理方式,所以不在此篇谈及。如果您对此感兴趣也可以阅读tarball方式安装软件。

多种包管理机制各有千秋;笔者比较喜欢apt的管理方式——懒人的方式。使用这种方式,用 户可以十分轻松地从指定的源获得丰富的软件,并对这些软件进行诸如安装、升级、卸载等工作;甚至使用apt对整个系统进行升级。

要使用apt最好有网络环境。最好的意思是:倘有网络事情就变得异乎寻常的轻松,否则可 能要稍微麻烦些。

先讲麻烦的事情吧——从cdrom安装文件。因为cdrom独特的性质——只读,我们当然只能对包进行安装的工作了。当然,如果用户使用了可写的光介质更新的数据再来更新Debian系统的话,我也没有异议。

如果要把cdrom加入到apt的源(/etc/apt/source.list)中,可以使用apt-cdrom add命令 。

本篇的重点在基于网络的使用。

大 家处在不同的地区,使用不同的网络,如何找到一个快速的源是很多朋友关心的一个问题。也有很多朋友在bbs或者maillist中贴出了他们使用的源。不 过正如我在本段伊始所说,不同的人使用同一个源可能会有不同的速度。如何得到一个快速的源呢?使用apt-spy命令。

默认的情况下系统中并没有这个命令,可以使用apt-get install apt-spy命令来安装。

安装过后,要现更新apt-spy中的资源列表,使用命令apt-spy update。

更新之后,利用apt-spy来找寻速度最快的源。使用命令apt-spy -a asia -d testing。

-a 是告诉apt-spy在亚洲这个地区搜索。-d是指定搜索testing的源。DebianGNU/Linux的发行包含三个版 本:stable,unstable,testing。这有些类似FreeBSD的版本组织形式。stable是稳定版;unstable版有很多实验性 质的新特性,不过这个版本也是不稳定的;testing介乎二者之间。笔者使用testing。

apt-spy更新了源的地址之后,可以使用apt-get update来更新源了。

在日常的管理中,可以不定期地使用apt-update来更新源,以获得新的软件包或者某个软件的升级。

apt-get upgrade用来更新系统中已经安装了的软件包。在使用这个命令的同时,可以添加-u参数。这样用户就能看到哪些包裹将会被升级。

如 果想要知道是否有某个软件的apt资源,可以使用apt-cache search foo来查找相关的软件(foo为需要查找的软件)。不过颇为类似FreeBSD中ports的make seach key="foo",在结果中总是包含有大量的信息———确切的或者类似的。所以如果希望搜索的结果更加准确可 以使用grep之类的软件对搜索的输出进行过滤。

如果在apt的源中找到了希望的软件,就可以使用apt-get来安装。比如apt- get installfoo。在安装的过程中如果有相关的依赖关系,apt可以很方便的帮助用户处理。这也就是说,可以在用户不干预的情况下安装目标软件及相关 必须的软件。不必担心,apt会帮助您处理 好依赖。这一点比rpm要方便的多。不过提醒一点,易用与定制性高是天生的矛盾。

若要查找已经使用apt安装了的软件可以使用dpkg-query -l,也可以是dpkg -L。

如 果要删除某个软件,在安装列表中找到了这个软件之后,可以使用apt-get removefoo来删除这个软件。不过,需要主义的是apt-getremove只是删除了程序本身,而与程序相关的配置文件则保留着。如果的确不需要 这些配置文件,可以在使用apt-get remove 的同时添加purge参数。例如:apt-get remove --purge foo。或者使用dpkg -r foo。与apt-get remove--purge类似,dpkg -P具有相同的功能。不要迷惑,apt是dpkg的前端。

我们刚才说使用apt-get -u upgrade可以更新安装了的软件包,用户也可以使用apt-get dist-upgrade来个更新。不过,要小心的是apt-get dist-upgrade会安装和移除软件包来满足倚赖关系.因此具有一定的危险性。

如 果用户不希望某个软件升级,可以使用echo "foo hold"|dpkg --set-selections。如果想把一个已经hold的软件包解除升级限制,可以使用echo "foo install"|dpkg--set-selections。若想知道某个软件是否为hold,可以使用dpkg --get-selections "foo"。

yum(Yellow dog Updater, Modified)是黄狗LINUX的包管理器,用她可以安装、升级软件包及整个系统。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值