Manually editing a existing apkovl

From Alpine Linux
Revision as of 21:14, 10 February 2023 by JasonStewart777 (talk | contribs) (file ownership notes in case of non-root tar extraction)

You might end up in a situation when you find it necessary to edit an apkovl (without having to boot a box using the apkovl itself).

Unpack the apkovl

Unpack the apkovl into a temp dir (preferably run tar as root to preserve target's UIDs & GIDs):

mkdir /tmp/testbox tar -xvzf testbox.apkovl.tar.gz -C /tmp/testbox/

Make your modifications

Do your modifications in '/tmp/testbox/'

  • Edit files/folders
  • Add files/folders
  • Remove files/folders
  • etc.

Ensure proper ownership

By default, tar will preserve file permissions and ownership when creating an archive. However, on extraction, if you did not extract the archive as root, file ownership may have been substituted with the current user (since changing file ownership usually requires superuser privileges). If you didn't extract the apkovl as root, take a moment to correct ownership (by target's UIDs & GIDs rather than local user & group names)—especially for important directories like /etc and /root.

Pack the apkovl

When your modifications are done, you should pack your apkovl

cd /tmp/testbox tar -czf /tmp/testbox.apkovl.tar.gz *

Replace the original apkovl

You now have a new/modified apkovl.
Replace your original apkovl (on your media) with '/tmp/testbox.apkovl.tar.gz' and boot.