Thomas Burns
2011-Nov-29 18:37 UTC
[CentOS] how to install standard software on systems with heterogeneous hardware?
I've been thinking about ways to proceed if I need to set up 5 machines with basically identical software but somewhat variable hardware. A simple approach would be to just set up my golden system and clone the disk, but the hardware differences would probably cause problems. One approach that appeals to me is to install minimal centos on the first system, add a few rpms after installation, do my desired config file tweaks, then somehow generate an rpm that depends on all the post-install rpms and contains my custom versions of the config files I tweaked. Then, to set up the other 4 systems, I'd use the kickstart file from the first, then yum localinstall my custom rpm, which would install all the dependencies and tweak all the config files. I assume the centos install would deal with the hardware differences. Does this idea make sense? What happens when two different rpms want to provide the same config file? Are there any other simple alternatives I have overlooked? What is the best practice when setting up identical software on multiple systems with heterogeneous hardware? mahalo, Dave
Johnny Hughes
2011-Nov-29 18:56 UTC
[CentOS] how to install standard software on systems with heterogeneous hardware?
On 11/29/2011 12:37 PM, Thomas Burns wrote:> I've been thinking about ways to proceed if I need to set up 5 > machines with basically identical software but somewhat variable > hardware. A simple approach would be to just set up my golden system > and clone the disk, but the hardware differences would probably cause > problems. > > One approach that appeals to me is to install minimal centos on the > first system, add a few rpms after installation, do my desired config > file tweaks, then somehow generate an rpm that depends on all the > post-install rpms and contains my custom versions of the config files > I tweaked. Then, to set up the other 4 systems, I'd use the kickstart > file from the first, then yum localinstall my custom rpm, which would > install all the dependencies and tweak all the config files. I assume > the centos install would deal with the hardware differences. Does this > idea make sense? What happens when two different rpms want to provide > the same config file? > > Are there any other simple alternatives I have overlooked? What is the > best practice when setting up identical software on multiple systems > with heterogeneous hardware?If I was doing a thousand machines, i would build an RPM to do it ... otherwise with just 4, I would just use this on the original: rpm -qa > somefile rsync somefile to the other machines and then: yum install $(cat somefile) I would then rsync the config files from the other machine to the new one. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 262 bytes Desc: OpenPGP digital signature URL: <http://lists.centos.org/pipermail/centos/attachments/20111129/9cbc5e0c/attachment.sig>
Scot P. Floess
2011-Nov-29 19:08 UTC
[CentOS] how to install standard software on systems with heterogeneous hardware?
You could setup Cobbler and koan install the other machines from the Cobbler server. Cobbler uses a nice templating engine (Cheetah) and I've managed to use that within the kickstart file Cobbler serves up to specify packages to install for a given machine. So for example on Machine A, I can have the foo package installed and on Machine B install the bar package... Cobbler even supports PXE booting clients to get installs started... On Tue, 29 Nov 2011, Thomas Burns wrote:> I've been thinking about ways to proceed if I need to set up 5 > machines with basically identical software but somewhat variable > hardware. A simple approach would be to just set up my golden system > and clone the disk, but the hardware differences would probably cause > problems. > > One approach that appeals to me is to install minimal centos on the > first system, add a few rpms after installation, do my desired config > file tweaks, then somehow generate an rpm that depends on all the > post-install rpms and contains my custom versions of the config files > I tweaked. Then, to set up the other 4 systems, I'd use the kickstart > file from the first, then yum localinstall my custom rpm, which would > install all the dependencies and tweak all the config files. I assume > the centos install would deal with the hardware differences. Does this > idea make sense? What happens when two different rpms want to provide > the same config file? > > Are there any other simple alternatives I have overlooked? What is the > best practice when setting up identical software on multiple systems > with heterogeneous hardware? > > mahalo, > Dave > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos >Scot P. Floess RHCT (Certificate Number 605010084735240) Chief Architect FlossWare http://sourceforge.net/projects/flossware http://flossware.sourceforge.net https://github.com/organizations/FlossWare
m.roth at 5-cent.us
2011-Nov-29 19:25 UTC
[CentOS] how to install standard software on systems with heterogeneous hardware?
Thomas Burns wrote:> I've been thinking about ways to proceed if I need to set up 5 > machines with basically identical software but somewhat variable > hardware. A simple approach would be to just set up my golden system > and clone the disk, but the hardware differences would probably cause > problems.First question: *how* heterogeneous? Do you have 32-bit systems, and 64-bit systems, and Itaintiums? AMD and Intel? Or are you just talking about peripherals?> > One approach that appeals to me is to install minimal centos on the > first system, add a few rpms after installation, do my desired config > file tweaks, then somehow generate an rpm that depends on all the > post-install rpms and contains my custom versions of the config files<snip> How about building one fully, getting a list of installed packages that does *not* mention the architecture, then, on each machine, yum -y install `cat packagelist`? Yes, I am assuming they're bootable, and have yum, but nothing else - a minimal install. mark
Lamar Owen
2011-Nov-29 19:50 UTC
[CentOS] how to install standard software on systems with heterogeneous hardware?
On Tuesday, November 29, 2011 01:56:59 PM Johnny Hughes wrote:> rpm -qa > somefile > > rsync somefile to the other machines and then: > > yum install $(cat somefile)[Note: Johnny's advice is good, and this reply is more addressed to the OP than to Johnny, as he already knows what I'm getting ready to post. The OP may not.] This will give all the same versions of the packages, which will mostly work, unless a version disappears between the 'rpm -qa' and the 'yum install' invocations. I've had that happen before, so in those instances, I use the helpful rpm -qa --queryformat "%{NAME}.%{ARCH}\n" > somefile line so that I get the names and the arches, but no versions (arch only needed if multilib desired, of course). Newlines are cosmetic, of course, and aren't really required by yum install. To get a listing of all the --queryformat variables, use: rpm --querytags and see the rpm man page for more information about --queryformat. I also tend to sort my package names in the pipeline so that somefile is human-readable.... and that helps when duplicating the major packages between versions (I've used that sequence going from one Fedora version to another, for instance). And a backup of /etc/yum.repos.d along with the gpg keys helps get things in order.
Deyan Stoykov
2011-Dec-01 12:05 UTC
[CentOS] how to install standard software on systems with heterogeneous hardware?
Thomas Burns wrote:> I've been thinking about ways to proceed if I need to set up 5 > machines with basically identical software but somewhat variable > hardware. A simple approach would be to just set up my golden system > and clone the disk, but the hardware differences would probably cause > problems.Not in my experience. I usually do a quick install on the target machine with a separate /boot partition and then clone everything from the source apart from swap and /boot. This way the target machine will have proper initrd with the required modules, such as storage drivers, at the first boot. Then boot in single mode, reconfig networking, modprobe.conf, fstab, hostname, etc., reboot and that's it. This assumes all machines are on the same arch and you don't use LVM or software RAID - otherwise it's more complicated then that. Regards, Deyan -- Deyan Stoykov, dstoykov at uni-ruse.bg System administrator Computing and Information Services Center University of Ruse