On 01/10/2013 08:07, Grant wrote:
>>>>> Keeping all of the laptops 100% identical as far as hardware is
>>>>> central to this plan.  I know I'm setting myself up for big problems
>>>>> otherwise.
>>>>>
>>>>> I'm hoping I can emerge every package on my laptop that every other
>>>>> laptop needs.  That way I can fix any build problems and update any
>>>>> config files right on my own system.  Then I would push config file
>>>>> differences to all of the other laptops.  Then each laptop could
>>>>> emerge its own stuff unattended.
>>>>
>>>> I see what you desire now - essentially you want to clone your laptop
>>>> (or big chunks of it) over to your other workstations.
>>>
>>> That sounds about right.
>>>
>>>> To get a feel for how it works, visit puppet's web site and download
>>>> some of the test appliances they have there and run them in vm software.
>>>> Set up a server and a few clients, and start experimenting in that
>>>> sandbox. You'll quickly get a feel for how it all hangs together (it's
>>>> hard to describe in text how puppet gets the job done, so much easier to
>>>> do it for real and watch the results)
>>>
>>> Puppet seems like overkill for what I need.  I think all I really need
>>> is something to manage config file differences and user accounts.  At
>>> this point I'm thinking I shouldn't push packages themselves, but
>>> portage config files and then let each laptop emerge unattended based
>>> on those portage configs.  I'm going to bring this to the 'salt'
>>> mailing list to see if it might be a good fit.  It seems like a much
>>> lighter weight application.
>>
>> Two general points I can add:
>>
>> 1. Sharing config files turns out to be really hard. By far the easiest
>> way is to just share /etc but that is an all or nothing approach, and
>> you just need one file to be different to break it. Like /etc/hostname
>>
>> You *could* create a "share" directory inside /etc and symlink common
>> files in there, but that gets very tedious quickly.
>>
>> Rather go for a centralized repo solution that pushes configs out, you
>> must just find the one that's right for you.
> 
> Does using puppet or salt to push configs from my laptop qualify as a
> centralized repo solution?


yes



> 
>> 2. Binary packages are almost perfect for your needs IMHO, running
>> emerge gets very tedious quickly, and your spec is that all workstations
>> have the same USE. You'd be amazed how much time you save by doing this:
>>
>> emerge -b on your laptop and share your /var/packages
>> emerge -K on the workstations when your laptop is on the network
>>
>> step 2 goes amazingly quickly - eyeball the list to be emerged, they
>> should all be purple, press enter. About a minute or two per
>> workstation, as opposed to however many hours the build took.
> 
> The thing is my laptop goes with me all over the place and is very
> rarely on the same network as the bulk of the laptop clients.  Most of
> the time I'm on a tethered and metered cell phone connection
> somewhere.  Build time itself really isn't a big deal.  I can have the
> clients update overnight.  Whether the clients emerge or emerge -K is
> the same amount of admnistrative work I would think.


I see. So you give up the efficiency of binpkgs to get a system that at
least works reliably.

Within those constraints that probably is the best option.

> 
>> 3. (OK, three points). Share your portage tree over the network. No
>> point in syncing multiple times when you actually just need to do it once.
> 
> Yep, I figure each physical location should designate one system to
> host the portage tree and distfiles.


-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to