网站大量收购独家精品文档,联系QQ:2885784924

deb软件包结构浅析.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
释放软件包 方法1、 ar -t 查看deb包存档格式文件 -x 释放存档文件 Debian-binary: 存档格式的版本 Control文件:deb包的DEBIAN目录控制信息, Data文件:deb包的数据信息,存档文件,执行文件等 后面两个文件的压缩格式各种各样。这边不讨论。 方法2、 Dpkg -x 解压程序文件 -X 解压程序文件(输出的标准输出) -e 解压控制文件 control文件 Apt-cache工具show出的gcc的信息,这个推测是control文件中的内容 下面这个是cat出的软件包的control信息。 语法: field: value 如果是多行value,需要空一个空格 字段分析: 1)、源码包中有control文件【debian/control】 、二进制包中有control文件【DEBIAN/control】 、Source(强制的) 源码包的名字Package(强制的) 二进制包的名字Maintainer(mandatory) 维护者维护者的名字在前面,后面用“”写上电子邮箱地址。Uploaders 维护者可选的字段,如果Maintainer只写了一个团队或者是一个团队的公共邮箱,那么这一字段可以写维护者(人)的名字和邮箱,语法和Maintainer字段一样。Changed-By 维护者对这个版本的软件包修改过的维护者。格式同Maintainer字段。Section 节/部分这个字段指出软件包被维护者所分属的应用领域。目前,这个字段可以有下面这些关键字: 优先级这个字段标识软件包的优先级别,是维护者指定的优先级,在Debian系统中表示软件包的一种等级划分。在debian/control文件中,这个字段的的值应该和.change文件中的值一致。 在目前的体系中,优先级分为五个等级: Required:这个优先级的软件包对于系统来说是必须的(dpkg功能是依赖这些软件包的)。移除required等级的软件包可能造成系统的破坏、无法运行,而且你还不能用dpkg返回刚刚的操作,所以除非你知道自己在做什么。 Important:这个优先级的软件包是一些系统日常必备的东西,如果系统不具备这些软件,系统运行会非常不爽,让人无法接受,但这个优先级的软件不能太大,如VIM等。所以说是小的、必要的一些工具。 Standard:这个优先级是一些缺省安装的软件包,这些软件包足够小,不一定只是工作在命令行下的,它不能包含一些大的软件。 Optional:(在定义中,非required即为optional,但在这里不是),这个优先级的很多软件你想安装但是你也不是特别的强烈需要这些软件。这个级别软件很多,想X-window系统、TeX等应用。Optional包不允许互相之间有冲突。 Extra:不是required、important、standard、optional优先级的包都是这个优先级,这些包可能互相冲突(包括其他优先级),要安装的话除非你知道这些包是干什么用的。Architecture 架构取决于(依赖)上下文和control文件,该字段包含下面的四种格式: 一个独特的单词()指出适用的机器架构,os常常省略 用通配符标识机器架构,“any”表示匹配所有的架构且常用 “all”标识独立于机器架构的包 “source”标识一个源代码包 在终端使用“dpkg-architecture -L”命令查看os-arch有哪些值,看到有349个值 注: 在源码包的 debian/control文件中,该字段可以包含“all”、“any”、或是os-arch,他们之间空格间隔。如果是出现“all”或者“any”,该值必须是全部部分,即只能有all或者any独立存在。大部分的包是“all”或“any”。 指定的一个特定的os-arch架构list,则源码包将会建立一个依赖list表中架构的包。 在Debian源码控制文件.dsc文件中,该字段包含一个architecture list和架构的通配符,中间用空格隔开。当字段中包含通配符any时,只能同时存在all。 源码包中只有“any”通配符,表示源码包不依赖于任何特定的架构,能编译适应任意架构的。能生成特定于当前体系的二进制包。 源码包中只有“all”通配符,表示源码包仅仅生成独立于体系结构的包。 源码包有“any”和“all”通配符,表示不依赖于任何特定的架构,生成的二进制包集合中包含至少一个依赖一种体系的包和一个独立于体系架构的包。 在.changes文件中Architecture字段列出的是目前升级后的包对应的Architecture。如果源码包也升级了,特殊值“source”还是应该存在的。任意的独立于架构的包升级后“al

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档