1 |
On 01/10/2013 08:07, Grant wrote: |
2 |
>>>>> Keeping all of the laptops 100% identical as far as hardware is |
3 |
>>>>> central to this plan. I know I'm setting myself up for big problems |
4 |
>>>>> otherwise. |
5 |
>>>>> |
6 |
>>>>> I'm hoping I can emerge every package on my laptop that every other |
7 |
>>>>> laptop needs. That way I can fix any build problems and update any |
8 |
>>>>> config files right on my own system. Then I would push config file |
9 |
>>>>> differences to all of the other laptops. Then each laptop could |
10 |
>>>>> emerge its own stuff unattended. |
11 |
>>>> |
12 |
>>>> I see what you desire now - essentially you want to clone your laptop |
13 |
>>>> (or big chunks of it) over to your other workstations. |
14 |
>>> |
15 |
>>> That sounds about right. |
16 |
>>> |
17 |
>>>> To get a feel for how it works, visit puppet's web site and download |
18 |
>>>> some of the test appliances they have there and run them in vm software. |
19 |
>>>> Set up a server and a few clients, and start experimenting in that |
20 |
>>>> sandbox. You'll quickly get a feel for how it all hangs together (it's |
21 |
>>>> hard to describe in text how puppet gets the job done, so much easier to |
22 |
>>>> do it for real and watch the results) |
23 |
>>> |
24 |
>>> Puppet seems like overkill for what I need. I think all I really need |
25 |
>>> is something to manage config file differences and user accounts. At |
26 |
>>> this point I'm thinking I shouldn't push packages themselves, but |
27 |
>>> portage config files and then let each laptop emerge unattended based |
28 |
>>> on those portage configs. I'm going to bring this to the 'salt' |
29 |
>>> mailing list to see if it might be a good fit. It seems like a much |
30 |
>>> lighter weight application. |
31 |
>> |
32 |
>> Two general points I can add: |
33 |
>> |
34 |
>> 1. Sharing config files turns out to be really hard. By far the easiest |
35 |
>> way is to just share /etc but that is an all or nothing approach, and |
36 |
>> you just need one file to be different to break it. Like /etc/hostname |
37 |
>> |
38 |
>> You *could* create a "share" directory inside /etc and symlink common |
39 |
>> files in there, but that gets very tedious quickly. |
40 |
>> |
41 |
>> Rather go for a centralized repo solution that pushes configs out, you |
42 |
>> must just find the one that's right for you. |
43 |
> |
44 |
> Does using puppet or salt to push configs from my laptop qualify as a |
45 |
> centralized repo solution? |
46 |
|
47 |
|
48 |
yes |
49 |
|
50 |
|
51 |
|
52 |
> |
53 |
>> 2. Binary packages are almost perfect for your needs IMHO, running |
54 |
>> emerge gets very tedious quickly, and your spec is that all workstations |
55 |
>> have the same USE. You'd be amazed how much time you save by doing this: |
56 |
>> |
57 |
>> emerge -b on your laptop and share your /var/packages |
58 |
>> emerge -K on the workstations when your laptop is on the network |
59 |
>> |
60 |
>> step 2 goes amazingly quickly - eyeball the list to be emerged, they |
61 |
>> should all be purple, press enter. About a minute or two per |
62 |
>> workstation, as opposed to however many hours the build took. |
63 |
> |
64 |
> The thing is my laptop goes with me all over the place and is very |
65 |
> rarely on the same network as the bulk of the laptop clients. Most of |
66 |
> the time I'm on a tethered and metered cell phone connection |
67 |
> somewhere. Build time itself really isn't a big deal. I can have the |
68 |
> clients update overnight. Whether the clients emerge or emerge -K is |
69 |
> the same amount of admnistrative work I would think. |
70 |
|
71 |
|
72 |
I see. So you give up the efficiency of binpkgs to get a system that at |
73 |
least works reliably. |
74 |
|
75 |
Within those constraints that probably is the best option. |
76 |
|
77 |
> |
78 |
>> 3. (OK, three points). Share your portage tree over the network. No |
79 |
>> point in syncing multiple times when you actually just need to do it once. |
80 |
> |
81 |
> Yep, I figure each physical location should designate one system to |
82 |
> host the portage tree and distfiles. |
83 |
|
84 |
|
85 |
-- |
86 |
Alan McKinnon |
87 |
alan.mckinnon@×××××.com |