[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