Самый простой способ сделать это рекурсивно с помощью find (находит файлы в структуре каталогов, которые соответствуют различным параметрам). Например,
find . [or other directory] -type f -user 0 -exec chown <newusername> '{}' +
, где -type f используется, чтобы не касаться каталогов или других нестандартных типов файлов (удалите, если не требуется).
Конечно, для этого вам понадобится root. Вы можете просто упаковать это в сценарий, так как
#!/bin/sh
if [ "$#" -lt 1 ]; then #check if username was given
echo >&2 "provide user name"
exit 1
fi
find . -type f -user 0 -exec chown "$1" '{}' +
я не думаю, что вам нужно будет проверять различные ошибки - в большинстве случаев это просто не удастся, если вы не являетесь пользователем root.
Предлагается проверить наличие сервисов моментальных снимков с помощью
systemctl list-unit-files | grep snap
Остановите все службы (, кроме неиспользуемой snapd.socket
), затем повторите попытку отключения.