Вопрос: Как я могу отслеживать ход удаления или установки пакета с помощью python apt?


Например, скажем, я хочу удалить хромированный браузер в ubuntu через мой сценарий ниже. Как я могу отслеживать ход удаления?

#!/usr/bin/env python
# aptremove.py

import apt
import apt_pkg
import sys

def remove():
    pkg_name = "chromium-browser"
    cache = apt.cache.Cache()
    cache.open(None)
    pkg = cache[pkg_name]
    cache.update()
    pkg.mark_delete(True, purge=True)
    resolver = apt.cache.ProblemResolver(cache)

    if pkg.is_installed is False:
        print (pkg_name + " not installed so not removed")
    else:
        for pkg in cache.get_changes():
            if pkg.mark_delete:
                print pkg_name + " is installed and will be removed"
                print " %d package(s) will be removed" % cache.delete_count
                resolver.remove(pkg)
    try:
        cache.commit()
        cache.close()
    except Exception, arg:
        print >> sys.stderr, "Sorry, package removal failed [{err}]".format(err=str(arg))

remove()

1
2018-01-22 23:26


Источник


Моя первоначальная мысль заключается в том, что нет, нет универсального решения для мониторинга прогресса такого сценария; вам нужно будет написать код, чтобы контролировать прогресс самостоятельно. Однако я не знаю, есть ли какой-то конкретный способ сделать это с помощью apt. - fakedad
Что делать, если это несколько пакетов? Я немного обновил свой скрипт, у меня есть список пакетов для удаления, после каждого удаления я смогу увидеть некоторый прогресс. Но будет ли лучший способ сделать это, кроме моего? - answerSeeker
Что-то вроде apt-browse.org/browse/ubuntu/trusty/main/all/python-apt-doc/...? - muru
@muru спасибо! Я вижу, что это может мне очень помочь - answerSeeker


Ответы: