Cydia Wrong language code zh-Hans 或 Wrong language code zh-Hant 的解释
引用
其实这个不是错误,而是Cydia本身对中文的支持有问题。
而且,这个提示并非是错误提示,实际是属于警告的性质,因为Cydia本身在中文支持上有些问题,但不影响使用,所以会出现警告。
该警告的出现与Cydia软件源中是否存在中文无关,而是和系统语言设置有关,该问题只出现在简体中文和繁体中文系统下(不信把系统语言改成非中文的看还会不会出现错误)。
何时会出现错误提示: 很简单,Cydia刷新出了问题。 一般有两种可能:
1. 网络问题导致Cydia不能获取Packages或Release等文件
2. Packages和Release文件本身有问题,比如说格式错误或者编码错误(BigBoss就闹过一次)
如果网络通畅的话就不会出现这个错误提示了。
制作deb文件需要有dpkg-deb命令,Ubuntu/Debian 系统自带此命令,越狱过的 iPhone OS 也有此命令,Mac OS X 下需安装Fink,Windows 下需安装 Cygwin。
Fink 下载页面:http://www.finkproject.org/download/ Cygwin下载地址: http://www.cygwin.com/setup.exe
以上系统中,iPhone OS最适合用来打包deb文件,因为iPhone OS上的用户/组设置与所需要的设置是完全一致的。但因为iPhone/iPod Touch毕竟是手持设备,处理性能比不上电脑,在打包体积较大的deb文件时需要很长时间,有可能会导致失去连接或者SpringBoard崩溃。而且在WinSCP中涉及文本修改的部分,如果文本含有中文的话,编码是个问题(不会保存为UTF-8)。
Ubuntu/Debian 是 deb 文件系统的原生系统,在兼容性和处理性能上最好,但问题在于,Ubuntu/Debian 没有 iPhone OS 上的一些用户和组,最典型的就是wheel、mobile组和mobile用户。
Mac OS X的问题跟 Ubuntu/Debian 差不多,没有mobile用户/组,而且需要装 Fink 才能支持 deb。 Windows的问题最多,Cygwin体积超大不说,使用起来还很麻烦,加上 Windows 的文件系统和 Unix 标准完全不同,且 Windows 下会面临更严重的编码问题,所以不推荐用 Windows 来打包。
不管是哪个系统,打包 deb 的方法是一样的,只是在某些地方对于某些系统需要特别注意。
一个 deb 安装包由两个部分组成,一个是安装控制/识别信息,另外一个就是实际的程序文件。
用7-zip或Linux下的存档管理器打开 deb 文件,其中安装控制/识别信息储存在 control.tar.gz 里面,而 data.tar.xxx 则储存了程序数据。
解包deb文件
引用
有时候不是需要制作一个全新的deb,而是需要修改现有的deb,那么第一步就是解包。假设deb的文件名是abc_1.0.deb
那么解包命令是 复制代码 1. 和
dpkg-deb -x abc_1.0.deb tmp
复制代码 1.
dpkg-deb -e abc_1.0.deb tmp/DEBIAN
第一个命令是用于解压出实际数据到tmp目录下,后一个命令是解压出安装控制脚本到tmp/DEBIAN目录下,此处必须是大写的DEBIAN。
可以看到在tmp目录下出现了实际数据和DEBIAN目录。
以dpkg-deb -x 和- e 命令解包deb会保留文件的属性/权限/用户/组等信息。
关于dpkg-deb的命令,可以输入 复制代码 1.
dpkg-deb --help
进入DEBIAN目录,可以看到有一个control文件,无后缀名,这个文件就是用来记录deb的安装信息。有时候还可以看到postinst,preinst,prerm,postrm,extrainst_这些文件,这些文件是deb安装的时候执行的脚本(类似于Windows下的批处理文件)。
另外一种解包deb的方法就是用7-zip或者存档管理器之类的软件直接解包到指定目录,但这样不会保留文件的属性/权限/用户/组等信息,因此除非这些信息不重要,或者这些信息是通过脚本来设置,否则不推荐使用该种方法。如果只是要提取某些文件的话倒是可以用,省事一些。
准备打包deb的目录/文件
引用
如果是解包已有的deb,那么目录已经配置好了。如果是新建一个deb,需要有一个主目录,这里以tmp为例,在tmp目录下新建一个目录,DEBIAN。
完成deb数据配置
引用
将程序文件放在tmp目录下。放置规则是,假如在iPhone OS上一个文件是 /Applications/ABC.app/ABC,那么就在 tmp 目录下依次新建目录Applications,ABC.app,然后把ABC放在ABC.app下。其余文件和目录也是一样的放置。
这里要注意的是文件的属性/权限/用户/组的问题,当然前提是知道文件的属性和权限等信息。
通常来说,可执行文件,比如应用程序的可执行文件,脚本等,属性需设为0755或更高(0775或0777),/var/mobile/下的绝大部分文件/文件夹的用户/组需设为mobile等。
要设置文件/文件夹的权限/属性,使用命令 复制代码
1. chmod ABCD XXX
这样的格式,ABCD为需要的属性/权限,比如0644,0755等,一般来说,可行性文件需要设为0755(0775和0777大部分情况下是用不上的,有些特殊的需要设为4755等),其它文件默认就是0644(不可执行),XXX是文件名,可以加上路径。
要设置文件/文件夹的用户/组,使用命令 复制代码
1. chown user:group XXXX
其中user是需要设置的用户,group是组。最常用的是root:wheel和mobile:mobile。
注意:
1. 如果当前用户是非root帐户,如果要将文件的用户/组设为root,需要使用sudo命令来提示权限。 2. 如果要递归设置以上信息,可以使用 -R 参数。比如要将tmp目录下的所有子目录和文件设为0755及root:wheel,可以使用命令 复制代码 1. 2.
chmod -R 0755 tmp chown -R root:wheel tmp
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库超详细制作deb(5)在线全文阅读。
相关推荐: