Can be handy in case an appimage doesnt work, e.g. because of missing libs.
It's very simple because an appimage is in fact an SFS, but "injected" with a binary "runtime", below commands use "runtime32" (for 32-bit), change to "runtime64" to create a 64-bit appimage (on a 64-bit OS)
The GUI program from here is using the same method of creating the appimage, but has more options (but not the option to extract an appimage, btw).
Let's assume that the appimage is in /root, replace "<originalappimage>" with the real name of the appimage.
Extract the appimage:
Code: Select all
/root/<originalappimage> --appimage-extract
Make your modifications inside, e.g. add missing libs or whatever.
Having done that, create a temporary squashfs file named "temp-squashfs.squashfs" from dir "squashfs-root":
Code: Select all
mksquashfs '/root/squashfs-root' temp-squashfs.squashfs -root-owned -noappend
Code: Select all
cat /root/runtime32 >> <newappimage> # change to runtime64 for 64-bit
Code: Select all
cat /root/temp-squashfs.squashfs >> <newappimage>
Code: Select all
chmod a+x <newappimage>
You may want to remove /root/temp-squashfs.squashfs and /root/squashfs-root:
Code: Select all
rm -f /root/temp-squashfs.squashfs
rm -fr /root/squashfs-root