Chinaunix首页 | 论坛 | 博客
  • 博客访问: 504184
  • 博文数量: 119
  • 博客积分: 5054
  • 博客等级: 大校
  • 技术积分: 1305
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-03 13:13
文章分类

全部博文(119)

文章存档

2011年(4)

2010年(115)

我的朋友

分类: LINUX

2010-01-03 16:59:12

摘自《LINUX系统管理技术手册》

APT(Advanced Package Tool,高级软件包工具)是最成熟的软件包管理系统。用一条apt-get命令就可以更新整一个系统的所有软件,甚至还可以不需要人工干预,保持你的机器不断得到更新。

各种linux发行版一般都包含几个空的软件包(虚包),之所以存在这样的软件包,只是为了把其他软件包当作前提条件列出。apt-get会根据需要,自动下载和升级作为前提的软件包,所以这样的软件包就能很容易地把几个软件包当作一个整体来安装或者升级。例如,安装gnome-desktop-environment这个软件包就会保证你获得安装和运行GNOME用户桌面所需的全部软件包。

配置apt-get

apt-get最重要的配置文件是/etc/apt/sources.list,它告诉apt-get到哪儿去找它的软件包。这个文件里每行规定的内容如下:

  • 软件包类型,目前Debian类型的软件包用deb或者deb-src,RPM用rpm或者rpm-src;
  • 指向一个文件、CD-ROM、HTTP服务器或者FTP服务器的URL,从那里可以取得软件包;
  • “发布(实际上是一个发布的名字)”,能让你提供软件包的多个版本。发行版本提供方便使用这个字段来给自己的发行版本指定版本,但是你也可以将它用于你的内部发行系统;
  • 组件可能的清单——其实是发行版本内的软件包类型。

/etc/apt/sources.list文件示例

以Ubuntu系统为例

#General format: type	uri	distribution	[components]
deb  hardy main restricted
deb-src  hardy main restricted

deb  hardy-updates main restricted
deb-src  hardy-updates main restricted

deb  hardy universe
deb-src  hardy universe

deb  hardy-updates universe
deb-src  hardy-updates universe

deb  hardy multiverse
deb-src  hardy multiverse

deb  hardy-updates multiverse
deb-src  hardy-updates multiverse

deb http://security.ubuntu.com/ubuntu hardy-security main restricted
deb-src http://security.ubuntu.com/ubuntu hardy-security main restricted
deb http://security.ubuntu.com/ubuntu hardy-security universe
deb-src http://security.ubuntu.com/ubuntu hardy-security universe
deb http://security.ubuntu.com/ubuntu hardy-security multiverse
deb-src http://security.ubuntu.com/ubuntu hardy-security multiverse

其中的distribution和components字段帮助apt-get遍历Ubuntu软件库中文件系统的层次结构,这个结构的布局有标准可循。

例子中distributiong字段有hardy、hardy-updates、hardy-security等,components字段有main、restricted、universe、multiverse等。

使用代理扩展apt-get

如果你打算在大量主机上使用apt-get,或者想要把软件包缓存在本地——为每台机器都下载每个软件包的一个副本对带宽的使用来说并不划算。你可能也需要指示apt-get通过代理下载软件包,如果防火墙要求有这层保护作用的话。
既然apt-get用的就是普通的HTTP和FTP协议,所以你可以使用任何碰巧已经装好的Web代理。apt-get认可环境变量http_proxy,同样可以在文件/etc/apt/apt.conf里显式地设置代理:

Acquire::http::Proxy “”

设置内部APT服务器

除了使用代理,也可以建立你自己管理的APT服务器,并且把内部的客户机都指向它。这种模式能让你调整向客户机提供的软件包、轻而易举地以推的方式进行升级(只在服务器上安装新版本)、把自己的应用作为软件包来发布,而且最重要的是,提供自己的发行版本。
既然apt-get使用标准的协议(HTTP和FTP)下载它的软件包,建立一台APT服务器所要做的全部工作就是建立一个Web或者FTP服务器,提供适当的内容。

自动执行apt-get

你可以从cron定期执行apt-get。即使你并不打算自动安装软件包,也可能想要定期执行apt-get update来保持包汇总信息得到更新。
如果想要冒险,那么就让机器自动执行这项升级——使用-yes选项,这样就无需人来干预操作,它将对apt-get可能回答的任何确认性问题都热诚的回答说“Yes”!

ps:软件包管理系统值得深入研究,有时间好好看一下apt-get、dpkg的man手册

阅读(612) | 评论(0) | 转发(0) |
0

上一篇:flash中文显示方块问题的解决

下一篇:MVC

给主人留下些什么吧!~~