制作iOS越狱deb插件+dpkg命令行教程
iOS越狱deb插件的制作
dpkg命令行教程
deb安装包的制作
介绍 Cydia Sileo都是基于Debian开发的, 所以插件都是打包成.deb格式
deb包是Debian软件包格式,文件扩展名为.deb。是Debian系统(包含Debian和Ubuntu等)专属安装包格式。
deb包在Linux操作系统中类似于windows中的软件包(exe),几乎不需要什么复杂的编译即可通过鼠标点击安装使用。
制作deb包的核心文件(夹)
- DEBIAN 文件夹
- control 文件,位于DEBIAN文件夹中,主要包含deb包的安装描述信息
- preinit 文件(可选),位于DEBIAN文件夹中,安装处理文件,在解包前执行
- postinit 文件(可选),位于DEBIAN文件夹中,安装处理文件,在解包后执行
- prerm 文件(可选),位于DEBIAN文件夹中,卸载处理文件,在删除关联文件前执行
- postrm 文件(可选),位于DEBIAN文件夹中,卸载处理文件,在删除关联文件后执行
目录结构如下:
/DEBIAN/
/DEBIAN/control
/DEBIAN/preinit(可选)
/DEBIAN/postinit(可选)
/DEBIAN/prerm(可选)
/DEBIAN/postrm(可选)
/opt/(可选)
/usr/lib(可选)
步骤
1. 创建deb包的文件夹
在制作deb包时,该文件夹是不会打包的,而是会把该文件夹当作是系统的根目录,因此也可以称该文件夹为根文件夹或根目录,里面的所有文件和文件夹(除DEBIAN外)在安装时都会按照其在根文件夹的相对路径安装到Linux系统中
mkdir myApp
2. 在deb包根路径中创建DEBIAN文件夹
cd myApp
mkdir DEBIAN
3. 创建control
cd DEBIAN
touch vi control
control文件的内容
Package: AppName
Version: 1.0
Section: Application
Priority: optional
Architecture: armhf
Maintainer: -
Description: the application description.
说明:
Package: 软件包的名称
Version: 版本号
Section: 软件的类别,如 Utils, Net,Application,Library
Priority: 软件对于系统的重要程度,如 required, standard, optional, extra
Architecture: 软件包结构,如基于i386, amd64,armhf 等
Maintainer: 软件维护人员
Description: 描述
4. 创建 preinit、postinit、prerm、postrm 等文件
根据实际需要创建相应的文件,在文件中编写需要执行的脚本
例如:
创建postinit文件
touch postinit
postinit的内容
sudo ldconfig
由于这几个文件是需要在安装或卸载时执行的,因此需要给这几个文件加上可执行的权限
sudo chmod a+x postinit
5. 复制关联文件到deb包中
将deb包根目录当作是Linux系统的根目录,将需要安装的程序或文件按照指定路径存放。
- 示例1
可执行程序 demo 需要安装到Linux系统的 /opt/ 中,则在deb包根目录中创建一个 opt 文件夹,并把 demo 复制到该文件夹中。 - 示例2
调用库 libmyapp.so 需要安装到Linux系统的 /usr/lib 中,则在deb包根目录中创建一个 usr 文件夹,然后在 usr 文件夹中再创建 lib 文件夹,最后将 libmyapp.so 文件复制到 /usr/lib 中
6. 打包生成deb包
切换当前目录到deb包文件夹所在的目录,执行打包的命令
sudo dpkg -b 打包的目录 deb安装包文件名称
dpkg命令的使用
一、安装
sudo dpkg -i deb文件名
示例:
sudo dpkg -i slave-1.0.0.deb
二、卸载安装包
sudo dpkg -P 安装包名称
示例:
sudo dpkg -P slave
三、查看程序安装包的信息
sudo dpkg -s 安装包名称
示例:
sudo dpkg -s slave
四、编译打包deb文件
sudo dpkg -b 打包的目录 deb安装包文件名称
示例:
sudo dpkg -b slave-builder slave-1.0.0.deb
制作iOS越狱deb插件+dpkg命令行教程相关推荐
- 命令行教程,第一部分 — 导航目录
命令行教程,第一部分 - 导航目录 如果你已经在 Mac 上打开了 Terminal 应用程序,或者在 Windows 上打开了 Git Bash 应用程序,那么你可以开始执行此命令行教程. 教程概述 ...
- iOS逆向环境以及常用命令行(逆向一)
一.环境介绍 越狱环境:iPhone 5s iOS9.3.1 yueyu:~ root# uname -a Darwin yueyu 15.4.0 Darwin Kernel Version 15.4 ...
- iOS自动化之打包-xcodebuild命令行打包.app并安装到ios模拟器
1.目的 做ios ui自动化测试过程中,想通过试验命令行自动打包到特定的ios模拟器,以便后期集成到shell脚本 2.思路 先了解下整个手动安装包的流程,开发用xcode写完代码,并编译就可以打出 ...
- 新一代 OIer 的快速入门命令行教程
前言:为啥写这篇教程 几位家长:"欸wwh,你比赛时用啥写程序啊?" 我:"gedit + 命令行编译." (一番解释之后) 几位家长:"哦哦哦我明白 ...
- mysql命令行安装教程_MySQL命令行教程
mysql命令行安装教程 1. MySQL简介 在之前的教程中 ,我讨论了有关MySQL服务器的安装以及MySQL数据库使用入门的问题. 在本文中,我们将详细讨论如何使用MySQL命令行执行各种操作, ...
- ios越狱python插件_基于Theos越狱开发
前言: theos是国外大牛开发的越狱编译平台,通过命令行可以快速的生成例子,其最有意思的当属tweak插件的开发,其Logus的语法简洁明了,是越狱中HOOK的绝佳神器,下面就来一步步揭开这些东西的 ...
- Vim安装插件在命令行下看代码
这几天我又想抛弃source insight 了,主要是太慢了 安装如下 VIM万能插件 或者使用 sudo apt-get installexuberant-ctags 安装 我主要是使用函数跳转功 ...
- iOS备忘录之mac常用命令行
自用备忘录: cd / 进入系统根目录 ls 列出当前目录下的文件 pwd 目录路径 cd 改变目录 cd .. 返回上一层目录 mkdir 创建文件夹 rmdir 删除文件夹 cal 日历 date ...
- window下制作加密zip压缩包后linux命令行无法解压
linux下,使用 unzip -P password filename.zip -d destfile 报错:unsupported compression method 99,无法提取文件. 解决 ...
最新文章
- 固态硬盘与QLC闪存
- Oracle学习笔记:a inner join b与from a,b where a.x=b.x的差异
- java permgen内存泄漏问题处理
- Oracle入门(十四.21)之创建DML触发器:第二部分
- mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子
- Atmel跑Linux的arm芯片,Linux已被移植到Atmel的ATmega微控制器
- jeewx-api.jar入门教程
- MSSQL 2005数据库安全设置
- python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe
- The operation cannot be completed. See the details.
- 【java奇思妙想】关于JavaScript实现全选,全不选以及反选功能的示例
- 在vue文件引入echarts_vue引入echarts地图的三种方式
- 学生宿舍信息管理系统
- 卡盟销售官网源码php,卡盟整站程序源码 php版
- 目标识别—SSD网络详解
- 黑马程序员-----视频看完了,谈谈自己的感受
- 【通信】Matlab实现多同步压缩变换
- uniapp小程序src引用服务器图片时全局变量与图片路径拼接
- 高品质蓝牙耳机排行榜,值得入手的四款蓝牙耳机分享
- 画家唐小唐:中国水墨画的传承者与创新者