16.6.1 Построение сета транзакции
Индекс16.6.1 Построение сета транзакции
Установка или обновление пакетов должны быть выполнены в рамках контекста сета транзакции. Для установки или обновления набора пакетов выполняется addInstall с соответствующими хэдерами. Синтаксис:
ts.addInstall(header, key_data, mode) |
Когда вызывается addInstall, ему передаются объект хэдера, определенные ключевые данные и флаг режима. Флаг должен быть i для установки и u - для обновления, или a - для специального режима, в котором пакет доступен для прохождения проверок сета транзакции, но не устанавливается (не обновляется). Флаг а используется сравнительно редко. В большинстве случаев нужно использовать u, подобно тому, что при установке с помощью утилиты rpm пакеты должны устанавливаться с ключом -U.
Параметр ключевых данных key_data позволяет осуществить обратный вызов.
Для удаления пакетов используется addErase вместо addInstall:
ts.addErase(package_name) |
Для выбора пакета, который должен быть установлен (обновлен), используйте следующий код:
h = readRpmHeader( ts, sys.argv[1] ) |
Этот пример передает имя файла пакета в addInstall, забирая его из командной строки.
Вызов addInstall добавляет объект хэдера и ассоциированный с ним файл пакета для обновления. Имя файла пакета передается в sys.argv[1] в качестве key_data для обратного вызова из сета транзакции.
Далее - Элементы транзакции
Назад - Установка и обновление пакетов
Содержание