[Apt-Rpm] apt: scalability, performance, alternative?

Andrei Kazarov Andrei.Kazarov at cern.ch
Wed May 5 02:19:19 PDT 2010


Dear APT experts,

We are using apt-get + RPM for an installations of quite a big scale: it 
may reach 2000+ packages with many tree-like dependencies, 2.5 million 
files and tens of Gigs of disk space. While we do not see big 
scalability issues with RPM itself, apt-get is behaiving quite bad at 
this scale. The installation from scratch goes reasonably well, but then 
it may take few _hours_ on a modern 64bit computer to install additional 
set of packages or to update existing ones. Essentially apt-get is 
looping somewhere in the rpmVersioningSystem::CheckDep calls (I attached 
the stack). The version we use is the one coming with EL5 - 
apt-0.5.15lorg3.94a-5.el5

As I understood, the apt is no longer developed. So I have 2 questions:

- is there a known scalability issue and a workaround like some 
configuration/command-line options which would avoid some "extra" 
dependencies checks?

- are there any good alternatives to apt manager? The essential 
requirement is that we need to pass custom options to the underlying 
packaging manager (RPM) in order to be able to install relocatable 
packages using a private RPM database as non-root user. We did not find 
this option e.g. in yum.

Thanks for any advice and kind wishes,

             Andrei




#2  0x00000031cbe98014 in rpmVersioningSystem::CheckDep (this=<value 
optimized out>, PkgVer=<value optimized out>,
     Op=<value optimized out>, DepVer=<value optimized out>) at 
rpm/rpmversion.cc:207
#3  0x00000031cbe9832a in rpmVersioningSystem::CheckDep (this=<value 
optimized out>, PkgVer=<value optimized out>, Dep=Could not find the 
frame base for "rpmVersioningSystem::CheckDep(char const*, 
pkgCache::DepIterator)".
)
     at rpm/rpmversion.cc:233
#4  0x00000031cbec5e1b in pkgCache::DepIterator::AllTargets (this=<value 
optimized out>) at pkgcache.cc:422
#5  0x00000031cbec12c7 in pkgOrderList::CheckDep (this=<value optimized 
out>, D=Could not find the frame base for 
"pkgOrderList::CheckDep(pkgCache::DepIterator)".
) at orderlist.cc:929
#6  0x00000031cbec22f7 in pkgOrderList::DepUnPackDep (this=<value 
optimized out>, D=Could not find the frame base for 
"pkgOrderList::DepUnPackDep(pkgCache::DepIterator)".
) at orderlist.cc:795
#7  0x00000031cbec1196 in pkgOrderList::VisitRProvides (this=<value 
optimized out>, F=Could not find the frame base for 
"pkgOrderList::VisitRProvides(bool (pkgOrderList::*)(pkgOrderList*, 
pkgCache::DepIterator), pkgCache::VerIterator)".
) at orderlist.cc:475
#8  0x00000031cbec1a7b in pkgOrderList::VisitNode (this=<value optimized 
out>, Pkg=Could not find the frame base for 
"pkgOrderList::VisitNode(pkgCache::PkgIterator)".
) at orderlist.cc:557
#9  0x00000031cbec2be4 in pkgOrderList::DoRun (this=<value optimized 
out>) at orderlist.cc:157
#10 0x00000031cbec2f48 in pkgOrderList::OrderUnpack (this=<value 
optimized out>, FileList=<value optimized out>)
     at orderlist.cc:234
#11 0x00000031cbec4a0b in pkgPackageManager::OrderInstall (this=<value 
optimized out>) at packagemanager.cc:585
#12 0x00000031cbec334a in pkgPackageManager::DoInstall (this=<value 
optimized out>, Prog=<value optimized out>)



More information about the Apt-Rpm mailing list