Скрипт призначений для моніторингу змін у файловій системі під час встановлення програм різними способами на Linux (Debian/Ubuntu/Mint та похідні).
Він допомагає відстежити:
які файли були створені,
які файли були змінені,
і, для текстових файлів, показує diff до/після зміни.
Скрипт корисний для аудиту, налагодження, або контролю встановлення нових пакетів.
Підтримка різних способів встановлення
--deb package.deb --- установка локального .deb файлу через dpkg.
--apt package-name --- установка пакету з репозиторіїв через apt-get.
--flatpak flatpak-app-id --- установка пакету через Flatpak.
--snap snap-name --- установка пакету через Snap.
--gui --- моніторинг установки через графічний інсталятор (Software Manager).
Моніторинг змін файлової системи
Скрипт використовує fatrace для реєстрації всіх подій файлової системи (створено, записано, видалено).
Лог змін зберігається у тимчасовий файл $LOG.
Diff для текстових файлів
Для текстових файлів визначає file.
Якщо файл змінено (W), скрипт зберігає його стан до/після і формує diff.
Звіт про зміни
Після завершення установки скрипт формує звіт у $FILES_REPORT, який включає:
список нових та змінених файлів,
diff для текстових файлів,
повний лог fatrace,
додаткову інформацію про користувача та моніторинг.
Перевірка середовища
Скрипт перевіряє, чи встановлені необхідні інструменти:
fatrace --- для моніторингу змін,
file --- для визначення текстових файлів,
diff --- для побудови diff змін.
Якщо будь-який інструмент відсутній, виводиться повідомлення, що потрібно встановити.
Перевірка root прав
Скрипт вимагає запуск від root (sudo) для моніторингу системних файлів.
Підтримка користувача
Скрипт визначає фактичного користувача ($SUDO_USER) і може запускати GUI програми від його імені.
Підтримка всіх основних способів установки: deb, apt, flatpak, snap, GUI.
Повний аудит змін у файловій системі.
Простий і зручний звіт із новими та зміненими файлами.
Не втручається у систему, тільки читає події файлів через fatrace.
sudo ./deb-watch-unified.sh --deb gimp.deb
sudo ./deb-watch-unified.sh --apt gimp
sudo ./deb-watch-unified.sh --flatpak org.gimp.GIMP
sudo ./deb-watch-unified.sh --snap vlc
sudo ./deb-watch-unified.sh --gui
Використання скрипта на власний страх та ризик, робота скрипта не гарантується