Looking for a solution to implement a customized Ubuntu Update Server;
1. Around 50 Ubuntu Client machine's (sooner it will be around 250)
2. Going to deploy few Ubuntu, Debian and CentOS servers (i know centos doesnt comes in this requirement)
3. Few number of remote sites with all the IT Infrastructure.
My Goals are;
1. I need to setup an Ubuntu update Server which need to work like a DNS Server Style. Means,
a. Whenever this server updates the packages, these packages should be available for all the Ubuntu Clients and Servers in my network (so that all other Ubuntu does not need to go to internet for this)
b. Whenever a client request for a package, for example Totem player codec, the client should ask this package to my Local server, and this Local Server first should check in its disk for that package, if it finds, then it need to serve it to the client. Or if it didnt find it on the disk, then the Server should initiate a connection to Internet and download it and serve it to the client and the same time keep it in the server's disk so that it could serve to any other client who asks for this, without again going to the internet. (this is what i said a DNS Style). And by this procedure, we can make sure that, any packages which is required by any client, gets downloaded to our office only ONCE. which in turns save a lot of bandwidth.
2. A centralized mechanism to monitor all the machines in the network, like which are all the systems are updated, which are all the systems got security updates, which systems are vulnerable, etc.
3. A centralized way to filter the updates to clients, for example i need to groups our Procurement Department clients as PD-Group, Logistics department systems as LT-Group, etc. And i want to say something like updates or packages 1-10 is for PD-Group, 1-25 is for LT-Group, etc.
4. A mechanism which provides detailed logs of every security patch deployed to every server over the last few months/years (like last 6 months or last 2 years, etc), sorted by severity.
5. A mechanism to deploy a custom .deb of an internal application to all or for a particular group of systems.
6. I need to have a 'testing queue' someplace where i can assign a few test machines that will get the updates, but I wants to be the final authority for pushing them out.
7. A mechanism where i can place slave servers in each remote sites to handle the load and they should talk to the central server (in my office) and do the right thing.
As i was completely working with RH Linux systems for the last 9 years, i am getting much pain in getting touch with Ubuntu. So please guide me atleast showing some way to make things happen.
Awaiting your response...
Thanks in Advance...