1 |
Paul Stear posted on Wed, 10 Mar 2010 08:05:32 +0100 as excerpted: |
2 |
|
3 |
> I have just un-installed amarok and am starting to upgrade world |
4 |
> including mysql etc. |
5 |
|
6 |
One additional thing I should mention. For me it's routine so sometimes I |
7 |
forget that it may not be that way for everyone. |
8 |
|
9 |
The scriptlets I normally use to upgrade all use -NuD, so an update is |
10 |
always a FULL update, all the way thru the dependencies (deep), and |
11 |
updating any packages with changed USE flags as well. Personally, I don't |
12 |
have much use for half-way updates, as I believe they'll cause me more |
13 |
pain than the time they'll save. |
14 |
|
15 |
Similarly, I always finish with a scriptlet that runs lafilefixer |
16 |
--justfixit, and then revdep-rebuild $* -- -a1. (Actually, it's slightly |
17 |
more complicated than that, as I source a config file that sets a parallel |
18 |
jobs environmental variable, and add that variable to the revdep-rebuild |
19 |
command line as well, so it takes advantage of portage's parallel emerge |
20 |
features where it can.) Of course, Between lafilefixer and the fact that |
21 |
I run as-needed in my LDFLAGS, my revdep-rebuild load is far lower than it |
22 |
would be otherwise, which helps. =:^) |
23 |
|
24 |
Then another scriptlet runs emerge --ask --depclean, and if it cleaned |
25 |
anything major, I run the rebuild scriptlet again just to double-check |
26 |
that the removals didn't leave any hanging needed rebuilds. |
27 |
|
28 |
Of course, another scriptlet takes care of the etc-updates. |
29 |
|
30 |
So when I'm done, not only are all dependencies deep updated along with |
31 |
all packages with new USE flags, but I've ensured all stale linkages are |
32 |
fixed and removed all the old no longer depended packages as well, |
33 |
rerunning the stale linkages check after the cruft removal. |
34 |
|
35 |
I also take care to read all the elogged messages (or at least skim them, |
36 |
as most are repeats I'm familiar with by now) and do all the config |
37 |
updates. |
38 |
|
39 |
I'm unsure how many problems such a thoroughly proactive update regime |
40 |
saves me, but I'm sure it's non-zero. If you're not regularly running |
41 |
revdep-rebuild after updates, try it, with --ask or --pretend first, as |
42 |
you may have quite a few rebuilds built up the first time you run it. The |
43 |
--newuse and --deep emerge flags are mostly me being extra cautious (plus |
44 |
I just like being updated thru and thru), as in theory they shouldn't be |
45 |
needed. But it shouldn't need stated that theory doesn't always match |
46 |
reality. And if you're not running emerge --depclean routinely, do be |
47 |
extremely careful the first few times you run it, absolutely run it with |
48 |
--pretend the first time, and go thru its list looking for stuff you want |
49 |
to keep and add it to your world file (emerge --select --noreplace), |
50 |
before running --depclean for real. Removing that cruft does help because |
51 |
sometimes packages get mixed up and link to the old versions, if they're |
52 |
still around. Plus, there's potential security vulns to think about, |
53 |
since they're no longer in the dependency tree portage checks for updates. |
54 |
|
55 |
Using such a program, you should proactively avoid many problems, and then |
56 |
you'll be the one shrugging your shoulders and saying "it works for me." |
57 |
=:^) Of course it won't fix them all, but the ones that are left are much |
58 |
more likely to have real bugs associated with them, not the fuzzy bugs |
59 |
associated with a system not kept in peak running order. |
60 |
|
61 |
(Also keep in mind that perl-cleaner and python-updater are the parallel |
62 |
to revdep-rebuild in their respective language domains. But unless you're |
63 |
doing python/perl development or scripting on your own, it's unlikely |
64 |
you'll need them as often as revdep-rebuild, as the number of apps using |
65 |
them isn't as high, and the usage isn't as "system-core", as C/C++.) |
66 |
|
67 |
-- |
68 |
Duncan - List replies preferred. No HTML msgs. |
69 |
"Every nonfree program has a lord, a master -- |
70 |
and if you use the program, he is your master." Richard Stallman |