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

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

Скрипт — urpmi.rollback

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

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

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

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

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

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