1

I am guessing this is possible, however I am not sure what protocol(s) to use and pretty much the way to go about this.

Let's say for instance Open Office -- how could we set up our Ubuntu server to install programs (serve installation files) to clients on same LAN?

I have already set up a Ubuntu server with TFTP for PXE booting, however I do not know if this is possible to do something similar for example a menu from which clients could chose programs to install?

One way I could think of is to create a Samba share over NFS, but I have no experience with Samba shares - I don't know if it is possible to serve a menu from which they can select software to install?

Any tips, links - anything is appreciated.

dusz
  • 155
  • 4
  • http://askubuntu.com/questions/170348/how-to-make-my-own-local-repository – Deer Hunter May 21 '13 at 08:53
  • Check out Kickstart. That you can supply the clients while installation with a kickstart file where you can mark all the packages you want to install extra. I don't know about good Software distribution software for ubuntu, but I'm sure there are some. Back in the days we had a script running on the clients which was mounting a network share, check their computer class and run scripts for this computer class. But it was self written and like 12 years ago. nowadays there are probably more elegant ways to do so – Meiko Watu May 21 '13 at 11:43

1 Answers1

3

Yes, it is absolutely possible.

The Ubuntu Way

The "Ubuntu Way" (which is also the Debian way) would be to set up a local apt repository, and configure your client systems to get their updates from there.
The Ask Ubuntu question above (which Deer Hunter graciously provided for me to steal the link to) has a pretty good description of what's involved, and you can also find a number of tutorials on setting up a local apt server if you ask Google (many will be for Debian, but the process is effectively identical for Ubuntu except you'll get your packages from the Ubuntu project instead of Debian).

If you go this route many companies create one "meta package" that lists everything that should be installed on their systems, and then install that on each machine before they put it in the field. This makes it easier to make sure your systems are relatively consistent.

The Modern Unix Way

The "Modern Unix Way" is to use a configuration management tool to manage your client machines (Puppet and Chef are very popular, I use radmind because I have a history with it).
Configuration Management tools let you do more than just install software, but they certainly make that task much easier as well.
There is more of a learning curve with these tools as opposed to a local apt repository, but you might find the additional functionality you gain to be worth the effort, particularly if you're managing a lot of machines.

Given the choice I would deploy a configuration management system (possibly in conjunction with a local apt server if you want to minimize external bandwidth utilization).

voretaq7
  • 79,879
  • 17
  • 130
  • 214