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命令行教程相关推荐

  1. 命令行教程,第一部分 — 导航目录

    命令行教程,第一部分 - 导航目录 如果你已经在 Mac 上打开了 Terminal 应用程序,或者在 Windows 上打开了 Git Bash 应用程序,那么你可以开始执行此命令行教程. 教程概述 ...

  2. iOS逆向环境以及常用命令行(逆向一)

    一.环境介绍 越狱环境:iPhone 5s iOS9.3.1 yueyu:~ root# uname -a Darwin yueyu 15.4.0 Darwin Kernel Version 15.4 ...

  3. iOS自动化之打包-xcodebuild命令行打包.app并安装到ios模拟器

    1.目的 做ios ui自动化测试过程中,想通过试验命令行自动打包到特定的ios模拟器,以便后期集成到shell脚本 2.思路 先了解下整个手动安装包的流程,开发用xcode写完代码,并编译就可以打出 ...

  4. 新一代 OIer 的快速入门命令行教程

    前言:为啥写这篇教程 几位家长:"欸wwh,你比赛时用啥写程序啊?" 我:"gedit + 命令行编译." (一番解释之后) 几位家长:"哦哦哦我明白 ...

  5. mysql命令行安装教程_MySQL命令行教程

    mysql命令行安装教程 1. MySQL简介 在之前的教程中 ,我讨论了有关MySQL服务器的安装以及MySQL数据库使用入门的问题. 在本文中,我们将详细讨论如何使用MySQL命令行执行各种操作, ...

  6. ios越狱python插件_基于Theos越狱开发

    前言: theos是国外大牛开发的越狱编译平台,通过命令行可以快速的生成例子,其最有意思的当属tweak插件的开发,其Logus的语法简洁明了,是越狱中HOOK的绝佳神器,下面就来一步步揭开这些东西的 ...

  7. Vim安装插件在命令行下看代码

    这几天我又想抛弃source insight 了,主要是太慢了 安装如下 VIM万能插件 或者使用 sudo apt-get installexuberant-ctags 安装 我主要是使用函数跳转功 ...

  8. iOS备忘录之mac常用命令行

    自用备忘录: cd / 进入系统根目录 ls 列出当前目录下的文件 pwd 目录路径 cd 改变目录 cd .. 返回上一层目录 mkdir 创建文件夹 rmdir 删除文件夹 cal 日历 date ...

  9. window下制作加密zip压缩包后linux命令行无法解压

    linux下,使用 unzip -P password filename.zip -d destfile 报错:unsupported compression method 99,无法提取文件. 解决 ...

最新文章

  1. 固态硬盘与QLC闪存
  2. Oracle学习笔记:a inner join b与from a,b where a.x=b.x的差异
  3. java permgen内存泄漏问题处理
  4. Oracle入门(十四.21)之创建DML触发器:第二部分
  5. mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子
  6. Atmel跑Linux的arm芯片,Linux已被移植到Atmel的ATmega微控制器
  7. jeewx-api.jar入门教程
  8. MSSQL 2005数据库安全设置
  9. python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe
  10. The operation cannot be completed. See the details.
  11. 【java奇思妙想】关于JavaScript实现全选,全不选以及反选功能的示例
  12. 在vue文件引入echarts_vue引入echarts地图的三种方式
  13. 学生宿舍信息管理系统
  14. 卡盟销售官网源码php,卡盟整站程序源码 php版
  15. 目标识别—SSD网络详解
  16. 黑马程序员-----视频看完了,谈谈自己的感受
  17. 【通信】Matlab实现多同步压缩变换
  18. uniapp小程序src引用服务器图片时全局变量与图片路径拼接
  19. 高品质蓝牙耳机排行榜,值得入手的四款蓝牙耳机分享
  20. 画家唐小唐:中国水墨画的传承者与创新者

热门文章

  1. Vue实现三级联动样式二
  2. MpAndroidChart-LineChart 折线图使用(含动态添加点,动态添加曲线)
  3. 解决Ubuntu安装Nvidia显卡驱动的各种坑
  4. CreateFile 总是调用错误的解决办法
  5. Spring Boot 2 整合Redis哨兵模式
  6. python实现情感分析流程-【转】用python实现简单的文本情感分析
  7. 小强与小明——正在疯传的伟大的故事
  8. 3. matlab 中的 linprog函数
  9. Python-web开发学习笔记(1)--- HTML基础
  10. 四个手机电池保养误区,请尽量避免