-
-
Save aabytt/3bf1326659f53df37defa238772767f0 to your computer and use it in GitHub Desktop.
simple tool to apply overlayfs over specific directories
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # Directory to store overlays in (one directory structure is created per overlay configured down below) | |
| OVERLAY_BASE=/home/root/overlays | |
| overlay() { | |
| set -e | |
| overlay_id="$(echo $1 | sed 's;/;__;g')" | |
| unset TARGET SOURCE FSTYPE OPTIONS | |
| eval $(findmnt -P $1) | |
| if [[ "$FSTYPE" == "overlay" ]]; then | |
| echo "[-] Overlay '$1' already mounted" | |
| else | |
| echo "[ ] Preparing overlay for '$1' -> $OVERLAY_BASE/$overlay_id" | |
| mkdir -p "$OVERLAY_BASE/$overlay_id/upper" "$OVERLAY_BASE/$overlay_id/work" | |
| mount -t overlay -o lowerdir=$1,upperdir=$OVERLAY_BASE/$overlay_id/upper/,workdir=$OVERLAY_BASE/$overlay_id/work/ overlay-$overlay_id $1 | |
| echo "[+] Overlay '$1' mounted" | |
| fi | |
| } | |
| # Usage: | |
| overlay /usr/share/im | |
| # now /usr/share/im is read-writable |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment