注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

东莞老技工

生活洗涤了青春年少,岁月沉淀了厚重

 
 
 

日志

 
 
关于我

电路板维修行业一名老技术工,专们从事工业电路板的维修,涉及变频器,伺服器,PLC,工控电路板,工业触摸屏,工业电源,工业机器人,示教盒,半导体设备等领域,这个博客里主要记录一些实际的维修案例,希望能有此爱好的朋友,一起交流

网易考拉推荐
 
 

APT-RPM 使用大全   

2007-09-20 12:33:32|  分类: IT技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

本文來源於http://www.opendesktop.net/documentation/tutorial/apt-rpm-tutorial/tutorial-all-pages

APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客 APT-RPM 使用大全

文档操作

Note: This is the print view with all the tutorial pages on one page. The paginated version is available here, if you prefer that.

介绍如何制做升级 APT 升级的光盘。

APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客 APT4RPM 简介

APT 及 APT4RM 的功能及简单用法

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,光盘,及本地文件系统上的仓库。

APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客访问类型APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客 APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客访问方法APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客 APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客配置方法APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客
HTTP http://主机名/ <发行版名> <模块1> [<模块2> <模块3>...] 手动添加
FTP ftp://主机名/ <发行版名> <模块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/

APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客 制做支持 APT 的光盘

介绍如何制做支持 APT 的光盘

光盘上的目录结构

光盘根目录

|-- .disk

| |-- cocreate.build

| `-- info

`-- Co-Create

|-- RPMS

| `-- dummy-1.0.i386.rpm

`-- apt

|-- README.apt

|-- README.apt.zh_CN

|-- RPMS.core -> ../RPMS

`-- base

文件说明

APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客文件/目录APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客 APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客作用APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客 APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客格式APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客
.disk 隐藏目录,存放光盘的元信息 注意是以.(点)开始的文件名 
 .disk/info 存放光盘标题 <发行版名称>[ [版本号] [备注]],

上面的实例中发行版名称为 Co-Create

Co-Create 以发行版名为名的目录,

存放RPM 包及 APT 仓库信息

必须与 .disk/info 中的发行版本名称一致

Co-Create/RPMS 集中存放光盘上的RPM包 ,基于

 RedHat 的发行版光盘都有这样的目录

 
Co-Create/apt

标准的 APT 仓库结构

 
Co-Create/apt/RPMS.core

连接到光盘实际存放 RPM 包的目录

 
Co-Create/apt/base

标准的 APT 仓库结构

 
准备好这些目录后,把所有 RPM 包放到 Co-Create/RPMS 下,然后在 Co-Create/apt 目录执行如下命令

genbasedir --bloat --flat `pwd` core

这个命令属于 apt4rpm,这样就生成就在当前目录下生成了仓库信息(即 RPM 包的索引信息)。

其中 .disk/info 为

CoCreate 2005SP1 Development

然后即可刻盘。这张光盘就是一张支持 APT4RPM 的光盘了。

APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客 Synaptic 简介

软件包管理工具,APT 的图形界面

主窗口

APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客

仓库配置窗口

APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客

APT-RPM 使用大全  - 湘水湘情 - 湘水湘情的博客 创建 APT 仓库

创建你的 APT 仓库

一、需求

一台已经有如下内容的服务器:

1.可用的http/ftp服务器。

2.已经安装了”apt4rpm”软件包(最好是使用 RPM 包管理的发行版)。

3.你要放入仓库的软件包。

二、仓库目录结构

仓库结构需要满足以下要求:

1.多个发行版

2.多个版本

3.同一版本的多种语言

4.同一版本的多种体系结构

5.同一版本的不同模块(如发行版,更新,扩展等)

   

为了满足以上标示,我们采用如下的目录结构:

apt - cocreate -+- 2005 -+- en -+- i386 - os, updates, extend

        |    |   |

        |    |   +- s390 - os, updates

        |    |

        |    +- ko --- i386 - os, updates

        |

        +- 2006 --- en --- i386 - os, updates, extend

    每个模块下的目录按如下的方式存放:

i386

 |

 +-- base

 +-- RPMS.os

 +-- RPMS.updates

 +-- RPMS.extend

 +-- SRPMS.os

 +-- SRPMS.updates

 +-- SRPMS.extend

    各模块都包含了RPM包和SRPM包,分别存放在对应的“RPM.模块名”和“SRPM.模块名”目录中。base目录用于存放生成的软件包列表。

三、创建仓库

    在创建仓库之前,把你的所有软件包按模块分类存入到对应的目录中,当然你也可以使用连接,然后才能真正的创建仓库。

    创建仓库要使用genbasedir命令。如下:

genbasedir --flat --bloat --bz2only /var/apt/cocreate/8.0/en/i386 os updates

--flat 参数说明模块内的目录是直接以“RPM.模块名”和“SRPM.模块名”的方式存放在模块目录下的。

--bloat 参数说明生成兼容旧发行版的包列表格式。

--bz2only 参数说明只生成使用bzip2压缩的包列表,如果客户端无法获取仓库软件列表,则应该去掉这个参数。

/var/apt/redhat/8.0/en/i386 参数说明仓库的顶层目录。

os updates 参数说明仓库内的所有模块。

四、使仓库可访问

为使得用户可能访问你的仓库,需要配置httpd服务器或ftp服务器。

Httpd的配置,在httpd.conf 中加入如下配置:

<VirtualHost *>

    ServerName apt.ccoss.com.cn

    DocumentRoot /var/apt

    <Directory /var/apt>

        Options +Indexes

    </Directory>

    ErrorLog /var/log/httpd/apt.ccoss.com.cn-error_log

    CustomLog /var/log/httpd/apt.ccoss.com.cn-access_log combined

</VirtualHost>

在客户端仓库列表中添加如下:

rpm http://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend

rpm-src http://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend

你也可以把/var/apt连接到已经可以访问的httpd目录中,然后使用适当的地址来访问软件包仓库了.

ftp 配置:把匿名用户的设置为 /var/apt 即可,在客户端使用如下的配置:

rpm ftp://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend

rpm-src ftp://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend

然后即可更新仓库,安装升级软件包了.

  评论这张
 
阅读(15)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017