Может Python способный API обнаруживать, пакет “сохранен”?

Я использовал метод, указанный здесь для помещения "хранения" над конкретным пакетом ("jenkins"), чтобы помешать системе обновлять его:

# dpkg --get-selections | grep jenkins
jenkins                                         hold

Есть ли какой-либо способ, которым я добираюсь, обнаруживают этот особый статус с помощью API Python для Кв.? Хотя я развертываю в Package, Record, и Version объекты, я не вижу упоминания о "сохраненном" пакете.

Я действительно не желающее порождение от a dpkg- процесс, чтобы сделать это... Какая-либо надежда?

1
задан 13 October 2017 в 22:16

2 ответа

Хорошо, я нашел его - путем взгляда в /usr/bin/unattended-upgrade. apt.Package - объект, на самом деле, имеет участника, названного _pkg, который имеет тип apt_pkg.Package. Тот имеет selected_state участник - числовая константа (перечисление). Это, что я использую в своем коде теперь:

    import apt
    import apt_pkg
    ...
    if package._pkg.selected_state == apt_pkg.SELSTATE_HOLD:
        pkg['hold'] = True
1
ответ дан 7 December 2019 в 13:29

Боюсь, что эта функциональность, похоже, не раскрывается в Python API. Они имеют marked_delete, marked_downgrade, marked_install и т. Д., Но не marked_held. Однако он существует в C ++ API . Есть ли шанс, что вы можете использовать это?

1
ответ дан 7 December 2019 в 13:29

Другие вопросы по тегам:

Похожие вопросы: