群晖DSM7官方系统pat、套件spk目前均不可以直接7zip解压查看,威联通img、qpkg单纯解压看不到核心data文件的。
所以参考各类文章脚本目前已完美解决pat、spk、img、qpkg解包的问题。。。
一、群晖DSM7解包脚本
1、一键pat解包打包脚本(普通linux系统下使用):buildpat-7.1.1-42962.sh,来源:redpill-load
注意修改脚本里面的官方pat下载链接、保存的文件名自行修改后直接执行即可
2、矿神简易DSM7官方系统pat解包unpack脚本:
注意:支持在任意x86_64的linux系统(包含群晖DSM7.1、7.2系统)下使用
wget http://code.imnks.com/unpack/extract.tar.gz
tar -zxvf extract.tar.gz
cd extract
mkdir output-pat
#系统pat文件可以在线下载 或 自己上传到解包文件夹,举例DS920+的
curl -L https://cndl.synology.cn/download/DSM/release/7.1.1/42962/DSM_DS920%2B_42962.pat -o ds.pat
LD_LIBRARY_PATH=. ./syno_extract_system_patch ds.pat output-pat
#上面解包好后,可重新打包为pat方便保存,支持7zip解压
cd output-pat
tar -cvf archive.tar *
mv archive.tar ../ds920p_42962.pat
3、群晖DSM7系统里解包pat还有更简易的方法,支持7.1、7.2
2023.6.4更新:增加DSM7.2版本,增加armv8版本。
温馨提示:登录后可阅读隐藏的内容。 登录可见
二、威联通系统包img、套件qpkg解包的脚本
来源:https://github.com/max-boehm/qnap-utils
1、套件qpkg解包脚本:extract_qpkg.sh
# 注意:如举例的123文件夹不要提前建立
./extract_qpkg.sh package.qpkg /root/123
2、威联通系统包img解包脚本:extract_qnap_fw.sh,我未实测过。
./extract_qnap_fw.sh firmware.img destdir
./extract_qnap_fw.sh firmware.img.tgz destdir
./extract_qnap_fw.sh srcdir destdir
解包的结果:
destdir/fw files extracted from the firmware.img
destdir/sysroot unpacked initrd/initramfs, rootfs2, rootfs_ext
destdir/qpkg unpacked qpkg.tar
3、更方便的qpkg解包打包脚本
现在QNAP的包大部分都是QDK,QPKG很少见了,只有老一点的版本上才能看到。(后缀都是.qpkg实际不同)
1、新版:extract_new_qdk.sh
#解包,foldername(解包到的文件夹名称或路径)、pkgname(套件文件名)。(实测:解包脚本OK)
./extract_new_qdk.sh extract foldername pkgname
#打包,提前openssl生成加密需要的sign.key、sign.crt放到根目录内。(实测:打包脚本有问题!不可用!)
./extract_new_qdk.sh pack foldername pkgname
2、旧版:extract_old_qpkg.sh
脚本同上
参考文章
https://xpenology.com/forum/topic/57204-dsm71-beta
https://jxcn.org/2022/03/qnap-sign-check/
原创文章,作者:ERROR204,本文章内容未经书面许可禁止一切形式的转载:https://imnks.com/6471.html