下載 PDF 格式文檔: http://app./files/how_to_host_cydia_repo.pdf
本帖中任何涉及文本編輯的內(nèi)容,必須保證文本為UTF-8,Unix編碼,Unix/Linux換行符(LF)。
Linux系統(tǒng)下默認(rèn)就是符合標(biāo)準(zhǔn)的,Mac OS X下可能需要調(diào)整編碼,iPhone OS下編輯取決于軟件,WinSCP自帶的編輯器是符合規(guī)范的,但在默認(rèn)設(shè)置下,如果文本中有中文,那么文本格式就不是UTF-8,而是GB2312。
Windows下記事本/寫字板等文件編輯器,默認(rèn)保存格式都是ANSI+Windows編碼,所以需要轉(zhuǎn)換編碼??梢允褂肬ltraEdit之類的工具,我個(gè)人覺得Visual Studio的編輯器也不錯(cuò),在高級(jí)保存選項(xiàng)中設(shè)置一下就可以了。
一樓:如何搭建Cydia軟件源
二樓:如何制作deb安裝文件(點(diǎn)擊跳轉(zhuǎn))
Cydia中的軟件源地址保存在 /etc/apt/sources.list.d/ 目錄下,分為兩種:
1. 以軟件包形式安裝的軟件源,如Cydia默認(rèn)的軟件源,Modmyi、BigBoss等,該類軟件源是以獨(dú)立的.list文件記錄軟件源地址。
2. 由用戶在Cydia里輸入地址添加的軟件源,該類軟件源全部保存在 cydia.list中。
以上兩種形式的軟件源本質(zhì)沒有差別,但只軟件源的文件存放位置上是有不同的。
以Saurik自己的軟件源為例。打開 saurik.list文件, 可以看到有以下內(nèi)容 (以#開頭的行屬于注釋,沒有實(shí)際用途)
那么,軟件源的 Release 文件的地址是 http://apt./dists/tangelo-3.7/Release
Cydia就是通過或許Release文件進(jìn)而檢測(cè)軟件源的存在,然后再下載記錄軟件包相關(guān)信息的 Packages 文件。
而對(duì)于在Cydia中輸入軟件源地址進(jìn)行添加的這種源,方法有些不同。因?yàn)槟J(rèn)情況下,輸入地址以后,Cydia會(huì)認(rèn)為Release文件存放于輸入的地址所在的目錄下。在list文件中的記錄信息為:
并不會(huì)繼續(xù)往子目錄里檢測(cè)Release文件。
因此,搭建Cydia軟件源首先需要配置服務(wù)器上相關(guān)目錄和文件的存放位置。
取決于軟件源的添加方式,文件/目錄的路徑設(shè)置可以分為以下兩種情況:
1. 只公布軟件源的地址,讓用戶手動(dòng)輸入地址來添加。這種方式的文件/目錄設(shè)置最為簡(jiǎn)單。
以威鋒源為例,威鋒源的地址為http://app./cydia
那么在郁悶app.下,存在目錄cydia。目錄cydia即使軟件源所在的目錄。
將文件Release放置在cydia目錄下即完成了軟件源的搭建。
要注意,搭建軟件源,必須保證至少有Release和Packages兩個(gè)文件。
2. 以軟件包的形式安裝,即直接在 /etc/apt/source.list.d/ 目錄以文件的形式添加,那么這個(gè)就沒有什么固定的位置了。
基本上仿照Saurik和BigBoss的list文件的格式即可。
list文件格式: - # do not edit this file to add your own custom sources
- # this file is subject to be upgraded as part of a package
- # either add your own .list file to /etc/apt/sources.list.d
- # or add your entry to the global /etc/apt/sources.list file
- deb 軟件源地址 項(xiàng)目名 類型
復(fù)制代碼
文件名任意
其中,Release文件應(yīng)放置于 軟件源地址/項(xiàng)目名/ 這個(gè)目錄下,Packages文件放置位置由Release文件來決定(詳情見后文)。
之前提到過,搭建軟件源必須要有Release和Packages兩個(gè)文件。前者的作用是記錄軟件源本身的相關(guān)信息,而后者的作用則是記錄具體軟件包的存放位置和安裝信息等數(shù)據(jù)。
以下是Release文件的格式: Origin: BigBoss
Label: BigBoss
Suite: stable
Version: 1.0
Codename: BigBoss
Support: http://cydia./support/*
Architectures: darwin-arm iphoneos-arm
Components: main
Description: Apps & Themes! We host your apps. Email me.
MD5Sum:
be8806290d5904cdf45b542706f6a3ad 165020 main/binary-darwin-arm/Packages
03026ac993187b0eecae50466f64fb3c 35049 main/binary-darwin-arm/Packages.gz
93091f5ca485e066d5fc32ca1327830c 3031061 main/binary-iphoneos-arm/Packages
d7aec18dee5b627339b77a9d91e3f92f 368222 main/binary-iphoneos-arm/Packages.bz2
其中紅字部分是必填內(nèi)容,紫色部分是可選內(nèi)容。
每項(xiàng)的作用:
必須
Origin: 軟件源名稱,可以使用中文(Cydia的軟件源列表中顯示的標(biāo)題)
Label: 同上,也可以使用中文
Suite: 軟件源的類型,比如正式源,測(cè)試源等,可以分別用stable, beta, unstable等來表示,一般填stable就可以了
Version: 版本號(hào),這個(gè)其實(shí)不重要,隨便填,一般都是寫1.0
Codename: 代碼代號(hào),比如BigBoss的就寫B(tài)igBoss,威鋒的就寫WeiPhone,也沒什么限制,只能用英文
Architectures: 結(jié)構(gòu)。iPhone平臺(tái)統(tǒng)一寫iphoneos-arm
Components: main
Description: 軟件介紹,可以使用中文和html代碼,具體能使用哪些代碼在下面會(huì)介紹。
可選
Support: 支持,沒什么作用,除非特別需要,否則可以不要這個(gè)。
MD5Sum: 不是必須的,但如果Packages文件位置不與Release文件在同一目錄下,則必須有此項(xiàng)。另外,如果需要簽名Release文件,也必須有這個(gè)。關(guān)于MD5Sum的格式,在下文也會(huì)介紹。
Description格式
顯示在Cydia中每個(gè)軟件頁面最下方。
不能直接換行,如果要實(shí)現(xiàn)顯示換行顯示,可以使用<br>代碼。
要加粗顯示,可以使用<strong></strong>代碼
可以使用html代碼設(shè)置字體顏色。
不能使用超鏈接代碼。
代碼:Description: WeiPhone-威鋒網(wǎng)為您提供iPhone所需軟件/補(bǔ)丁。<br><br>聯(lián)系我們: <strong>weip.com@ gmail.com</strong>
實(shí)際顯示效果如下:
MD5Sum格式
MD5Sum是用來記錄Packages即相關(guān)文件的文件大小,存放路徑和MD5值。
MD5Sum: 之后另起一行,開頭要空一格(論壇里用quote或code代碼之后都不顯示開頭的空格)
每行格式是:
空格+文件MD5值+空格+文件大小(以字節(jié)為單位)+文件路徑 (全部沒有+)
而文件路徑的格式則有文件存放位置來決定。
如果是沒有設(shè)置Release文件的路徑,那么Release和Packages同在根目錄,則路徑為 Packages,直接就是文件名,沒有其它路徑。
如果在之前設(shè)置了Release文件的路徑,如Saurik和BigBoss,那么Packages 的路徑為 main/binary-iphoneos-arm/Packages,起始文件夾,即main,要與Release文件同在一個(gè)目錄下。main和binary-iphoneos-arm要與Releases中的對(duì)應(yīng)信息相匹配。
對(duì)于Packages.gz和Packages.bz2,格式相同,也記得要另起一行。
因此,Packages文件的保存位置就是 軟件源地址/dists/main/Codename(與Release文件中一致)/main/binary-iphoneos-arm下。
Release文件的示例可以參看以下幾個(gè)地址:
http://app./cydia/Release
http://apt./dists/tangelo-3.7/Release
http://apt.bigboss./repofiles/cydia/dists/stable/Release
以下是生成Packages文件的方法:
Packages文件格式 - Package: 3proxy
- Version: 0.5.3k-2
- Architecture: iphoneos-arm
- Maintainer: Jay Freeman (saurik) <saurik@>
- Installed-Size: 1208
- Filename: debs/3proxy_0.5.3k-2_iphoneos-arm.deb
- Size: 416318
- MD5sum: f84cb6764a9df30ab326c17f51de15fd
- Section: Networking
- Priority: optional
- Homepage: http:///download/
- Description: tiny free proxy server
- Name: 3proxy
- Depiction: http://cydia./info/3proxy/
- Tag: purpose::daemon, role::hacker
復(fù)制代碼
Packages實(shí)質(zhì)上是deb文件的control信息集合,另外多了deb文件本身的信息。(control文件是記錄軟件包本身的信息,但沒有deb文件本身)
多出的deb文件信息為: [li]Filename(deb文件位置與文件名)[/li][li]Size(deb文件大小,字節(jié)為單位)[/li][li]MD5sum(deb文件MD5值)[/li]
要保證Cydia能正確獲取deb的相關(guān)數(shù)據(jù),除了以上3個(gè)deb文件信息以為,還必須保證至少有以下兩項(xiàng):
[li]Package(軟件標(biāo)識(shí)符,相當(dāng)于***號(hào)碼,用于識(shí)別唯一的軟件)[/li][li]Version(軟件版本號(hào))[/li]
這里重點(diǎn)關(guān)注的是Filename。Filename項(xiàng)決定了在服務(wù)器上deb文件的存放位置。如果沒有上級(jí)目錄,即deb文件和Packages文件處于同一目錄,那么只需要一個(gè)單獨(dú)的文件名就可以了,不需要加上目錄名,即xxxx.deb。但這樣在軟件數(shù)量多的時(shí)候會(huì)導(dǎo)致管理上的混亂。
假設(shè)deb文件存放在debs目錄下,那么Filename就應(yīng)該是 debs/xxx.deb 這樣的格式。
其余項(xiàng)會(huì)在二樓deb制作教程中介紹。
一個(gè)軟件包的全部信息在Packages文件中是以連續(xù)的一段存在,每一行是不同的信息。不同軟件之間以空行做分隔。
如何生成Packages文件
方法一:
環(huán)境:任何支持dpkg命令的unix系統(tǒng)
工具:dpkg及相關(guān)組件。
[li]iPhone OS(已越獄):自帶dpkg-deb命令,無dpkg-scanpackages命令[/li]
[li]Debian/Ubuntu:自帶dpkg-deb和dpkg-scanpackages命令[/li]
[li]Fedora: 無dpkg相關(guān)命令[/li]
[li]Mac OS X:無任何dpkg相關(guān)命令[/li]
[li]Windows:非unix系統(tǒng),無dpkg相關(guān)命令[/li]
以上系統(tǒng)中,F(xiàn)edora不支持dpkg,也無法通過安裝系統(tǒng)組件來支持dpkg,因此Fedora系統(tǒng)不能用于生成Packages文件。
而對(duì)于Mac OS X系統(tǒng),本身雖然不支持dpkg,但可以通過安裝一個(gè)叫 Fink 的軟件來獲得dpkg命令。
Fink 下載頁面:http://www./download/
如何安裝請(qǐng)見官網(wǎng)說明。
對(duì)于Windows系統(tǒng),可以通過安裝 Cygwin + dpkg 來獲取dpkg命令。
Cygwin下載地址: http://www./setup.exe
dpkg命令可以直接在Cygwin中獲取。
但個(gè)人不推薦在Windows下使用dpkg,因?yàn)镃ygwin體積很大,與其安裝這個(gè),還不如直接安裝個(gè)Ubuntu來的簡(jiǎn)單。
各個(gè)系統(tǒng)下生成Packages的方法基本一樣。
最簡(jiǎn)單的方法是利用dpkg-scanpackages命令來制作Packages文件。
iPhone OS 不適用(因?yàn)闆]有這個(gè)命令)
[li]將需要發(fā)布的deb文件放在一個(gè)目錄,比如說debs下[/li]
[li]命令行里進(jìn)入到debs目錄的上級(jí)目錄[/li]
[li]執(zhí)行命令- dpkg-scanpackages debs > Packages
復(fù)制代碼 ,其中debs為deb存放目錄。運(yùn)行該命令可能需要root權(quán)限,可以使用root帳戶登錄,login root 或 su root 或使用sudo
[/li][li]Packages存放于當(dāng)前目錄[/li]
如圖所示
如果指定的文件夾不存在,則提示 dpkg-scanpackages: error: Binary dir ebs not found
如果在指定的文件夾內(nèi)沒有deb文件,則提示 Wrote 0 entries to output Packages file.
注意:Debian/Ubuntu系統(tǒng)下的dpkg-scanpackages命令不會(huì)輸出Name,Author,Sponsor,Depiction等信息不會(huì)自動(dòng)添加進(jìn)去,所以需要手動(dòng)加入這些數(shù)據(jù)。Mac OS X下無此問題。
以dpkg-scanpackages命令來生成Packages文件有一個(gè)很大的限制,就是必須保留全部要發(fā)布的和已經(jīng)發(fā)布的deb文件,在deb數(shù)量多的情況下會(huì)浪費(fèi)大量磁盤空間。
因此可以使用改進(jìn)命令:- dpkg-scanpackages debs >> Packages
復(fù)制代碼 ,這樣不會(huì)每次都重新生成Packages文件,而是將debs目錄下的deb信息添加到已有的Packages文件末尾。在新增軟件的時(shí)候沒什么問題,但如果是軟件更新,那么就會(huì)出現(xiàn)重復(fù)條目的問題,這時(shí)候需要手動(dòng)刪除舊的軟件包信息。
方法二
上面的方法里也提到過,可以直接編輯Packages文件,因此用文本編輯器將相關(guān)數(shù)據(jù)寫入Packages也是可以的,只是這樣工作量會(huì)比較大,但這種方法沒有系統(tǒng)的限制,任何系統(tǒng)下,不管有沒有dpkg相關(guān)命令都可以使用。格式也是一樣的,每項(xiàng)之間只要把Packages放在第一個(gè)就可以了,其余項(xiàng)沒有順序要求。
由于絕大部分?jǐn)?shù)據(jù)可以從control里直接復(fù)制,需要自己獲取的就只有Filename,Size和MD5sum。
在Unix系統(tǒng)下,包括Mac OS X和Linux,以及iPhone OS,獲取文件大小可以使用命令 ls -l ;獲取MD5值可以使用命令 md5sum
另外,在Windows下要解包deb文件可以使用7-zip,control 文件位于 control.tar.gz 下
方法三 (2010/03/23更新scandebs腳本)
生成Packages和Release文件只是最基礎(chǔ)的步驟,實(shí)際還需要壓縮Packages文件,有時(shí)候還需要簽名Release文件,為了簡(jiǎn)化操作,我自己寫了一個(gè)腳本,具有以下功能:
[li]自動(dòng)從服務(wù)器上獲取 Packages 文件,不需要每次都事先準(zhǔn)備 [/li]
[li]自動(dòng)生成Release文件 [/li]
[li]自動(dòng)生成Packages,Packages.bz2和Packages.gz [/li]
[li]在生成Packages文件之后無需保留deb文件 [/li]
[li]保留control里的全部信息 [/li]
[li]不會(huì)出現(xiàn)重復(fù)條目[/li]
[li]自動(dòng)簽名Release文件[/li]
http://app./files/scandebs.tar.gz
更新記錄 (8/11 v1.3):
1. 修正grep命令精確匹配問題
2. 若不存在debs目錄或debs目錄下無deb文件,退出
3. 現(xiàn)在可以在Linux和BSD(iPhone和Mac)系統(tǒng)下使用了
4. 其它優(yōu)化
更新記錄 (5/13 v1.2):
1. 針對(duì)mac系統(tǒng)下無md5sum命令的問題,用openssl md5 FILE來獲取文件MD5值
2. 規(guī)范control文件格式(強(qiáng)制將Package項(xiàng)放在第一行)
3. 完全自動(dòng)模式,無需用戶在簽名Release時(shí)輸入密碼(需自行修改一下腳本,方法見下文)
更新記錄 (3/23 v1.1):
1. 修正了Release中Packages.gz項(xiàng)的拼寫錯(cuò)誤
2. 增加參數(shù)功能,可以顯示幫助,版本號(hào),自選是否簽名Release
3. 每次生成Packages時(shí)會(huì)按Package標(biāo)識(shí)排序
使用之前需要先修改下腳本(只需修改一次即可)【因?yàn)楦逻^,所以圖片所示的行數(shù)已不匹配了,但是內(nèi)容基本還是一樣的?!?br>
[li]第46行,將wget后的地址改為自己源的Packages的地址
另外,因?yàn)閕Phone OS本身沒有wget這個(gè)命令,可以去Cydia安裝一個(gè)wget。使用此命令需要聯(lián)網(wǎng),否則請(qǐng)事先準(zhǔn)備好Packages文件。[/li]
[li]第132,136,140這三行,將Packages,Packages.bz2和Packages.gz根據(jù)需要自己修改(如果需要指定這幾個(gè)文件的存放位置)
[/li]
[li]第151-158行,引號(hào)內(nèi)的內(nèi)容根據(jù)需要自己來修改(此部分用于生成Release文件)
[/li]
[li]第166行,引號(hào)內(nèi)的內(nèi)容修改為自己的私匙的用戶名和密碼
[/li]
[li]Ubuntu 用戶請(qǐng)注意:Ubuntu下的 GPG 默認(rèn)開啟了use-agent功能,所以在簽名Release的時(shí)候會(huì)彈出一個(gè)提示框,而這個(gè)提示框根本就沒用,所以要禁用。[/li]
[li]禁用方法:打開 ~/.gnupg/gpg.conf (~表示當(dāng)前用戶)或者直接用命令搜索 use-agent,將其注釋掉(即修改為 #use-agent)[/li]
使用方法:
[li]將scandebs文件放置在任意位置[/li]
[li]準(zhǔn)備debs文件夾,需在scandebs同級(jí)目錄下[/li]
[li]將要更新的deb文件放置在debs目錄下[/li]
[li]【可選】將Packages文件放置在scandebs同級(jí)目錄下(如果需要修改Packages文件中的已有數(shù)據(jù))[/li]
[li]以命令 sh scandebs + 參數(shù) 來執(zhí)行腳本;或 將文件屬性設(shè)為0755,命令 chmod 0755 scandebs,之后可以直接使用命令 ./scandebs + 參數(shù)[/li]
[li]【可選】如果提示要你輸入簽名Release文件的密碼,輸入之[/li]
[li]得到Packages,Packages.bz2,Packages.gz,Release和Release.gpg【可選】這5或4個(gè)文件[/li]
顯示幫助- ./scandebs -h
- 或
- ./scandebs --help
復(fù)制代碼
顯示版本號(hào)- ./scandebs -v
- 或
- ./scandebs --version
復(fù)制代碼
不簽名Release(無參數(shù))
使用簽名Release功能- ./scandebs -s
- 或
- ./scandebs --sign
復(fù)制代碼
手動(dòng)修改Packages注意事項(xiàng)前面說過,Packages文件可以手動(dòng)編輯,有時(shí)候僅僅需要更改一些字段的內(nèi)容,如果因?yàn)檫@個(gè)要重新打包deb,不一定合算,因此手動(dòng)編輯Packages可以省下一些工作量。以下是一些注意事項(xiàng):
[li]以下字段不可修改:Package,Version,Size,MD5Sum,Depends,Pre-Depends,Provides,Conflicts,Replaces[/li]
[li]其余字段可以任意修改,無需與deb里的control一致,因?yàn)镃ydia本身不是讀取的control的數(shù)據(jù),而是從Packages中獲取數(shù)據(jù)。[/li]
[li]修改字段以后,如果以dpkg-scanpackages重新生成Packages,那么修改過的部分會(huì)被還原成control里的原始數(shù)據(jù)。[/li]
簽名Release的方法 [li]獲取用于簽名的GPG密匙(方法見下文)[/li][li]運(yùn)行命令- gpg -abs -r "HuangRui" -o Release.gpg Release
復(fù)制代碼 其中引號(hào)內(nèi)的字符串為用于簽名的密匙的用戶名(用于區(qū)分不同的簽名密匙)[/li][li]輸入密碼[/li][li]完成[/li]
為什么要簽名Release
雖然不簽名Release文件也沒什么大的問題,但是簽名Release有以下幾個(gè)用途:
[li]解決Cydia刷新出現(xiàn)的 Wrong language code zh-Hans 或 Wrong language code zh-Hant 的問題(當(dāng)然如果別的源有這個(gè)問題的話還是會(huì)報(bào)錯(cuò))[/li]
[li]所有源內(nèi)的數(shù)據(jù)均經(jīng)過驗(yàn)證,確保安全(見圖)
[/li]
上傳至服務(wù)器
[li]將Packages文件壓縮為Packages.bz2(壓縮格式 bzip2)和Packages.gz(壓縮格式:gz) (如果是用的我寫的腳本則可省略自己壓縮的這一部)[/li]
[li]修改Release文件(主要是MD5值和文件大?。/li]
[li]【可選】簽名Release文件,生成Release.gpg[/li]
[li]將Release,Release.gpg,Packages,Packages.bz2和Packages.gz以及要更新的deb文件上傳到服務(wù)器指定位置。[/li]
[li]以上所有文件的屬性需設(shè)為0755(在ftp上設(shè)置)[/li]
用于簽名Release的密匙
生成密匙
可以看看這個(gè)頁面 http://keyring./creating-key.html
生成密匙的操作是在命令行下完成,其中還需要有人機(jī)交互,所以WinSCP的命令行是不能用的,如果需要使用iPhone來生成密匙,請(qǐng)使用Putty或者其它SSH終端工具來連接。
運(yùn)行命令提示Please select what kind of key you want:
(1) DSA and Elgamal (default)
(2) DSA (sign only)
(5) RSA (sign only)
Your selection? 一般就是1,默認(rèn)
回車后RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 輸入1024~4096之間的一個(gè)數(shù)值,數(shù)值越大,加密強(qiáng)度越高,但每次加密和解密需要的時(shí)間更多。
我這里輸入的是2048Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
= key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y
密匙有效時(shí)間,一般選0,不會(huì)過期。
問你確認(rèn),輸入y+回車(小寫y,如果要重新做則是大寫N)
Real name:
輸入該密匙所有者的名稱,例如 WEIP Tech Team
Email address:
密匙所有者郵件地址,自己輸入
Comment:
注釋,怕分不清楚的話可以加點(diǎn)內(nèi)容進(jìn)去You are using the `utf-8′ character set.
You selected this USER-ID:
“WEIP Tech Team <weip.com@gmail,com>
繼續(xù)
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
上面輸錯(cuò)的話,名字錯(cuò)了就輸入N,加上注釋就輸入C,郵件錯(cuò)誤就輸入E,不保存退出輸入Q,確定輸入O
You need a Passphrase to protect your secret key.
設(shè)置密碼,該密碼在每次使用加密時(shí)都要使用,必須牢記。輸入時(shí)不會(huì)明文顯示,回車后會(huì)要你再輸一遍以匹配。
設(shè)完密碼之后就自動(dòng)執(zhí)行了。
注意,在結(jié)果里面有一句gpg: key 0A02728F marked as ultimately trusted
public and secret key created and signed.
這串字符就是所謂的密匙標(biāo)識(shí)了
如果需要為這個(gè)密匙添加另外的使用者,可以用以下命令- gpg --edit-key 0x0A02728F
復(fù)制代碼
密匙前面要加上數(shù)字0和字母x
command> 后輸入之后的操作跟前面的一樣,不過在要輸密碼的時(shí)候只是要驗(yàn)證身份,不是創(chuàng)建密碼。
最后在command>后輸入
假設(shè)創(chuàng)建了兩個(gè)用戶,A和B,原本是A擁有最高權(quán)限,要改為B擁有最高權(quán)限
執(zhí)行以下命令:- gpg --edit-key 0x0A02728F
復(fù)制代碼
command> 后輸入
然后輸入
輸入密碼后在command>后輸入
經(jīng)過以上操作就成功生成了一個(gè)可以用于簽名的密匙。
導(dǎo)出公匙用于加密/簽名的是剛剛申請(qǐng)到的私人密匙(Private Key),而要發(fā)布的是公匙(Public Key)
運(yùn)行命令- gpg --export 0A02728F > weiphone-keyring.gpg
復(fù)制代碼 文件名自己決定
之后將生成的公匙發(fā)布就可以了。 導(dǎo)入公匙需要導(dǎo)入公匙的是軟件源的用戶,下載公匙文件以后,讓用戶自己運(yùn)行命令- apt-key add weiphone-keyring.gpg
復(fù)制代碼 導(dǎo)出私人密匙有時(shí)候軟件源不是一個(gè)人在維護(hù),如果是多個(gè)人維護(hù)的話可能需要導(dǎo)出私人密匙以共其他人加密/簽名。
運(yùn)行命令- gpg --export-secret-key -a "User Name" > private.key
復(fù)制代碼 User Name是自己在生成密匙的時(shí)候輸入的用戶名,最后生成的文件,文件名隨意,但切記,這個(gè)密匙不要泄漏出去。 導(dǎo)入私人密匙得到私人密匙之后就是導(dǎo)入了,運(yùn)行命令- gpg --allow-secret-key-import --import private.key
復(fù)制代碼 密匙管理查看公匙列表或
當(dāng)密匙不再使用時(shí),可以刪除密匙。
刪除公匙或- gpg --delete-key "User Name"
復(fù)制代碼
查看私人密匙列表
刪除私人密匙- gpg --delete-secret-key "User Name"
復(fù)制代碼
關(guān)于GPG密匙的更多命令,可以看看這個(gè)網(wǎng)頁(英文)http://irtfweb.ifa./~lockhart/gpg/gpg-cs.html
關(guān)于公匙和私匙的介紹:http://www.hudong.com/wiki/
關(guān)于源的搭建,也可以看看Saurik的文章 http://www./id/7
最后再附送點(diǎn)其它東西。
要在Cydia中顯示源的圖標(biāo)或者分類圖標(biāo),只要將圖標(biāo)文件放到Cydia的目錄下即可。
源的圖標(biāo)文件名為 域名.png,比如威鋒源的地址為http://app./cydia,那么圖標(biāo)文件名應(yīng)為app..png,該文件需位于 /Applications/Cydia.app/Sources/ 下,圖標(biāo)分辨率為60 × 60
分類圖標(biāo)需位于 /Applications/Cydia.app/Ssctions/ 下,文件名有一定要求。一般來說文件名跟分類名一致就可以了,但也有例外。以威鋒源為例,分類 [2.x] 所對(duì)應(yīng)的圖標(biāo)文件名應(yīng)為 2.x.png,沒有方括號(hào),但其它的就要有方括號(hào)。另外,一定要注意大小寫的匹配,文件名編碼須為UTF-8。
制作軟件源的安裝包,這里就直接提供威鋒源的安裝包了。
com.weiphone.source_1.2_iphoneos-arm.deb
(78 KB, 下載次數(shù): 868)
重點(diǎn):
1. list文件 /etc/apt/sources.list.d/weiphone.list - # do not edit this file to add your own custom sources
- # this file is subject to be upgraded as part of a package
- # either add your own .list file to /etc/apt/sources.list.d
- # or add your entry to the global /etc/apt/sources.list file
- deb http://app./cydia/ ./
復(fù)制代碼
2. 公匙,其實(shí)放在哪里不重要,但Cydia的所有源的公匙都是放在 /usr/share/keyrings/ 下,所以盡量隨主流吧
3. 安裝公匙的腳本 postinst或者extrainst_都行,只不過通常都用extrainst_- #!/bin/sh
- if [[ $1 == install || $1 == upgrade ]]; then
- /usr/bin/apt-key add /usr/share/keyrings/weiphone-keyring.gpg
- fi
復(fù)制代碼 記得修改文件名
4. 卸載時(shí)刪除公匙的腳本,prerm或者postrm都行- #!/bin/sh
- if [[ $1 == remove ]]; then
- /usr/bin/apt-key del BB7EB3ED
- fi
復(fù)制代碼
服務(wù)器上文件存放位置,最簡(jiǎn)單的
cydia--
|--debs--*.deb
|--Packages
|--Packages.bz2
|--Packages.gz
|--Release
|--Release.gpg
Cydia Wrong language code zh-Hans 或 Wrong language code zh-Hant 的解釋
其實(shí)這個(gè)不是錯(cuò)誤,而是Cydia本身對(duì)中文的支持有問題。
而且,這個(gè)提示并非是錯(cuò)誤提示,實(shí)際是屬于警告的性質(zhì),因?yàn)镃ydia本身在中文支持上有些問題,但不影響使用,所以會(huì)出現(xiàn)警告。
該警告的出現(xiàn)與Cydia軟件源中是否存在中文無關(guān),而是和系統(tǒng)語言設(shè)置有關(guān),該問題只出現(xiàn)在簡(jiǎn)體中文和繁體中文系統(tǒng)下(不信把系統(tǒng)語言改成非中文的看還會(huì)不會(huì)出現(xiàn)錯(cuò)誤)。
何時(shí)會(huì)出現(xiàn)錯(cuò)誤提示:
很簡(jiǎn)單,Cydia刷新出了問題。
一般有兩種可能:
1. 網(wǎng)絡(luò)問題導(dǎo)致Cydia不能獲取Packages或Release等文件
2. Packages和Release文件本身有問題,比如說格式錯(cuò)誤或者編碼錯(cuò)誤(BigBoss就鬧過一次)
如果網(wǎng)絡(luò)通暢的話就不會(huì)出現(xiàn)這個(gè)錯(cuò)誤提示了。
|