hybridcattt
@hybridcattt

Системы контроля состояний ОС -?

Знает ли кто-нибудь что-то о них? Существуют ли такие вообще? Примерный функционал: отслеживание изменений в пакетах, конфигурационных файлах; возможность возврата в любое предыдущее состояние.
  • Вопрос задан
  • 2753 просмотра
Пригласить эксперта
Ответы на вопрос 7
Где-то я читал статейку, где предлагалось хранить системные настройки в обычной системе контроля версий: инициализировать внутри каталога /etc локальный репозиторий (речь шла о Линуксе) и туда всё загнать. Даже если поправишь что-то криво, можно будет не вспоминать мучительно, что где правил, а просто откатить изменения. То же самое можно сделать и для всей файловой системы, добавив в список игнорирования ненужные каталоги типа /tmp.

Также существуют программы типа Acronis True Image, в которых можно «заморозить» текущее состояние системы а потом либо откатить все изменения, совершённые после этого момента, либо принять их.
Ответ написан
@dmiceman
А что такое «любое предыдущее состояние»? И для какой операционки?

В линуксе, целостностью файлов, установленных из пакетов, ведают пакетные менеджеры. Например, в gentoo можно проверить целостность пакета k3b так:

vvdm ~ # equery check k3b
* Checking app-cdr/k3b-2.0.1 ...
415 out of 415 files passed


Аналогично можно сделать, например, в дистрибутивах, основанных на rpm: www.rpm.org/max-rpm/ch-rpm-verify.html

В дебианоподобных это: «debsums -ca <package>»

С файлами настроек сложнее. Они предназначены для того что бы их менять. И тут есть только один разумный подход: делать периодические бэкапы. Раз в неделю архивировать /etc/ как правило вполне достаточно.

Теоретически, можно написать демон, который бы следил за состоянием /etc/ и делал записи об изменении тех или иных файлов настроек, но я не слышал о том что бы кто-то использовал такой подход. Просто за ненадобностью.

Иногда встречаются советы использовать какую-нибудь систему контроля версий для /etc/ (и в последние годя это стало сильно проще, с появлением git, mercurial и других DVCS), но в моей практике, такой необходимости никогда не возникало.

P.S. Ну а на винде контролем за целостностью файлов следят антивирусы — это, в сущности, их основная работа.
Ответ написан
@JerryJJ
Если речь о Windows, то есть втроенное средство — System Recovery. Создает контрольные точки для возврата в случае необходимости. Может и полную архивную копию сделать.

Из сторонних изделий — Norton Ghost или выше упомянутый Acronis.
Ответ написан
Flanker72
@Flanker72
К слову о версионировании каталога /etc есть неплохая статья по версионным файловым системам. Можно использовать что-либо из этого.

А по своему опыту насчет Bacula — надежное средство, если уж ставится настолько сложная и объемная задача. По cron или средствами пре- и пост-задач в bacula можно задавать сбор данных о пакетах (тот же get-selections) на момент копирования. Это позволит в любой момент времени вернуть любое сохраненное состояние системы (с относительно высокой вероятностью ее работоспособности).

К слову о виртуализации — отличное решение, позволяющее экономить в конечном счете массу времени. Восстановление сохраненного состояния вирутализированной машины занимает несколько минут. Состояния (в зависимости от глубины хранения версий) можно хранить как на диске, так и на внешнем хранилище (типа лент или сетевых хранилищ). Здесь возврат к любому состоянию 100%. В данном случае рекомендуется создавать отдельный виртуальный диск/раздел для самой системы и один для пользовательских документов. В таком случае можно вернуть систему на любое состояние. сохранив пользовательские данные. В вашем случае все-таки рекомендую обратить внимание именно на виртуализацию с поддержкой snapshot.
Ответ написан
iscsi
@iscsi
версионная файловая система (VxFS)
снимки состояния файловой системы (LVM)
Ответ написан
freeAKK
@freeAKK
Убунточка (ладно debian, писать в крон):
1. Список пакетов:
dpkg --get-selections > куда-нить, чтобы подцепить через svn
Коммит в svn этого файла
diff файла позволит «увидеть» новые пакеты. Ещё этот файл позволит их все поставить

`dpkg --list` выведет ещё и версии, но сложнее восстановить состояние.

2. Тут писали про хранение /etc/ в svn. Тоже можно коммитить по крону, можно руками после внесения изменений.
Из минусов подхода: куча папок .svn в /etc
Из плюсов: в хранилище можно смотреть изменения и diff-ы этих изменений. Эти настройки можно развернуть на другой машине (правда, вряд ли права доступа при этом сохранятся, вроде эта инфа в svn не хранится — тогда, чтобы хранить, нужно в svn запихнуть и данные о правах и владельцах на файлы)

Вообще, многие дистрибутивы linux очень сложно поддаются «откату» назад при мажорных обновлениях, а именно при них в большинстве случаев понадобиться «запомнить» состояние. А в остальных случаях, изменения вносит администратор, который должен помнить, что поменял.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы