apt.cache
— The Cache class¶
The Cache class¶
Example¶
The following example shows how to load the cache, update it, and upgrade all the packages on the system:
import apt
import apt.progress
# First of all, open the cache
cache = apt.Cache()
# Now, lets update the package list
cache.update()
# We need to re-open the cache because it needs to read the package list
cache.open(None)
# Now we can do the same as 'apt-get upgrade' does
cache.upgrade()
# or we can play 'apt-get dist-upgrade'
cache.upgrade(True)
# Q: Why does nothing happen?
# A: You forgot to call commit()!
cache.commit(apt.progress.TextFetchProgress(),
apt.progress.InstallProgress())
Working with Filters¶
Example¶
This is an example for a filtered cache, which only allows access to the packages whose state has been changed, eg. packages marked for installation:
>>> from apt.cache import FilteredCache, Cache, MarkedChangesFilter
>>> cache = apt.Cache()
>>> changed = apt.FilteredCache(cache)
>>> changed.set_filter(MarkedChangesFilter())
>>> print(len(changed) == len(cache.get_changes())) # Both need to have same length
True