[EMAIL PROTECTED] ~ $ sudo emerge info Portage 2.0.53 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-gentoo-r5 i686) ================================================================= System uname: 2.6.14-gentoo-r5 i686 AMD Athlon(tm) XP 2800+ Gentoo Base System version 1.6.14 dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r3
I'd seen all the threads on the problems with portage getting held up during emerge metadata. Since around a month ago, I have suffered through the holdup almost every day. Sometimes, it would take 5 or more minutes! I read as much as I could on the various forums and ng and wanted to post MY suggested workaround. In a nutshell, I found that portage needed to be on its own partition and had to be backed up and restored onto a clean partition. By doing this alone, there was no more dreaded 50-51% holdup. I also found that it did not make much difference whether I used ext2,3 or reiserfs when running emerge metadata. In fact, reiser was slower by around 30 seconds (57-ext3 vs 1:30-reiser). This was not surprising since on the namesys website they note that programs like find won't perform as well due to its internal organization. Interestingly, if I ran emerge metadata a second time on reiser, the speed dropped to 45 seconds. I imagine this is because of directory caching. On my particular setup, I have one partition that includes portage, portage overlay, distfiles, and portage tmp dir. I set all these in make.conf. Having portage in /usr is kind of a contradiction imho, since most files there are supposed to be static, not changing all the time. Moving portage and its related files elsewhere makes everything a log cleaner, and at least in my case, faster. >From my make.conf. Note, /mnt/src is my portage partition. PORT_LOGDIR="/var/log/portage" PORTDIR="/mnt/src/portage" PORTDIR_OVERLAY="/mnt/src/local/portage" PORTAGE_TMPDIR="/mnt/src/var/tmp" DISTDIR="/mnt/src/distfiles" For right now, I have reiser handling /mnt/src, and I'll leave this alone for a while. Don't know if performance will improve. It _might_ since the act of syncing will force a read through the entire portage tree which might make metadata faster HTH. Suggestions: 0) You _are_ backed up, right? At least, save the directories you'll be working on! 1) make a partition. 1+G for /usr/portage. Larger for additional files. I have 7 gig for my setup. Filesystem is up to you. Just make sure kernel support is enabled (i.e. reiser) and appropriate support files loaded. 2) copy over existing portage using cp -Rp (preserve times and permissions otherwise portage will download the entire tree), or tar it and untar it. Whatever works. Just make sure that make.conf is adjusted and /etc/make.profile is relinked to the new location. /etc/make.profile -> /mnt/src/portage/profiles/default-linux/x86/2005.0 This is important otherwise any emerge command will bomb. Your link may differ depending on your arch. ls -l /etc/make.profile will show what you need to do. Just substitute your new portage location and add the rest. 3) update make.conf. 4) see if everything works, try emerge -s, emerge sync, metadata. 5) if it does, you can purge /usr/portage and any other directories you moved over to your dedicated portage partition. -- [email protected] mailing list

