Personal tools
You are here: Home 文档 Tutorials APT-RPM 使用大全 APT4RPM 简介
Document Actions

APT4RPM 简介

APT 及 APT4RM 的功能及简单用法

杨红

介绍如何制做升级 APT 升级的光盘。
Page 1 of 4.

APT4RPM 的起源

在 RPM 包装系统种,“依赖性检查”是一个保证系统完整性的有力武器。然而,随着依赖性关系的发展,尤其是不恰当的依赖性的存在,往往会发展出依赖性森林,继而出 现如循环依赖、无法解决的关系等问题。过于复杂的关系使用户深陷其中,因而又有 dependency hell 一说。

为了解决同一个问题,debian 的弟兄们发明了 APT,Advanced Packaging Tool,一个自动解决依赖性问题、自动下载的包裹安装程序。不久以后,一个基于 RPM 的发行版,Conectiva,将 APT 移植到了 RPM 世界,称为 APT4RPM。

主页:http://apt-rpm.org/

APT 的配置

APT 主要的设定文件就是 /etc/apt/sources.list,在这里我们指定了仓库的域名,以及其中提供的模块。我们以其中一个仓库http://updates.co-create.com.cn/cocreate/2005sp1/ 为例。该仓库域名为: http://updates.co-create.com.cn/ 提供了 os、updates、devel 和 extras 这几个模块。因此,我们在 sources.list 中就这样设定:

  rpm http://updates.co-create.com.cn/ cocreate/2005sp1 os updates devel extras
rpm-src http://updates.co-create.com.cn/ cocreate/2005sp1 os updates devel extras

存盘。现在,我们来获取该仓库的分析结果信息,运行:

  #apt-get update

一旦完成,依赖性信息就已经到我们本地了,现在我们就来利用 apt 安装几个软件试试。

APT 的仓库类型

除了上我们看到的通过 http 访问的仓库外,APT 还支持 FTP,光盘,及本地文件系统上的仓库。

访问类型访问方法配置方法
HTTPhttp://主机名/ <发行版名> <模块1> [<模块2> <模块3>...]手动添加
FTPftp://主机名/ <发行版名> <模块1> [<模块2> <模块3>...]手动添加
本地文件系统file://路径名/ <发行版名> <模块1> [<模块2> <模块3>...]手动添加
光盘cdrom:[光盘名]/ <发行版名> <模块1> [<模块2> <模块3>...]使用 apt-cdrom add 自动添加
在下一节我们将介绍支持 APT 的光盘制做。

APT 的使用

1) 安装包裹及其依赖:

 # apt-get install gimp
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
lcms
The following NEW packages will be installed:
gimp lcms
0 packages upgraded, 2 newly installed, 0 removed and 8 not upgraded.
Need to get 9244kB/9354kB of archives.
After unpacking 23.8MB of additional disk space will be used.
Do you want to continue? Y/n y
...

可见,我们用 apt 安装了 gimp,它解析了依赖性关系,自动下载安装了所依赖的 lcms 包。

2) 删除依赖包:

 # apt-get remove nessus-common 
Processing File Dependencies... Done
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
nessus-client nessus-common nessus-server
0 packages upgraded, 0 newly installed, 3 to remove(replace) and 0 not upgraded.
Need to get 0B of archives.
After unpacking 4863kB will be freed.
Do you want to continue? Y/n y

3) 全面更新系统 如果新版的操作系统发布了,因而你想要升级所有包到新版,只需一条命令:

  # apt-get upgrade

但这条命令面对复杂的冲突情况时无能为力。此时另一个命令:

  # apt-get dist-upgrade

将通过系统级别的智能分析,来解决可能的冲突情况

4) 清除本地存档

所有通过 APT 安装的 RPM 包都将保存在 /var/cache/apt/archieves 中,如果你想清空存档,只需输入:

  # apt-get clean

5) 下载源码

如果你是一名开发人员,希望帮助我们查错,因而需要源码,那么输入:

  # apt-get source packagename

就将获得该软件包的源码包(如果仓库中有的话)

最后,由于包裹依赖性分析结果是事先通过 update 命令下载到本地的,所以在你再次运行 update 命令之前,apt 是不会知道服务器上是否有新版包裹更新的。所以,经常地运行:

  # apt-get update

能保持系统中软件包与官方升级同步,避免软件包的缺陷导致系统受损。

参考: http://www.gnome-cn.org/getstart/sources/2.4/apt4rpm_usage/

 
by 杨红 last modified 2006-08-04 08:24

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: