![Systemback:](https://rvso.com/image/1127593/Systemback%3A.png)
Я новичок в управлении ОС, поэтому если мой вопрос покажется вам некомпетентным, будьте любезны.
Идея довольно понятна, по сути, сохранить текстовый файл пакетов и версий, каждое изменение создает новый коммит git. Если что-то сломается, вы можете вернуться к предыдущей настройке, и apt обрабатывает удаление/установку/версирование пакетов для соответствия предыдущей среде.
Если этого нет, я был бы признателен за любые советы / ссылки на советы по правильному управлению ОС. Спасибо!
решение1
Есть несколько инструментов, которые могут выполнять эту работу с использованием снимков (в отличие от систем контроля версий):
Systemback:
Простое приложение для резервного копирования и восстановления системы с дополнительными функциями
Systemback позволяет легко создавать резервные копии системных и пользовательских файлов конфигурации. В случае возникновения проблем вы можете легко восстановить предыдущее состояние системы. Существуют дополнительные функции, такие как копирование системы, установка системы и создание Live-системы.
Монтаж:
sudo add-apt-repository ppa:nemh/systemback sudo apt-get update sudo apt-get install systemback
Назад во времени:
Back In Time действует как система резервного копирования «пользовательского режима». Это означает, что вы можете делать резервные копии/восстанавливать только те папки, к которым у вас есть доступ на запись (на самом деле вы можете делать резервные копии папок, доступных только для чтения, но не можете их восстанавливать).
Если вы хотите запустить его как root, вам нужно использовать «su» (командная строка), «gksu» (Gnome) или «kdesudo» (KDE).
Монтаж:
sudo add-apt-repository ppa:bit-team/stable
sudo apt-get update
sudo apt-get install backintime
Сдвиг во времени:
TimeShift для Linux — это приложение, которое обеспечивает функциональность, похожую на функцию восстановления системы в Windows и инструмент Time Machine в Mac OS. TimeShift защищает вашу систему, делая инкрементные снимки файловой системы через регулярные интервалы. Эти снимки можно восстановить позже, чтобы привести вашу систему в точное состояние, в котором она была на момент создания снимка.
TimeShift предназначен для защиты только системных файлов и настроек. Пользовательские файлы, такие как документы, изображения и музыка, исключаются. Это гарантирует, что ваши файлы останутся неизменными при восстановлении системы на более раннюю дату. Если вам нужен инструмент для резервного копирования ваших документов и файлов, пожалуйста, взгляните на превосходныйНазад во времениприложение, которое более настраиваемо и предоставляет возможности сохранения пользовательских файлов.
Монтаж:
sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get install timeshift
решение2
Вы можете использовать крючок дляуместнозапуститьсценарийпосле каждого вызоваapt-get/dpkg. Скрипт, который выведет список всех установленных пакетов и зафиксирует новый список в репозитории git.
Например, в/etc/apt/apt.conf.d/99-dpkg-snapshot
DPkg::Post-Invoke {"/usr/bin/dpkg -l > /root/apt.git/dpkg-list.txt; git commit -a -m `date +%Y%m%d%H%H%S` -C /root/apt.git"; };
и создайтемерзавецРЕПО в/root/apt.git
Но даже со списком пакетов и их версиями этого может быть недостаточно, чтобы вернуть систему в форму. Вам нужно как минимум сохранить /etc, например, с помощью etckeeper.
Было бы лучше использоватьснимоквместо того, как сказал @muru. Проблема в том, что толькоbtrfsиЛВМпредоставить снимок файловой системы.
Это можно сделать и с помощью device-mapper, но это нетривиально.https://serverfault.com/a/481513/297044