Alpine linux 创建一个 apk 包



创建apk文件(alpine linux包管理器格式,不要与androids apk混淆(的常用方法是使用abuild。但是我需要从包含文件的目录创建一个apk。也就是说,没有端口食谱。可以这样完成:

tar --xattrs -f - -c * | abuild-tar --hash | gzip -9 > ../testpackage.data.tar.gz
du -b . | tail -n 1 | awk '{print "size = "$1}' >> .PKGINFO
tar -c .PKGINFO .pre-install .post-install .pre-deinstall .post-deinstall | abuild-tar --cut | gzip -9 > ../testpackage.control.tar.gz
abuild-sign ../testpackage.control.tar.gz
cat ../testpackage.control.tar.gz ../testpackage.data.tar.gz > testpackage.apk

这样做的问题是它太慢了。我想加快速度。最好使用 shell,但在最坏的情况下,我可以为它编写一个 C 程序。

如何提高此脚本的性能?

除非你真的需要最大的压缩-9(对于gzip(添加相当多的额外处理,以获得相对较少的增益(略微取决于你的数据(,所以试着放弃它。

-s标志添加到您的du将消除对tail的需求(可能不会有太大区别(

您可以使用pigz而不是gzip在压缩期间利用多个内核。

相关内容

最新更新