1 |
On Fri, 7 Dec 2012 16:56:18 -0800 |
2 |
Grant <emailgrant@×××××.com> wrote: |
3 |
|
4 |
> > > My unattended daily system maintenance procedure is like this: |
5 |
> > > |
6 |
> > > layman -S |
7 |
> > > emerge --sync |
8 |
> > > emerge -pvDuN world |
9 |
> > > emerge -pv --depclean |
10 |
> > > eclean -p distfiles |
11 |
> > > eclean -p packages |
12 |
> > > |
13 |
> > > And then attended like this: |
14 |
> > > |
15 |
> > > |
16 |
> > > revdep-rebuild |
17 |
> > > etc-update |
18 |
> > > elogv |
19 |
> > > emerge --depclean |
20 |
> > > eclean distfiles |
21 |
> > > eclean packages |
22 |
> > > |
23 |
> > > Am I missing any good stuff? |
24 |
> > > |
25 |
> > > - Grant |
26 |
> > |
27 |
> > |
28 |
> > I'd tweak the order of your attended run: |
29 |
> > |
30 |
> > emerge -DuN world |
31 |
> > emerge @preserved-rebuild |
32 |
> > emerge --depclean |
33 |
> > revdep-rebuild |
34 |
> > |
35 |
> > |
36 |
> > The logic is: |
37 |
> > |
38 |
> > Rebuild busted packages that portage already knows about |
39 |
> > (@preserved-rebuild), then get rid of oudated packages and finally |
40 |
> > revdep-rebuild to fix anything that --depclean broke. |
41 |
> > |
42 |
> > @preserved-rebuild is getting very good at what it does lately |
43 |
> > (supported in all recent portage version including stable IIRC), as |
44 |
> > is --depclean, so revdep-rebuild seldom finds anything to do these |
45 |
> > days. |
46 |
> > |
47 |
> > -- |
48 |
> > Alan McKinnon |
49 |
> |
50 |
> If revdep-rebuild does everything that @preserved-rebuild does and |
51 |
> more, why run @preserved-rebuild at all? |
52 |
|
53 |
@preserved-rebuild does it correctly, does not break your system and |
54 |
does not leave it in an indeterminate state while you spend hours |
55 |
trying to figure out what went on. |
56 |
|
57 |
revdep-rebuild does all those things (and also gets around to fixing |
58 |
broken libs while taking it's own sweet time to do it). |
59 |
|
60 |
So they are not really the same thing at all. |
61 |
|
62 |
Basically, portage removes old .so files when doing upgrades. If the |
63 |
so-name changes, packages using that file are now broken. |
64 |
revdep-rebuild was a phase 1 effort to repair that damage after the |
65 |
fact, and it was good at that. |
66 |
|
67 |
@preserved-rebuild is a feature in portage that won't remove old .so |
68 |
files until the last binary linking to it is removed. IOW, things still |
69 |
work meanwhile. It's analogous to the Unix style of deleting files - if |
70 |
you app still has a handle to a file and the file is deleted, your app |
71 |
does not notice the difference as from it's POV the delete has not |
72 |
happened yet |
73 |
|
74 |
|
75 |
-- |
76 |
Alan McKinnon |
77 |
alan.mckinnon@×××××.com |