Portable system extension manager. Think systemd-sysext but without systemd
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Unmount with umount -l

+12 -10
+12 -10
sysext
··· 8 8 9 9 . /etc/sysext.conf 2>/dev/null 10 10 11 + if [[ ! -d "${TMPDIR:-/tmp}/sysext" ]]; then 12 + mkdir -p ${TMPDIR:-/tmp}/sysext 13 + fi 14 + 11 15 get_extensions() { 12 16 for path in ${EXTENSION_PATHS}; do 13 17 find "${path}" -name '*.ext' ··· 155 159 echo "lowerdir=${lowerdir},upperdir=${TMPDIR:-/tmp}/sysext/usr.upper" 156 160 } 157 161 158 - if [[ ! -d "${TMPDIR:-/tmp}/sysext" ]]; then 159 - mkdir -p ${TMPDIR:-/tmp}/sysext 160 - fi 161 - 162 162 merge() { 163 163 if [[ -n "${1}" ]]; then 164 164 exts=$(echo $(realpath "${1}") $(get_mounted_extensions) | tr ' ' '\n' | sort | uniq) ··· 171 171 exts=$(echo ${found_exts} $(get_mounted_extensions) | tr ' ' '\n' | sort | uniq) 172 172 fi 173 173 mountopts="$(create_mount "${exts}")" 174 - echo ${mountopts} 175 - ${UMOUNTCMD:-umount} ${USRPATH:-/usr} 174 + mkdir -p "${TMPDIR:-/tmp}/sysext/usr.work" 175 + ${UMOUNTCMD:-umount} -l ${USRPATH:-/usr} 176 176 ${MOUNTCMD:-mount} -t overlay overlay ${USRPATH:-/usr} -o ro,${mountopts},workdir="${TMPDIR:-/tmp}/sysext/usr.work" 177 177 } 178 178 ··· 182 182 return 0 183 183 fi 184 184 if [[ ! -n "${1}" ]]; then 185 - ${UMOUNTCMD:-umount} ${USRPATH:-/usr} 185 + ${UMOUNTCMD:-umount} -l ${USRPATH:-/usr} 186 186 else 187 187 exts=$(echo $(get_extensions) $(get_mounted_extensions) | tr ' ' '\n' | sort | uniq | grep -v "${1}") 188 - echo "${exts}" >/dev/stderr 189 188 mountopts="$(create_mount "${exts}")" 190 - echo ${mountopts} 191 - ${UMOUNTCMD:-umount} ${USRPATH:-/usr} 189 + mkdir -p "${TMPDIR:-/tmp}/sysext/usr.work" 190 + ${UMOUNTCMD:-umount} -l ${USRPATH:-/usr} 192 191 ${MOUNTCMD:-mount} -t overlay overlay ${USRPATH:-/usr} -o ro,${mountopts},workdir="${TMPDIR:-/tmp}/sysext/usr.work" 193 192 fi 194 193 } ··· 202 201 get_extensions | xargs realpath -s 203 202 else 204 203 echo "No overlay mounted at ${USRPATH:-/usr}" 204 + echo "" 205 + echo "Extensions that would be merged:" 206 + get_extensions | xargs realpath -s 205 207 fi 206 208 } 207 209