77范文网 - 专业文章范例文档资料分享平台

超详细制作deb(7)

来源:网络收集 时间:2019-04-02 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Replaces:

替换软件包,安装A会替换B。

o 以上5项的格式相同,直接填软件包的Package标识即可,如果需要加入版本号,则为

软件表标识+空格+(判断符号 版本号)。

比如 Depends: apt-key, firmware (>=3.0), 这表示依赖于apt-key,不限版本,firmware,且版本大于或等于3.0。

o o o

判断符号:远远低于(<<)、低于(<)、低于或等于(<=)、仅等于(=)、等于或高于

(>=)、大于(>)以及远远高于(>>)。

表示多个软件包,以英文逗号分隔。

表示“或”关系,用 | 分隔。比如软件包C依赖于A或B,可写Depends: A | B。 但“或”

关系要慎用。原因是,当不存在“或”关系的时候,假设B依赖于A,且系统并未安装A,那么在Cydia中安装B的时候会自动下载安装A。而假如说C依赖于A或B,且A与B都未安装,那么在安装C的时候就会失败,因为系统无法判断是应该下载A还是B。除非系统已经安装了A或B,否则C不能安装。

o o

Description:

一个特殊的依赖:firmware。这个Package记录了固件版本,在对固件版本有要求的软

件包上特别重要。

假设B依赖于A,那么在卸载A的时候也会一起卸载B

软件描述,不能在control里直接换行,如果需要实现换行显示,可以使用
代码。当指定了Depiction时,在软件查看页面不会显示Description。

Depiction:

功能类似于软件描述,链接到一个网页,以网页的内容代替软件描述。只在软件查看页面显示,在软件包列表页面不显示。

可以使用本地网页,格式同Icon。

注意:此功能可能会消耗大量网络流量。

Homepage:

链接到页面,Cydia中显示为More Information。

页面不会主动加载。 Tag:

标签,用于分类软件包信息。

purpose:: 软件包类型,比如软件源,命令行,库等等。purpose::console表示该软件为命令行界面。

可选项有 commercial, console, daemon,

extension, library, uikit, x,对应图标文件在 /Applications/Cydia.app/Purposes 目录下。也可以自行添加 purpose 分类,并加入同名图标即可。

role:: 软件包使用者归类。developer开发者,hacker骇客,enduser普通用户,该标签用于Cydia中软件包显示过滤。

cydia::commercial Cydia Store软件。 示例:

control.txt (1 K) 下载次数:130 去掉 .txt 后缀名

DEBIAN之脚本preinst/postinst/prerm/postrm/extrainst_

引用

很多时候deb安装并不是把文件复制到iPhone里就可以了,还需要执行一些命令,比如设置权限,备份文件,加载启动进程等等,那么这时候就需要一些脚本来实现这些操作。

标准的deb脚本有4个,preinst,postinst,prerm和postrm,pre是表示XX之前的前缀,post是表示XX之后的前缀,inst是install(安装)的缩写,rm是remove(移除)的缩写,所以这4个脚本的功能很明显:

? ? ? ?

preinst:在复制文件前执行的脚本 postinst:在复制文件之后执行的脚本 prerm:在卸载前执行的脚本 postrm:在卸载之后执行的脚本

在Cydia中还存在一个独立的脚本,extrainst_,从字面上来讲就是额外的安装脚本。这个脚本是Cydia的作者Saurik为解决某些脚本只需要在安装时执行,在升级时不执行而专门引入的一个脚本,功能跟postinst差不多,和Installer时代的“ahhhh”比较相似。关于extrainst_的详情可以看看这个:http://www.telesphoreo.org/pipermail/cydia-packagers/2008-September/000252.html

5个脚本的编写方法基本是一样的,但为了适应Cydia的安装,在某些情况下需要进行特定的配置。

查看某些deb可能会发现这样的语句: 复制代码 1.

if [[ $1 == install || $1 == upgrade ]]; then

这种语句是为了区别安装/升级/卸载而准备的脚本。$1是一个外部变量,将这个外部变量传入脚本来执行,而这个外部变量是由Cydia软件自身生成的。

简单来说,如果是安装,则是 $1 == install ;如果是升级,则是$1 == upgrade;如果是卸载则是 $1 == remove。

if 是个判断语句,当满足if后[ ]中的指定条件时,if中的内容就会执行。那么这里就可以通过设定install/upgrade/remove来控制在不同操作时执行的命令。

但要注意的是,这个功能只能在Cydia中使用,其它的apt软件管理工具,如Icy,Rock等,不能识别这个命令,因此无法执行if中的语句,所以在写脚本的时候到底需不需要用这种格式,就看自己的需要了。

总体来说,Unix的脚本(Shell Script)有其固定的格式。

文件顶头为 复制代码 1.

之后就是运行的命令了。

#!/bin/bash

表示调用bash这个shell

脚本中如果需要注释,可以使用 # 符号。 以 # 开头的行会被当作注释,里面的内容在执行过程中没有意义。

通配符: *

最常用的两个命令自然是设置属性/权限/用户/组

设置属性/权限

复制代码 1.

由于deb的脚本执行都是在root用户下,因此不需要提升权限,即不需要使用sudo命令。 -R参数:表示递归,加上此参数会将指定的目录及其子目录的全部目录和文件的属性改变。 属性:有多种写法。具体可以看 http://baike.http://www.wodefanwen.com//view/1229012.htm?fr=ala0_1 比较常用的几种属性:

chmod 【-R】 属性 文件名

? ? ?

chmod +x XXXXX 为文件增加可执行权限

chmod 0644 XXXXX 不可执行文件最常使用的权限 chmod 0755 XXXXX 可执行文件最常使用的权限 实例: 复制代码 1.

chmod -R 0755 /Applications/Cydia.app

设置用户/组

复制代码 2.

同样不需要sudo来提示权限。-R也是表示递归。 比如要将文件A设为root用户,wheel组,可以使用命令 复制代码 3.

复制代码 4.

chown -R mobile:mobile /var/mobile/Documents chown root:wheel A

chown 【-R】 用户:组 文件名

要将 /var/mobile/Documents 下所有文件夹和文件设为mobile用户和mobile组,可以使用命令

删除文件/文件夹

复制代码 5.

rm 【参数】 文件名

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库超详细制作deb(7)在线全文阅读。

超详细制作deb(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/568025.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: