当前位置:首页 » 编程软件 » deb脚本

deb脚本

发布时间: 2022-10-20 16:18:46

㈠ deb文件怎么安装到iphone

deb的安装方法大体有5种:
Cydia或同类APT管理软件在线安装,这个是最佳的安装方式,因为通常无需考虑依赖关系,但缺点是对网络的要求比较高;命令行中以dpkg-iXXX.deb的形式安装,好处是可以以通配符一次性安装多个deb,而且也可以直接看到脚本的运行状况和安装成功/失败的提示信息,缺点是需要命令行软件的支持,如Putty/WinSCP的控制台/iSSH/MobileTerminal,很多人也不熟悉命令行下的操作。另外,安装完后会不显示图标;
放置于AutoInstall目录重启安装。该方法实际是Cydia提供的一个启动脚本,在每次系统启动时以dpkg命令安装AutoInstall目录下的deb,好处是不需要命令行操作,缺点是必须要重启,有些甚至要重启两次,也会出现不显示图标的情况;利用iFile安装,好处是图形化操作,桌面会显示图标,缺点是不能一次安装多个deb;用CyderII等软件来安装,其原理是模拟一个APT软件管理器来下载相应的deb文件并传到设备,然后以前面几种方式来安装。
总体来说,deb的安装都是依赖于dpkg-i命令来安装,只不过有些是在命令行下输入命令,有些是提供了图形界面。但除了Cydia安装一种方式之外,其余几种安装方式都存在一些共有的问题:
不会自行搜索依赖关系,必须手动提供所依赖的deb;Cydia会读取安装脚本里的一些特殊语句,比如仅在全新安装时执行而不在升级时执行,安装完成后重启SpringBoard或设备等等。当然了,deb软件的卸载也比较简单,有三种方式:
Cydia里卸载,优点是卸载过程和提示信息很详细,全图形界面操作,同时也提供了重新安装的选项;
以dpkg-rPackage_ID命令或dpkg-PPackage_ID命令来卸载(详情后面会说);Cydelete来卸载,优点是可以直接在桌面上卸载有图标的软件,但对那些没有图标的无能为力。其实,不管是安装还是删除,都可以才要全手动的方法。即,解包deb之后,自己将文件放到相应位置,然后设置权限等并执行脚本。但这样有必要么?
deb的安装过程如下:
读取数据库并锁定,避免同时有两个安装程序在运行读取control中的Package(软件包标识)和版本信息,并搜索数据库,若已存在,则卸载之后再安装;检查Depends,Pre-Depends,Conflicts和Replaces,如果检测到已存在Conflicts中存在的软件,则报错并终止安装。如未找到Pre-Depends指定的软件,则报错并终止安装。如找到Replaces中指定的软件,则卸载之;
将数据写入/var/lib/dpkg/status文件中;
执行preinst脚本(如果有);
解包data.tar.gz,将文件放置于相应位置,并将文件列表写入/var/lib/dpkg/info/XXX.list;
运行postinst和extrainst_脚本(如果有);
如果之前的安装都没有出错,即安装成功,那么会在status文件中写入Status:installokinstalled信息,否则会写入其它状态数据,比如Unpacked(未解包数据)、Failed-config(脚本未能成功执行)、Half-installed(安装失败等);重新加载数据库并解除锁定。

linux下的脚本文件能打包成deb文件吗

能的,你该不会是要制作木马吧

㈢ ubuntu下的脚本文件可以制作deb包吗如何制作

没明白什么意思。是用脚本来打包deb,还是把脚本文件打包成deb。
deb文件的构成一般分为两部分,一部分是文件的验证,另一部分就是路径比如说deb里面有/usr/xxx.bin 就是把deb包里面的释放到本机对应的里面。
不用脚本就可以打包deb,使用dpkg命令配合dh_make来打包。网络下“linux deb打包”来获取更多

㈣ 如何修改的别人的deb

DEB安装包是使用于DEBIAN系统,如iOS、ubuntu。需要有dpkg-deb命令,Ubuntu/Debian 系统自带此命令,Mac OS X 下需安装Fink
Fink 下载页面:http://www.finkproject.org/download/

解包DEB:dpkg-deb -x deb文件名.deb tmp
此命令是将deb解包至tmp文件夹
将DEB控制脚本(control)解压至tmp/DEBIAN文件夹(DEBIAN需是大写):dpkg-deb -e deb文件名.deb tmp/DEBIAN
以dpkg-deb -x 和- e 命令解包deb会保留文件的属性/权限/用户/组等信息。
通常窃取默认cydia源的免费DEB安装包,都需要修改control的package,否则安装cydia源后不会显示
那么修改完后,就准备打包DEB安装包,安全起见先把DEBIAN文件夹和里面的文件属性设为0755:chmod -R 0755 tmp/DEBIAN
最后就是打包命令,gz格式压缩:dpkg-deb -b 文件夹 希望打包后的名字.deb
bzip2格式压缩:dpkg-deb -bZ bzip2 文件夹 希望打包后的名字.deb

㈤ 做了个软件,需要把4个deb包以及一些命令集成,做成一个deb包安装

当然是可以的,发放如下:
在终端中将4个deb用dpkg -u命令解包到4个目录下
再手动把4个目录下的文件合并到./1234,可以修改一下/DEBIAN下的deb自述文件
完成合并之后,在终端中使用dpkg -b ./1234 ./new.deb。即可生成deb

希望我的回答对你有帮助,有问题就追问吧^ω^

㈥ 单个执行文件怎么打包成deb[已解决]7楼careone正解!

1 下载一个其他的 deb 软件包,解压缩后得到2个压缩包: data.tar.gz , control.tar.gz;
2 解压 control.tar.gz ,得到 control 文件(在这个文件中修改软件包依赖关系),删除另外的 md5sums 文件;
3 把自已的文件放在 /usr/local/bin/xxx 文件;
----------------
近来我没有在linux平台上工作,以后有机会,可以帮你打包deb
sudo mkdir -vp /root/deb-src/xxx/usr/local/bin/ 这里放脚本文件
sudo mkdir -vp /root/deb-src/xxx/DEBIAN/ 这里放 control 文件
sudo mkdir -vp /root/deb-src/xxx/usr/share/pixmaps/ 这里放程序图标,建议png格式;
sudo mkdir -vp /root/deb-src/xxx/usr/share/applications/ 这里放程序快捷方式 xxx.desktop 文件,可参照其它类似文件;
sudo mkdir -vp /root/deb-ok/
cp xxx /root/deb-src/xxx/usr/local/bin/xxx
cd /root/deb-src/xxx/
sudo dpkg -b . /root/deb-ok/xxx_1.0_all.deb
打包完成后,再解压上面打出的deb软件包,检查以上文件和文件夹的权限,
文件夹权限一般为777,可执行文件xxx 权限为 755;文件夹和文件所有者都是root;
有异常,修复后重新打包。

㈦ deb文件是什么deb包是什么

由于Unix类系统对权限、所有者、组的严格要求,而deb格式安装包又经常会涉及到系统比较底层的操作,所以权限等的设置尤其重要。 deb包本身有三部分组成: 数据包,包含实际安装的程序数据,文件名为data.tar.XXX;安装信息及控制脚本包,包含deb的安装说明,标识,脚本等,文件名为control.tar.gz; 最后一个是deb文件的一些二进制数据,包括文件头等信息,一般看不到,在某些软件中打开可以看到。deb本身可以使用不同的压缩方式。tar格式并不是一种压缩格式,而是直接把分散的文件和目录集合在一起,并记录其权限等数据信息。之前提到过的data.tar.XXX,这里XXX就是经过压缩后的后缀名。deb默认使用的压缩格式为gzip格式,所以最常见的就是data.tar.gz。常有的压缩格式还有bzip2和lzma,其中lzma压缩率最高,但压缩需要的CPU资源和时间都比较长。 data.tar.gz包含的是实际安装的程序数据,而在安装过程中,该包里的数据会被直接解压到根目录(即/),因此在打包之前需要根据文件所在位置设置好相应的文件/目录树。而control.tar.gz则包含了一个deb安装的时候所需要的控制信息。一般有5个文件: control,用了记录软件标识,版本号,平台,依赖信息等数据; preinst,在解包data.tar.gz前运行的脚本; postinst,在解包数据后运行的脚本; prerm,卸载时,在删除文件之前运行的脚本; postrm,在删除文件之后运行的脚本; 在Cydia系统中,Cydia的作者Saurik另外添加了一个脚本,extrainst_,作用与postinst类似。 deb的特点: 丰富的资源:Cydia上本身就不少,更何况任何格式的安装包都可以转换为deb。相对方便的在线购买模式:CydiaStore,不过尽管没有AppStore的5台设备的限制,但对国内用户来说,付款方式比较困难。破解难度较大,没有使用AppStore的验证方式,所以必须将验证和防破解措施加入程序里面,这样就比较难破解,对软件开发者来说是个好事。完善的Unix文件系统支持:无需以命令设置文件的权限、所有者和用户组(当然也可以以脚本来设置)。 完善的脚本支持:5个脚本依照安装和卸载的先后顺序执行,可以提供更多选择。比如备份还原操作,可以在preinst中备份文件,而在postrm中还原文件,严格的依赖关系:deb遵循严格的依赖关系(于Depends和Pre-Depends指定),可以确保软件运行所必需的组件。在线安装的时候会自动安装所依赖的软件包。卸载时也很重要,比如软件包A依赖于B,当卸载B的时候会提示A依赖于B,卸载掉B的话会导致A不能用,这样可以确保系统的完整性和稳定性。 完全权限:由于deb必须以最高权限root的身份运行,deb可以对系统任何位置进行操作,换句话说,deb拥有对整个系统的完全控制,因此deb安装包软件可以实现很多ipa不能实现的功能。相对简单的获取方式(在线或离线)和安装方式,也不用担心在不同机器上同步会删掉程序的问题。

㈧ 如何制作deb安装文件

制作deb文件需要有dpkg-deb命令,Ubuntu/Debian 系统自带此命令,越狱过的 iPhone OS 也有此命令,Mac OS X 下需安装Fink,Windows 下需安装 Cygwin。

以上系统中,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

那么解包命令是
复制代码
dpkg-deb -x abc_1.0.deb tmp

复制代码
dpkg-deb -e abc_1.0.deb tmp/DEBIAN

第一个命令是用于解压出实际数据到tmp目录下,后一个命令是解压出安装控制脚本到tmp/DEBIAN目录下,此处必须是大写的DEBIAN。
可以看到在tmp目录下出现了实际数据和DEBIAN目录。

以dpkg-deb -x 和- e 命令解包deb会保留文件的属性/权限/用户/组等信息。

关于dpkg-deb的命令,可以输入
复制代码
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等。

要设置文件/文件夹的权限/属性,使用命令
复制代码
chmod ABCD XXX
这样的格式,ABCD为需要的属性/权限,比如0644,0755等,一般来说,可行性文件需要设为0755(0775和0777大部分情况下是用不上的,有些特殊的需要设为4755等),其它文件默认就是0644(不可执行),XXX是文件名,可以加上路径。

要设置文件/文件夹的用户/组,使用命令
复制代码
chown user:group XXXX
其中user是需要设置的用户,group是组。最常用的是root:wheel和mobile:mobile。
注意:
1. 如果当前用户是非root帐户,如果要将文件的用户/组设为root,需要使用sudo命令来提示权限。
2. 如果要递归设置以上信息,可以使用 -R 参数。比如要将tmp目录下的所有子目录和文件设为0755及root:wheel,可以使用命令
复制代码
chmod -R 0755 tmp
chown -R root:wheel tmp


关于文件/文件夹的属性/权限/用户/组的更多说明:
因为deb打包是先将所有的文件/文件夹归档为tar文件之后再压缩,因此文件/文件夹的属性/权限/用户/组这些信息会被保留下来,因此如果直接设置好了以后再打包deb的话就不需要通过postinst之类的控制脚本来设置权限等信息。
如果无法直接设置属性/用户/组等信息,通常需要在postinst脚本里加入设置属性/权限/用户/组的命令
如果deb中的目录是在iPhone OS本身就有的,那么不需要另外设置属性/权限/用户/组等,即使现有的和需要的不一样。因为deb安装不会替换原有文件夹的数据。比如/Applications目录是root:admin,而要打包的deb中该目录是ABC:DEF,那么不需要修改ABC:DEF
尤其要注意的是mobile:mobile
Ubuntu/Debian上虽然没有wheel组,但是root:root在iPhone上会自动转为root:wheel,所以如果是准备将root:root变为root:wheel,那么可以保留root:root就可以了。
理论上来说,在无安装脚本设置用户/组的前提下,如果不涉及mobile:mobile的用户/组,全部操作都可以直接在Ubuntu/Debian和Mac OS X上完成

编译deb 怎么写control

由于Unix类系统对权限、所有者、组的严格要求,而deb格式安装包又经常会涉及到系统比较底层的操作,所以权限等的设置尤其重要。
deb包本身有三部分组成:
数据包,包含实际安装的程序数据,文件名为data.tar.XXX;安装信息及控制脚本包,包含deb的安装说明,标识,脚本等,文件名为control.tar.gz;

热点内容
sql提示存储过程 发布:2025-05-17 07:35:58 浏览:743
qq里的互动访问 发布:2025-05-17 07:26:53 浏览:665
口语易账号密码发送到哪里 发布:2025-05-17 07:26:52 浏览:62
核桃编程幼儿 发布:2025-05-17 07:26:50 浏览:786
2台服务器集群搭建 发布:2025-05-17 07:18:57 浏览:185
北方园林配置植物有哪些 发布:2025-05-17 07:18:20 浏览:544
数控加工零件图及编程 发布:2025-05-17 07:18:11 浏览:730
炼钢碱度算法 发布:2025-05-17 07:17:26 浏览:14
python获取年月日 发布:2025-05-17 07:15:33 浏览:303
手机加密软件java 发布:2025-05-17 07:00:24 浏览:443