managing -current upgrades for a small subnet
I manage a subnet for my class. 25 laptops of 4 different makes, different HD sizes, ram etc. We're wireless and I manually assign IP addresses in order to control access to the wireless router from outside my "sandbox". All the machines run -current, and while some might ask why, it's because I can! Have for a few years now.
Problem is that it is quite time consuming to manually upgrade all the machines.
I'm looking for clues as to how to semi-automate this process. Anything I can broadcast to all the machines in the subnet? Cron job running on each machine?
You could set up a local repository by mirroring one of the public repositories with Alien Bob's Slackware Mirror script and then use a cron job to run slackpkg upgrade-all against your local mirror. That would be faster overall than having them connect to a public mirror individually and use less internet bandwidth.
I haven't done this automatically, but I think you should check first whether there are updates so you don't get any prompts coming back that you need to respond to.
All the usual warnings about automatically updating apply though - if you've been running -current for a few years you probably already knew that.
If you want safe.. Well by manually seeing whats being updated; you could to just fetch the upgrades on a machine ( allocate one for this ) put them on some kind of file server: if youre going to use slackpkg theres a download clp but you probably know that.
And in the same style gilead recommended have each machine do a cron job involveing pulling all of the fileserver, running upgradepkg against wherever, whatever is pulled ( of course there will be redundancies, but you could think of an alg for that if wanted ) .. N finally some kind of clean up would be nice
If you want to run the upgrade command manually but across all hosts you can use pssh to send parallel ssh commands
Here's how I do it.
I have a local mirror on my test machine, updated by a daily cron job thanks to mirror-slackware-current.sh.
slackpkg point to mirror1, where I run upgradepkg manually to see how it goes.
If everything's fine, I publish the updates to my LAN http mirror.
Other machines' slackpkg points to http://my.lan/mirror, and slackpg is run from cron job.
Kind of a "poor man deployment tool" without the hassle of advanced solutions like puppet.
I don't need a puppet-like tool for my family machines, but it might be worth the trouble for a larger network like yours.
|All times are GMT -5. The time now is 11:33 AM.|