diff --git a/remount b/remount index b33a1ef..420458a 100755 --- a/remount +++ b/remount @@ -1,12 +1,24 @@ -#!/usr/bin/env bash -if [ $(rorw) = "ro" ]; then - set -x - sudo -K - sudo mount -t tmpfs tmpfs /var/lib/apt - sudo mount -t tmpfs tmpfs /var/cache/apt - sudo mount -o remount,rw / - sudo -K -elif [ $(rorw) = "rw" ]; then - set -x - sudo -k mount -o remount,ro / -fi +#!/usr/bin/awk -f +BEGIN { + FS = "[ ,]" + ARGC=2; + ARGV[1]="/proc/mounts"; +} +{ + if ( $2 == "/" && $3 != "rootfs" ) { + if ( $4 == "ro" ) { + print "remounting rootfs as readwrite"; + system("sudo -K"); + system("set -x; sudo mount -t tmpfs tmpfs /var/lib/apt"); + system("set -x; sudo mount -t tmpfs tmpfs /var/cache/apt"); + system("set -x; sudo mount -o remount,rw /"); + system("sudo -K"); + } + if ( $4 == "rw" ) { + print "remounting rootfs as readonly"; + system("sudo -K"); + system("set -x; sudo mount -o remount,ro /"); + system("sudo -K"); + } + } +}