How does the Software Center keep track of installed packages? In which files/database?
2 Answers
dpkg
(Software-Center is a graphical front-end of dpkg) keeps track of the installed packages in /var/lib/dpkg/status
.
-
This seems like the right answer - Software Center gets its information about which packages are installed from dpkg's database.– loevborgJan 19, 2011 at 9:51
-
Sounds right but when you want to install a package, you also need to find the associated .deb file to know which files to remove right? Where are those .deb files cached? Jan 19, 2011 at 14:16
-
That didn't make sense. You remove files when you UNinstall a package. That information is in /var/lib/dpkg/info/.– psusiJan 19, 2011 at 14:46
From what I can tell, it uses xapian databases located at /var/cache/software-center/xapian
.
From a quick read over the code here, specifically the 'rebuild_database' function, it looks like the above are built/re-built from the apt cache (using the Python-apt wrapper, which in turn uses libapt-pkg).