6.3 Сохранение старых пакетов

При установке, удалении или обновлении пакетов можно использовать опцию --repackage для сохранения старых версий файлов пакетов, которые вы обновляете или самих пакетов при удалении. Пакеты, создаваемые под опцией --repackage не являются настоящими пакетами rpm. Для создания настоящих пакетов можно использовать утилиту rpmbuild.

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

По умолчанию rpm с опцией --repackage помещает старый пакет в каталог /var/spool/repackage. Другие применяющиеся каталоги - /var/spool/up2date или /var/tmp. Конкретный каталог зависит от конфигурации RPM, заданной для обработки данной опции.

Для примера. Вы имеете пакет jikes, который нужно обновить. Но есть опасения, что новая версия не будет работать правильно. Первым делом проверьте установленную версию:

# rpm -q jikes

jikes-1.14-1

Вывод команды показывает, что установлена версия 1.14. Вы можете обновить пакет до версии 1.17, сохраняя старый пакет:

# rpm -Uhv --repackage jikes-1.17-glibc2.2-1.i386.rpm
Preparing... ########################################

[100%]

Repackaging...

1:jikes
########################################

[100%]

Upgrading...

1:jikes
########################################

[100%]

Эта команда обновит пакет и сохранит копию старого пакета в каталоге /var/spool/repackage. Проверим последнее обстоятельство:

$ ls -l /var/spool/repackage/

total 692

-rw-r--r-- 1 root root 703037 Oct 25 18:49 jikes-1.14-1.i386.rpm

Увидим пакет со старым номером версии. Это не то же самое, что прежний установленный пакет, его содержимое не полно. Перепакованные пакеты содержат снимок файлов пакета, которые были на тот момент на жестком диске, но не на момент установки пакета. Кроме того, rpm --repackage не может правильным образом подписать пакет, как был подписан оригинальный.

Для создания снимков любого установленного пакета можно также использовать свободную утилиту rpmrebuild. Написанная Eric Gerbier, она позволяет создать rpm-пакет из любого установленного, и, возможно, удаленного или обновленного пакета. Загрузите rpmrebuild отсюда: http://rpmrebuild.sourceforge.net/ .

Далее - Раздел 7. Программное обеспечение для управления RPM
Назад - Откат транзакций
Содержание