From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1G36lC-0002pq-VO for garchives@archives.gentoo.org; Wed, 19 Jul 2006 07:46:23 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.7/8.13.6) with SMTP id k6J7iarF001348; Wed, 19 Jul 2006 07:44:36 GMT Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.187]) by robin.gentoo.org (8.13.7/8.13.6) with ESMTP id k6J7ZBVL003053 for ; Wed, 19 Jul 2006 07:35:12 GMT Received: by nf-out-0910.google.com with SMTP id m19so104518nfc for ; Wed, 19 Jul 2006 00:35:11 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=s50iO/6WFY9QnCY/rYGbLk++H873FtWkCua2WkL2c4IG+52FSd9lvxGeDZdkmWWN1GnMaY2rCdihEBXj424I3sjZYJjIBRGUlne0aL5yiE2oO+WIJLerDLtEHNvgvjrUbNwyRU9M3860Cqn53s4U/73sDL3dLG487GQ/s80SO8k= Received: by 10.78.151.15 with SMTP id y15mr179182hud; Wed, 19 Jul 2006 00:35:11 -0700 (PDT) Received: by 10.78.16.7 with HTTP; Wed, 19 Jul 2006 00:35:11 -0700 (PDT) Message-ID: <7573e9640607190035n2b58d5acr15a0aa49286a139@mail.gmail.com> Date: Wed, 19 Jul 2006 00:35:11 -0700 From: "Richard Fish" Sender: richard.j.fish@gmail.com To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] System maintainance, "emerge --depclean", "revdep-rebuild" In-Reply-To: <7bef1f890607181705j99a69b1tfea2acba8431428a@mail.gmail.com> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <7bef1f890607181705j99a69b1tfea2acba8431428a@mail.gmail.com> X-Google-Sender-Auth: 5f589ba47099f1d7 X-Archives-Salt: a0612969-fa94-4863-9e1b-1c7f47aaf75e X-Archives-Hash: 903c73688f49506f8186ef63bb65e2d6 On 7/18/06, Alan E. Davis wrote: > I have avoided "emerge --depclean" in spite of the recommendations of > several list members both to me and as a matter of course in day to > day messages. However, I am reluctant because of none other than the > initial messages when trying to do so: Depclean can be a problem if you have not fully updated your system. There are two things required for depclean to be "safe": 1. "emerge -DNuvp world" must produce nothing. 2. revdep-rebuild must not want to rebuild anything. But even if these 2 things are satisfied, depclean could still remove packages that you really want installed, so it is always best to review the list to watch for unwanted removals. > It's time to thin down. I have installed kde and gnome, and a bunch > of other display/window managers. I now use enlightenment 17 > exclusively, so I could do away with a lot of cruft. But emerge > --depclean is removing quite a few programs that are useful to me. If there is something in the --depclean output that you want to keep, use emerge --noreplace to add it to the world file and prevent depclean from removing it or any of its dependancies. > I am still being bitten by libexpat.so.0 quite frequently. One of two > of the programs involved are serious problems, since the offenders are > other libraries or dependencies. Usually I can just re-emerge the > affected package, and the problem is temporarily solved. Some > programs that I have done that for, are now, after a couple of months, > doing it again. You use revdep-rebuild to rebuild any packages that depend on a specific library. In this case, you should be able to solve these problems permanently with: revdep-rebuild --library=libexpat.so.0 > Should I go ahead and "emerge --depclean"? How about revdep-rebuild? > I am spending my entire summer trying to deal with these systems. I > loathe to do this process package by package. What I would recommend at this point: 1. review your world file (/var/lib/portage/world). Take out any packages (like KDE or Gnome) that you no longer care about having installed. 2. Review the output of "emerge --depclean --pretend world". For any packages that you do not want removed, use "emerge --noreplace" to add them to world. This is actually optional, you can always re-merge stuff later if you need it. 3. Review your /etc/make.profile link. Now is as good a time as any to update your profile if you are not using 2006.0. (assuming you are using the default-linux/x86 profiles): cd /etc rm make.profile ln -s ../usr/portage/profiles/default-linux/x86/2006.0 make.profile 4. From your local internet cafe, "emerge -DNuv --fetchonly world". This will download the distfiles needed to get your system up-to-date. No compiling at this point, although you might want to pick up some coffee! :-) 5. Run "emerge -DNuv system", followed by etc-update, python-updater, and perl-cleaner. This should get your required system packages fully current, and should ensure that python (really critical!) and perl keep working. 6. If you have not yet updated to gcc-3.4.6, you will want to follow the gcc upgrade guide [1] at this point. You can choose between the revdep-rebuild route or the emerge -e system; emerge -e world route. The revdep-rebuild is usually faster, but probably works best on an otherwise up-to-date and clean system. Actually for the number of packages you have installed, and the number of things depclean wants to remove, the revdep-rebuild method might be slower than "emerge -e system ; emerge -e world"! So I would probably recommend the emerge -e steps, and if you do that you can skip to step 9 below. 7. Run "emerge -e system". This is probably not necessary, but just in case the depclean would remove something that would break dynamic linking, this will make sure you maintain a system that works well enough to complete the rest of steps. 8. Run "emerge -DNuv world". This should get the rest of your system up to date. 9. Run "emerge --depclean world". 10. Run "revdep-rebuild". That should get you fully up to date with a consistent system. At this point, you may want to do something a bit dangerous, and look at the output of "emerge --prune --pretend world". Prune *is* a dangerous command, and should *never* be run against world without the pretend option. It's main use here is to identify obsolete slotted packages (like old KDE versions, old kernel sources, old gcc versions, etc) that you can safely remove. For these, you can do "emerge --prune gcc", "emerge --prune gentoo-sources", etc. Do not prune any autoconf or automake packages. Glib, gtk, and qt packages should probably be left alone as well. It is always a good idea to quickpkg things before pruning, and follow a prune with "emerge -Dv --usepkgonly world" to re-install anything that really is required. [1] http://www.gentoo.org/doc/en/gcc-upgrading.xml HTH, -Richard -- gentoo-user@gentoo.org mailing list