1 |
On Tue, Jul 29, 2008 at 4:09 PM, Simon <turner25@×××××.com> wrote: |
2 |
> Hi, |
3 |
> Below I explain my story, I show some difficulties and near the end ask a |
4 |
> few questions, but last paragraph is my main question, comments on the rest |
5 |
> is greatly appreciated. |
6 |
> |
7 |
> I have 3 computers and they are all setup the same with the exception of |
8 |
> the kernel that has different options for the youngest of my pcs. I'm |
9 |
> looking for a simple, easy and efficient way to keep them all up2date. |
10 |
> |
11 |
> I want to avoid 3 --sync to the gentoo servers. I have tried to setup one |
12 |
> of my pc as central server and sync the others on it, but has the main |
13 |
> disadvantage that the other PCs are dependant on it (ok, it's not so |
14 |
> difficult to change make.conf). |
15 |
> |
16 |
> Then, I would have to compile approximately 3 times the same software. My |
17 |
> computers are slow, I am poor, can't buy new hardware (FORGET IT). So I |
18 |
> tried turning on buildpkg and compile on my fastest PC. |
19 |
> |
20 |
> I already use unison to sync my /home directory through ssh, i use it |
21 |
> because it is simple and does exactly what I need out of the box. (Compared |
22 |
> to rsyncd, where you need to setup a server, setup the firewall, what about |
23 |
> security?...). |
24 |
> Anyway, I decided to sync /usr/portage with unison as well, which worked |
25 |
> fine and I had the binpkgs on the other pc. When I did an `emerge -k -uDN |
26 |
> world` I found that many packages still had to be built. I extracted the |
27 |
> list of packages and versions, formated properly and emerged them all on my |
28 |
> fastest pc, ran through the same routine and at the end I had to recompile |
29 |
> just a few packages that I let run (nothing like gcc or glibc, hehe). |
30 |
> |
31 |
> Now, with my "unison technique" I believe the only flaw was that I didn't |
32 |
> have the list of all packages on all my PCs and I wonder if there is a way |
33 |
> to generate such a list, similar to what `emerge -vp -uDN world` gives but |
34 |
> in a format ready for emerge, so I can dump the pkg list for the 3 pc in 3 |
35 |
> files and run emerge on those 3 files. I would compile them -1, which, as I |
36 |
> understand it would upgrade my system (upgrade but not change world entries) |
37 |
> and install unneeded packages around. I would then use --depclean which |
38 |
> would remove the unneeded packages cleanly and finally revdep-rebuild. I |
39 |
> would be left with my fastest pc's world up2date + all binpkgs of all 3 pcs. |
40 |
> |
41 |
> The advantage of my "unison technique" is it's transparent to any 3 pc, if |
42 |
> a pkg is not there, it downloads the distfile from the internet and compiles |
43 |
> it, completely independant. Just doing the --sync requires a little bit of |
44 |
> consideration. |
45 |
> |
46 |
> I'm wondering if there is (i'm sure there is) a better practice in the |
47 |
> compilation of binpkgs for use by multiple computers, so that none of the |
48 |
> other computers will compile (quick update for them) and that the compiling |
49 |
> computer can compile all needed pkgs in one run preferably. |
50 |
> |
51 |
> As usual, if you can answer my question directly on the mailing list that'd |
52 |
> be nice, if you could give URLs to some documentation that answers my |
53 |
> question that'd be very nice too! |
54 |
> |
55 |
> Thanks, Simon |
56 |
> |
57 |
> |
58 |
|
59 |
I don't have time right now to answer all of your questions, but in |
60 |
terms of having all machines have the same list of installed packages, |
61 |
all you probably need is /var/lib/portage/world . This lists all of |
62 |
the packages that you emerged. I.e. those packages not brought in via |
63 |
dependencies. If you have the same USE flags set on all machines, then |
64 |
you should not see the need for new dependencies to be brought in on |
65 |
any of the non-compile machines. |