1 |
>>>> I realized I only need two types of systems in my life. One hosted |
2 |
>>>> server and bunch of identical laptops. My laptop, my wife's laptop, |
3 |
>>>> our HTPC, routers, and office workstations could all be on identical |
4 |
>>>> hardware, and what better choice than a laptop? Extremely |
5 |
>>>> space-efficient, portable, built-in UPS (battery), and no need to buy |
6 |
>>>> a separate monitor, keyboard, mouse, speakers, camera, etc. Some |
7 |
>>>> systems will use all of that stuff and some will use none, but it's |
8 |
>>>> OK, laptops are getting cheap, and keyboard/mouse/video comes in handy |
9 |
>>>> once in a while on any system. |
10 |
>>> |
11 |
>>> Laptops are a good choice, desktops are almost dead out there, and thin |
12 |
>>> clients nettops are just dead in the water for anything other than |
13 |
>>> appliances and media servers |
14 |
>>> |
15 |
>>>> What if my laptop is the master system and I install any application |
16 |
>>>> that any of the other laptops need on my laptop and push its entire |
17 |
>>>> install to all of the other laptops via rsync whenever it changes? |
18 |
>>>> The only things that would vary by laptop would be users and |
19 |
>>>> configuration. |
20 |
>>> |
21 |
>>> Could work, but don't push *your* laptop's config to all the other |
22 |
>>> laptops. they end up with your stuff which might not be what them to |
23 |
>>> have. Rather have a completely separate area where you store portage |
24 |
>>> configs, tree, packages and distfiles for laptops/clients and push from |
25 |
>>> there. |
26 |
>> |
27 |
>> I actually do want them all to have my stuff and I want to have all |
28 |
>> their stuff. That way everything is in sync and I can manage all of |
29 |
>> them by just managing mine and pushing. How about pushing only |
30 |
>> portage configs and then letting each of them emerge unattended? I |
31 |
>> know unattended emerges are the kiss of death but if all of the |
32 |
>> identical laptops have the same portage config and I emerge everything |
33 |
>> successfully on my own laptop first, the unattended emerges should be |
34 |
>> fine. |
35 |
> |
36 |
> Within those constraints it could work fine. The critical stuff to share |
37 |
> is make.conf and /etc/portage/*, everything else can be shared to |
38 |
> greater or lesser degree and you can undo things on a whim if you wish. |
39 |
> |
40 |
> There's one thing that we haven't touched on, and that's the hardware. |
41 |
> Are they all identical hardware items, or at least compatible? Kernel |
42 |
> builds and hardware-sensitive apps like mplayer are the top reasons |
43 |
> you'd want to centralize things, but those are the very apps that will |
44 |
> make sure life miserable trying to fins commonality that works in all |
45 |
> cases. So do keep hardware needs in mind when making purchases. |
46 |
|
47 |
Keeping all of the laptops 100% identical as far as hardware is |
48 |
central to this plan. I know I'm setting myself up for big problems |
49 |
otherwise. |
50 |
|
51 |
> Personally, I wouldn't do the building and pushing on my own laptop, |
52 |
> that turns me inot the central server and updates only happen when I'm |
53 |
> in the office. I'd use a central build host and my laptop is just |
54 |
> another client. Not all that important really, the build host is just an |
55 |
> address from the client's point of view |
56 |
|
57 |
I don't think I'm making the connection here. The central server |
58 |
can't do any unattended building and pushing, correct? So I would |
59 |
need to be around either way I think. |
60 |
|
61 |
I'm hoping I can emerge every package on my laptop that every other |
62 |
laptop needs. That way I can fix any build problems and update any |
63 |
config files right on my own system. Then I would push config file |
64 |
differences to all of the other laptops. Then each laptop could |
65 |
emerge its own stuff unattended. |
66 |
|
67 |
>> OK, I'm thinking over how much variation there would be from laptop to |
68 |
>> laptop: |
69 |
>> |
70 |
>> 1. /etc/runlevels/default/* would vary of course. |
71 |
>> 2. /etc/conf.d/net would vary for the routers and my laptop which I |
72 |
>> sometimes use as a router. |
73 |
>> 3. /etc/hostapd/hostapd.conf under the same conditions as #2. |
74 |
>> 4. Users and /home would vary but the office workstations could all be |
75 |
>> identical in this regard. |
76 |
>> |
77 |
>> Am I missing anything? I can imagine everything else being totally |
78 |
>> identical. |
79 |
>> |
80 |
>> What could I use to manage these differences? |
81 |
> |
82 |
> I'm sure there are numerous files in /etc/ with small niggling |
83 |
> differences, you will find these as you go along. |
84 |
> |
85 |
> In a Linux world, these files actually do not subject themselves to |
86 |
> centralization very well, they really do need a human with clue to make |
87 |
> a decision whilst having access to the laptop in question. Every time |
88 |
> we've brain-stormed this at work, we end up with only two realistic |
89 |
> options: go to every machine and configure it there directly, or put |
90 |
> individual per-host configs into puppet and push. It comes down to the |
91 |
> same thing, the only difference is the location where stuff is stored. |
92 |
|
93 |
I'm sure I will need to carefully define those config differences. |
94 |
Can I set up puppet (or similar) on my laptop and use it to push |
95 |
config updates to all of the other laptops? That way the package I'm |
96 |
using to push will be aware of config differences per system and push |
97 |
everything correctly. You said not to use puppet, but does that apply |
98 |
in this scenario? |
99 |
|
100 |
> I'm slowly coming to conclsuion that you are trying to solve a problem |
101 |
> with Gentoo that binary distros already solved a very long time ago. You |
102 |
> are forcing yourself to become the sole maintainer of GrantOS and do all |
103 |
> the heavy lifting of packaging. But, Mint and friends already did all |
104 |
> that work already and frankly, they are much better at it than you or I. |
105 |
|
106 |
Interesting. When I switched from Windows about 10 years ago I had |
107 |
only a very brief run with Mandrake before I settled on Gentoo so I |
108 |
don't *really* know what a binary distro is about. How would this |
109 |
workflow be different on a binary distro? |
110 |
|
111 |
- Grant |