From: "Richard Fish" <bigfish@asmallpond.org>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] System maintainance, "emerge --depclean", "revdep-rebuild"
Date: Wed, 19 Jul 2006 00:35:11 -0700 [thread overview]
Message-ID: <7573e9640607190035n2b58d5acr15a0aa49286a139@mail.gmail.com> (raw)
In-Reply-To: <7bef1f890607181705j99a69b1tfea2acba8431428a@mail.gmail.com>
On 7/18/06, Alan E. Davis <lngndvs@gmail.com> 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 <pkg>
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
prev parent reply other threads:[~2006-07-19 7:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-19 0:05 [gentoo-user] System maintainance, "emerge --depclean", "revdep-rebuild" Alan E. Davis
2006-07-19 5:54 ` [gentoo-user] " Francesco Talamona
2006-07-19 7:32 ` Alan E. Davis
2006-07-19 7:35 ` Richard Fish [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7573e9640607190035n2b58d5acr15a0aa49286a139@mail.gmail.com \
--to=bigfish@asmallpond.org \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox