Точки восстановления при установке программ

Вспоминая время, когда мне приходилось восстанавливать дистрибутив после неудачно установленных программ, а это могло произойти по разным причинам, я подумал, а почему бы не смастерить «откат системы». Подумав еще немного об этом, решил написать скрипт на Python, как обертку к urpmi.

Скрипт — urpmi.rollback

Опишем сперва работу самого скрипта:
1. Скрипт это обертка к urpmi.
2. Для установки пакетов или обновлений используются команды inst, autoinst, update
3. Для «отката» используется команда back

При попытке установить пакет сперва проверяется его наличие, затем получаем список файлов, которые будут установлены, далее проверяется возможность установки, создается точка восстановления, а затем устанавливается требуемый пакет. При невозможности корректно установить пакет, скрипт автоматически производит «откат» изменений.

«Откат» происходит только последовательно, от последнего к первому.

Работа скрипта проверялась только для установки новых файлов, которые не требовали удаление предыдущих пакетов. Работа с удалением пока не проверялась, так же как и не осуществлено создание точек восстановления при удалении требуемых пакетов.

В скрипте существует баг — при попытке установки пакета, который уже установлен, так же создается точка восстановления. Систему он не портит, но место на диске съедает.

Отзывы, замечания, предложения, и помощь прошу писать в комментариях.

Видеоурок: Устанавливаем EduMandriva One LXDE 2010

Вставляем в привод диск EduMandriva One LXDE и выполняем с него загрузку:



Запускаем инсталятор, разбиваем диск и выбираем удалять ли «ненужные» пакеты:



Ждем установку, затем настраиваем загрузчик:



Выходим из операционной системы, достаем диск из привода и перегружаемся. Выполняем последние шаги настройки — сеть, пароль root и пользователи:



Установка успешно завершена!
Блоги, установка