linux cpu占用率如何看
425
2022-09-20
iOS小知识:批量部署插件(搭建私有Cydia源)
前言
有一天你修改了tweak插件,想更新到你管理的100台iPhone机器,就会觉得平常的安装方式make package install 、dpkg -i效率低下。 所以今天就特地给你分享一个小知识:通过搭建私有Cydia源 ,将 Tweak 批量部署设备上的解决方案
利用 bzip2 生成 Cydia 可以识别的文件格式,开启HTTPServer 提供文件下载的web服务:~/cydia 下执行python -m SimpleHTTPServer 8088 从cydia 添加对应的源()
I、 Cydia源服务器搭建
假设我们的源URL地址是 192.168.2.189/cydia, 对于本地的cydia目录来说, 结构如下
Cydia/ --Release repo描述文件 --Packages repo的package清单 --Packages.gz repo的package清单 --Packages.bz2 repo的package清单 --CydiaIcon.png --debs/ 实际package文件 --xxxx1.deb --xxxx2.deb
搭建软件源,必须保证至少有Release【可选】和Packages两个文件,具体请看辅助脚本
download.csdn.net/download/u0…
核心搭建步骤:
创建一个存放deb包的仓库开启HTTPServer: ~/cydia 下执行python -m SimpleHTTPServer 8088 添加对应的源到cydia以便下载更新deb包()
1.1 利用 bzip2 生成 Cydia 可以识别的文件格式,并放入特定目录作为仓库供下载使用
制作脚本下载
download.csdn.net/download/u0…
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.Serving HTTP on 0.0.0.0 port 8088 ...192.168.2.156 - - [06/Feb/2018 18:50:04] "HEAD /Packages.bz2 HTTP/1.1" 200 -192.168.2.156 - - [06/Feb/2018 18:50:04] code 404, message File not found192.168.2.156 - - [06/Feb/2018 18:50:04] "HEAD /Packages.gz HTTP/1.1" 404 -192.168.2.156 - - [06/Feb/2018 18:50:09] code 404, message File not found192.168.2.156 - - [06/Feb/2018 18:50:09] "GET /./InRelease HTTP/1.1" 404 -192.168.2.156 - - [06/Feb/2018 18:50:09] code 404, message File not found192.168.2.156 - - [06/Feb/2018 18:50:09] "GET /./Release HTTP/1.1" 404 -192.168.2.156 - - [06/Feb/2018 18:50:09] "GET /./Packages.bz2 HTTP/1.1" 200 -192.168.2.156 - - [06/Feb/2018 18:52:20] code 404, message File not found192.168.2.156 - - [06/Feb/2018 18:52:20] "GET /./CydiaIcon.png HTTP/1.1" 404 -192.168.2.156 - - [06/Feb/2018 18:52:24] code 404, message File not found192.168.2.156 - - [06/Feb/2018 18:52:24] "GET /./CydiaIcon.png HTTP/1.1" 404 -192.168.2.156 - - [06/Feb/2018 18:52:25] code 404, message File not found192.168.2.156 - - [06/Feb/2018 18:52:25] "GET /./InRelease HTTP/1.1" 404 -192.168.2.156 - - [06/Feb/2018 18:52:25] code 404, message File not found192.168.2.156 - - [06/Feb/2018 18:52:25] "GET /./Release HTTP/1.1" 404 -192.168.2.156 - - [06/Feb/2018 18:52:25] "GET /./Packages.bz2 HTTP/1.1" 200 -192.168.2.156 - - [06/Feb/2018 18:52:38] code 404, message File not found192.168.2.156 - - [06/Feb/2018 18:52:38] "GET /CydiaIcon.png HTTP/1.1"
1.2 开启HTTPServer
python -m SimpleHTTPServer 8088
测试的时候可以使用,这个命令简单的开启一个HTTPServer ~/cydia 下执行python -m SimpleHTTPServer 8088 对应的原地址: 将自己的源地址添加到cyida 中
我们先来看看cyida 中存放源地址的配置文件
iPhone:~ root# cat /var/mobile/Library/Caches/com.saurik.Cydia/sources.list
因此想添加源地址直接修改配置文件即可,我们可以在/etc/apt/sources.list.d 这个目录下创建自己的内置源配置文件wl.list,或者直接添加到 cydia.list
echo -e 'deb ios/1348.22 main \n'
方式1: 一行命令添加内置的源:通过prints脚本修改sources.list,来添加源地址。
让普通人不懂得如何删除我们的源 /private/etc/apt/sources.list.d/wl.list;利用初次安装deb包的preinst脚本添加内置的源,以后部署新机器,不用烦琐的添加多个源。
# 在preinst脚本添加:function kncydia { echo "[将自己的源地址添加到cyida 中]" # install.exec "echo -e '127.0.0.1 localhost \n192.168.2.107 xx.com' > /etc/hosts" echo -e 'deb ./ ' > /private/etc/apt/sources.list.d/wl.list#-e 参数是为了使用换行符\n
查看是否修改成功
/private/etc/apt/sources.list.d root# cat wl.list
方式二:直接在cydia app手动添加源地址即可
手动添加等价于修改以下文件
/private/etc/apt/sources.list.d/cydia.list -> /var/mobile/Library/Caches/com.saurik.Cydia/sources.list
II、 知识补充
2.1 文件目录功能解释
我们先来复习下 cydia_repo 的目录结构
deb 源本质上就是需要特定结构的目录cydia-- |--debs--*.deb |--Packages :dpkg-scanpackages debs /dev/null > Packages ;Packages 文件中包含源中每个包文件的信息,包括文件路径、大小、依赖、架构及校验信息 |--Packages.bz2 :由Packages文件压缩而来, 命令行: bzip2 Packages; |--Packages.gz |--Release :是一个普通的文本文件,用于描述当前源的信息;这些信息会在 Cydia 的源列表及 Tweak 搜索列表中显示 |--Release.gpg :Package Signatures,from our Release file. This file will be downloaded by the clients first and then is used to verify the validity of the Release file. gpg -abs -o Release.gpg Release其中Packages.bz2 和debs 是必须,其他文件都是可选的。
Release
Cydia源配置文件,客户端通过下载此文件来读取cydia源信息;
Release文件几乎不用改, 只要准备好deb文件, 然后用dpkg-scanpackage命令生成Packages就可以了
Packages
1)deb包索引文件, 保存了各个deb包的control文件的信息,以及各个deb包的文件信息.2)该目录是 由 dpkg-scanpackages debs /dev/null > Packages 产生。
Packages.bz2
由Packages文件压缩而来, 命令行: bzip2 Packages
CydiaIcon.png
an icon named "CydiaIcon.png" in your root dir so the user finds your repo at a glance.
2.2 deb包的执行脚本
debian/preinst 安装前执行脚本debian/postinst 安装后执行脚本debian/prerm 卸载前执行脚本debian/postrm 卸载后执行脚本
2.3 tweak的两种发布方式
打包成deb格式的安装包 ,可在越狱设备上批量安装直接使用开发者自己的证书/企业证书直接将补丁打包成ipa,这样不需要越狱也是可以安装的。
cydia
由 Jay Freeman(saurik)和他的公司开发,用于安装、管理越狱设备上的第三方软件、插件。它移植了Debian上的包管理器dpkg并提供了图形化前端,方便普通用户使用。Cydia 中还有个 Cydia Store,提供付费的第三方应用。
CydiaSubstrate
iOS7 之前也叫MobileSubstrate,也是由saurik开发的。Cydia Substrate consists of 3 major components: MobileHooker, MobileLoader and safe mode.
Electra
Tweak 开发者 CoolStar 基于 async_awake、以及Comex 开发的 CydiaSubstrate 的开源替代: Substitute,开发了 Electra 越狱工具。支持 iOS11.0 - iOS 11.1.2 的全部 iOS 设备
III、其他例子
去掉内置的源,仅留 apt.saurik.com/
# find / -mmin -1 echo -e 'deb ios/1348.22 main \n' > /private/etc/apt/sources.list.d/cydia.list echo -e 'deb ios/1348.22 main \n' > /var/mobile/Library/Caches/com.saurik.Cydia/sources.list# deb ios/1348.22 main echo -e 'deb ios/1348.22 main \n'
清理V_P_N的垃圾log
echo "" > /private/var/log/ppp.log
IV、 see also
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~