Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: Interrupting portage gracefully
Date: Thu, 23 Nov 2006 23:12:01
Message-Id: ek4tjd$qas$2@sea.gmane.org
In Reply to: [gentoo-amd64] Interrupting portage gracefully by Peter Humphrey
1 Peter Humphrey <prh@××××××××××.uk> posted
2 200611231821.13640.prh@××××××××××.uk, excerpted below, on Thu, 23 Nov
3 2006 18:21:13 +0000:
4
5 > Does anyone here know of a signal I can pass to portage to make it stop at
6 > the end of the current package? Quite often I find I'm emerging quite a lot
7 > of packages, and I'd like to shut the machine down for the night and resume
8 > in the morning. (I have been running it all night, but it's getting to be a
9 > bit noisy in the fan department.)
10
11 I don't believe there's a way to do it other than manually (watching for
12 the right moment and stopping it then), but using the --resume switch will
13 resume it at the same package, and if you use FEATURES=ccache and have it
14 setup correctly, the compile to the point of interruption will have been
15 cached so that package should merge faster, as well. It'll still take
16 awhile as the configure steps repeat, and the linking and other
17 non-compile steps repeat as well, but the actual compilation should be
18 cached, so that part will be faster, on the package it's doing twice.
19
20 Of course, there are some I'd still not want to interrupt. a gcc compile,
21 or glibc, come to mind, as does kdelibs if you have it merged, and from
22 what I read, openoffice, unless they are just barely started. However, an
23 emerge --pretend or --ask can give you an idea of if and where they are in
24 the list, and you can schedule accordingly.
25
26 Alternatively, do a pretend, to get a list, and then emerge individual
27 packages. I often do this with --tree, to get an idea of the
28 dependencies, and then do several merges in parallel (such that there
29 aren't any conflicting dependencies, thus the --tree), since portage
30 otherwise doesn't make very efficient use of multiple CPUs for much of the
31 emerge run. The configure step for instance is generally single-job
32 serial, as are most of the other steps other than the actual compile.
33 Even the compile is often forced to -j1 for individual packages due to job
34 ordering issues if -jX were allowed, so the /only/ way I've found to
35 efficiently make use of even TWO-way SMP is to invoke up to five emerges
36 in parallel. The problem will be even worse once I upgrade to dual-core
37 Opteron 285s, thus four-way SMP (I see prices are down to $1200-ish for
38 the pair, now).
39
40 --
41 Duncan - List replies preferred. No HTML msgs.
42 "Every nonfree program has a lord, a master --
43 and if you use the program, he is your master." Richard Stallman
44
45 --
46 gentoo-amd64@g.o mailing list