I am looking for a guide on one of Linux Package manager architectures. For example apt-get (dpkg), or yum (rpm). I want to know how they manage the package list, file list, package versions and so on.
Well yum is rpm based - http://en.wikipedia.org/wiki/RPM_Package_Manager
And apt is (typically) deb based - http://en.wikipedia.org/wiki/Deb_%28file_format%29
There are links from both of those pages that explain more
Yum is RPM based and is completely written in Python.
Yum or RPM maintains a database (Berkley DB) usually in "/var/lib/rpm".
The database path is "/var/lib/rpm/Packages".
[root@ec092 rpm]# pwd
[root@ec092 rpm]# file Packages
Packages: Berkeley DB (Hash, version 8, native byte-order)
when you use the commands like
rpm -qa it queries the Packages DB and it maintains all the attributes like package list, file list, package versions and so on.
Ubuntu's apt-get is written in C++ and is somewhat complex.