Slashdot Mirror


Cross-Distro Remote Package Administration?

tobiasly writes "I administer several Ubuntu desktops and numerous CentOS servers. One of the biggest headaches is keeping them up-to-date with each distro's latest bugfix and security patches. I currently have to log in to each system, run the appropriate apt-get or yum command to list available updates, determine which ones I need, then run the appropriate install commands. I'd love to have a distro-independent equivalent of the Red Hat Network where I could do all of this remotely using a web-based interface. PackageKit seems to have solved some of the issues regarding cross-distro package maintenance, but their FAQ explicitly states that remote administration is not a goal of their project. Has anyone put together such a system?"

209 comments

  1. Remote admin of a UNIX box? by Nursie · · Score: 1, Interesting

    No, nobody ever tried that before.

    Hmmm... let's see. SSH ring any bells? Or are you actually going up and sitting at the box to do these updates?

    1. Re:Remote admin of a UNIX box? by backwardMechanic · · Score: 3, Insightful

      Maybe that works for your home network, but SSH'ing to 25 or (maybe a lot) more different boxes to repeat the same task is a bit tedious. Hey, doesn't this sound like the kind of automated task a computer might be good at?

    2. Re:Remote admin of a UNIX box? by Nursie · · Score: 5, Insightful

      Uh, right. Like putting ssh commands into a script?

      ssh user@host aptitude update

      Set up key based login and you don't even have to type passwords. By the sounds of it he needs to pay some attention to each individual machine anyway, as he has multiple distros and wants to determine which patches he needs for each box.

    3. Re:Remote admin of a UNIX box? by supernova_hq · · Score: 1

      Actually, I remember reading a year or so ago about a program that would allow you to run a specified command via ssh on a list of machines. You could do this with a shell-script (pass arguments), but I think the program also did it all in parallel and showed some output as well.

      Damned if I can find it...

    4. Re:Remote admin of a UNIX box? by supernova_hq · · Score: 4, Informative

      Sorry to reply to my own post, but circlingthesun actually posted the name of it below!

      clusterssh

    5. Re:Remote admin of a UNIX box? by BruceCage · · Score: 5, Interesting

      Set up key based login and you don't even have to type passwords.

      Since you basically need root access to do updates this definitely poses a security hazard as when your client is compromised there is direct access to the server. Then again, an attacker could always use a keylogger to capture the password anyways.

      If you even attempt to do this I'd setup a different user account specifically for the process of updating and limit the rights accordingly and then I'd restrict the commands that can be executed (you can do this per key).

      There may actually be better ways but I'm not a very experienced sysadmin. Most experience I have is from managing a single web server and my local desktop obviously. Be sure to correct me (in a friendly manner) if I'm wrong.

      Then again, if you do this from the same machine as your normal account is located on you'll still have the same issues in case of a compromised client. Probably just best to limit every single account to just that what is specifically needed and setup proper host based intrusion detection (OSSEC?) to be notified when something goes wrong. This stuff is hard...

      --
      Perfect is the enemy of done.
    6. Re:Remote admin of a UNIX box? by Nursie · · Score: 0, Redundant

      That does actually sound really cool and could be a huge timesaver for admins with a large suite of similar machines.

    7. Re:Remote admin of a UNIX box? by walt-sjc · · Score: 4, Informative

      It's called "dssh". Google is your "search" friend (we will ignore the evil side of Google at the moment... :-)

    8. Re:Remote admin of a UNIX box? by walt-sjc · · Score: 1

      You create a local script that runs on each server that "pulls" updates and installs them, logging the results (alerting if something failed.) If you need to do Out Of Schedule updates, you can manually kick off the updates using a limited priv account that has explicit (restricted) sudo ability.

      Local packages are easier if they are all the same style package (I prefer dpkg's - apt is available for CentOS too.) Running a mixed distro system still means you have to build packages multiple times which is a PITA however. If you don't mind the size hit however, you can link statically so you can run the same binaries on all systems...

    9. Re:Remote admin of a UNIX box? by dna_(c)(tm)(r) · · Score: 2, Informative

      Never use ssh+password. Always use ssh+PKI. I think you missed "key" and focused on "[no] password"

      From Ubuntu wiki SSHHowto:

      If your SSH server is visible over the Internet, you should use public key authentication instead of passwords if at all possible.

    10. Re:Remote admin of a UNIX box? by Anonymous Coward · · Score: 0

      dsh

    11. Re:Remote admin of a UNIX box? by MikeBabcock · · Score: 3, Informative

      IMHO, a good sysadmin is the one who sees such issues and finds or writes a script to do it for them.

      (That's "you're both right")

      for address in addresses; do
            ssh $address 'touch /var/lib/triggers/update'
      done

      With an obvious job on the machines watching for such trigger files (to avoid root access, etc.)

      if [ -f $TRIGGERFILE ]; then
            yum -y update 2>&1| tee /tmp/yum_trigger.log \
            && rm -f $TRIGGERFILE
      fi

      --
      - Michael T. Babcock (Yes, I blog)
    12. Re:Remote admin of a UNIX box? by malinha · · Score: 2, Interesting
    13. Re:Remote admin of a UNIX box? by Anonymous Coward · · Score: 2, Informative

      Using keyfiles doesn't mean no password. Most ssh guides that talk about keyfiles actually suggest to protect them with a password. Why? Well, like the GP said (what you obviously somehow missed), as soon as one client is somehow compromised you would have root access to every server.

      Using passwords doesn't mean you don't use keyfiles. And using keyfiles doesn't mean you don't have to enter passwords. The way to go is ssh+PKI+password+ssh_agent.

    14. Re:Remote admin of a UNIX box? by Shawndeisi · · Score: 1

      Even having a user that can only update (say, sudo and yum) is dangerous. If you're not careful about how your sudo is set up, you'll introduce the possibility of installing malicious software or the attacker getting a root shell anyhow. For example, I could make a evil.rpm containing a setuid root bash shell that it installs as root.

      The safest implementation then would likely be to lock yum down, only allowing update/install from trusted repositories. You would have to set sudo up to not allow commands like "yum localinstall evil.rpm"

    15. Re:Remote admin of a UNIX box? by Lord+Ender · · Score: 1

      The best way to handle a situation like this is to have an account used only for updateing, have all logs going to a central syslog server, and have a log monitoring system like OSSEC send you alerts whenever the special account is used.

      You should never see these alerts, except during maintenance windows.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    16. Re:Remote admin of a UNIX box? by BruceCage · · Score: 2, Informative

      Exactly, the confusion here might be in the terminology. Password versus passhrase.

      Anyways, just using keys doesn't magically make everything more secure, it just negates brute force password attacks. From the few high profile cases I remember the compromise was the result of somebody's private key being compromised (e.g. the Debian compromises).

      The only true solution is a combination of the principle of least privilege, sandboxing (SELinux etc.), proper monitoring and a whole host of other security measures.

      --
      Perfect is the enemy of done.
    17. Re:Remote admin of a UNIX box? by Anonymous Coward · · Score: 0

      Since you basically need root access to do updates this definitely poses a security hazard as when your client is compromised there is direct access to the server. Then again, an attacker could always use a keylogger to capture the password anyways.

      SSH in as an admin user, and then run a set-UID program that exec()s the update command/script.

      $ id
      uid=1001(adminuser) gid=1001(admingrp)
      $ ls -l admin-update
      -rwsr-x--- 1 root admingrp 39884 2009-03-02 08:57admin-update
      $ cat admin-update.c

      #include [sys/types.h]
      #include [unistd.h]
      #include [stdio.h]
      #include [errno.h]

      int main(void)
      {
              int result;
              const char BIN[] = "/usr/bin/yum";
              const char CMD[] = "yum";
                      const char ARG[] = { "-y", "update" };

              result = execl(BIN, CMD, ARG[0], ARG[1], NULL);

              printf ("Could not exec: %s\n", strerror(result));
              exit (1);
      }

      (This code isn't guaranteed to run/work, but you get the idea.)

    18. Re:Remote admin of a UNIX box? by SanityInAnarchy · · Score: 1

      Or, better -- have your update script be setuid. Or better yet, have it mentioned in sudoers. Then, your command would be something like:

      ssh updates@$address 'sudo /usr/local/sbin/do_updates'

      Then, even something as simple as Capistrano to parallize it across machines. As a cap script, this would be even simpler:

      task 'update' do
        sudo '/usr/local/sbin/do_updates'
      end

      Of course, once you get to more than 100 machines, you really need something more sophisticated. Puppet might be one option...

      --
      Don't thank God, thank a doctor!
    19. Re:Remote admin of a UNIX box? by Anonymous Coward · · Score: 0

      I don't have a ton of systems to admin, but for SSH I use a key that requires a passphrase, then I can use it for 3 hours (configurable, but that's a reasonable number for home use.) using the information at http://sial.org/howto/openssh/publickey-auth/

      Is that really such a bad trade off? I can authenticate once and for three hours I can access any of my machines without using a password again.

    20. Re:Remote admin of a UNIX box? by Bungie · · Score: 2, Funny

      Actually, I remember reading a year or so ago about a program that would allow you to run a specified command via ssh on a list of machines. You could do this with a shell-script (pass arguments), but I think the program also did it all in parallel and showed some output as well.

      I think many rootkits do the same thing. You can run a command (via irc) on a list of machines and return output to the channel (in parallel). The best update and control solution is to rootkit your own boxes and maintain them via IRC. Problem solved.

      --
      The clash of honour calls, to stand when others fall.
    21. Re:Remote admin of a UNIX box? by kv9 · · Score: 1

      I use dsh + key auth on all boxen.

    22. Re:Remote admin of a UNIX box? by SiChemist · · Score: 0, Troll

      The first comment on this page: http://www.debian-administration.org/article/Use_ssh_on_multiple_servers_at_one_time is a cool little tip:

      If you're using KDE, just use Konsole, open a tab for each server, and on the tab you're working on, click 'Send input to all sessions'.

      Thanks, vegiVamp!

    23. Re:Remote admin of a UNIX box? by nko321 · · Score: 1

      You might consider having a machine or VM dedicated to being an admin console. You remote into that machine to do any work.

      And with key based authentication, key(board) loggers aren't a worry.

    24. Re:Remote admin of a UNIX box? by qw(name) · · Score: 1

      If your looking for something similar to Red Hat Network why don't you use the open source version of Red Hat Network, Spacewalk? All the goodness without all the mess.

      http://www.redhat.com/spacewalk/

    25. Re:Remote admin of a UNIX box? by turbidostato · · Score: 1

      "Maybe that works for your home network, but SSH'ing to 25 or (maybe a lot) more different boxes to repeat the same task is a bit tedious."

      Even for the more command line-disabled, konsole (and I'bet the Gnome version does this too) has the ability to "echo" commands to a series of tabbed terminals. Join this to key-based authentication for ssh and KDE's ability to remember your session and you are done, beating Windows even on its own, GUIfied field.

      Now, of course, once you go beyond a dozen boxes you should rely on scripting (how much will it take you a simple for loop?) and/or centralized administration (puppet/cfengine).

    26. Re:Remote admin of a UNIX box? by MikeBabcock · · Score: 1

      ... so that when my connection drops, the session ends in a HUP? No thanks.

      I signal remote process execution, I don't execute long-running non-interactive processes through SSH.

      --
      - Michael T. Babcock (Yes, I blog)
    27. Re:Remote admin of a UNIX box? by BruceCage · · Score: 1

      And with key based authentication, key(board) loggers aren't a worry.

      They're not? Correct me if I'm wrong but if there's a keylogger on your system your private key has already been compromised and all that the attacker needs is the passphrase. It may even be possible to simply do stuff behind the users back while the passphrase is cached.

      Same reason I'm not sure if your idea about introducing another machine or VM and then remoting into that makes sense. A dedicated machine would help but you'd actually need to have a KVM switch.

      --
      Perfect is the enemy of done.
    28. Re:Remote admin of a UNIX box? by dna_(c)(tm)(r) · · Score: 1

      I use one box [Mine] to administrate [a lot off] other boxes.

      Those other boxes have an account xxx to administer them, and during setup install sshd and allow for passwordless login, generate the necessary ssh PKI keys (ssh-keygen) and publish the public key to my [Mine] (ssh-copy-id).

      Now I can log in to [a lot off] boxes from [Mine] with xxx without a password for xxx@somebox

      There is a very decent article for Ubuntu: AutomatedNodeDeployment#SSH

    29. Re:Remote admin of a UNIX box? by dna_(c)(tm)(r) · · Score: 1

      I was too eager to explain, without actually answering, sorry.

      soon as one client is somehow compromised you would have root access to every server

      If one client is compromised, only that client is compromised. As long as the administrators [Mine] is not compromised.

      Most ssh guides that talk about keyfiles actually suggest to protect them with a password

      That is a local issue on [Mine]: have a password for your keystore to access your private key. In the scenario where you manage the multiple clients or servers from a single box, [Mine], interactively, you would be prompted for a password to your keystore ONCE.

      If you want to do that via a cron job or something, use a dedicated user account on [Mine] and don't have a password on that users keystore...

    30. Re:Remote admin of a UNIX box? by SanityInAnarchy · · Score: 1

      Point well taken, but it seems to me that touching a tempfile and having a cron job pick it up is incredibly hackish.

      The one flaw you've identified with my suggestion could be corrected with a fork, or a & in the command.

      --
      Don't thank God, thank a doctor!
    31. Re:Remote admin of a UNIX box? by MikeBabcock · · Score: 1

      Just a question, but what's wrong with hacks? :) I love a good hack.

      More importantly, what on earth is hackish about trigger files?

      Also, I don't use cron for such jobs, I use daemontools.

      --
      - Michael T. Babcock (Yes, I blog)
    32. Re:Remote admin of a UNIX box? by SanityInAnarchy · · Score: 1

      I don't know if I can really explain how a trigger file is hackish, if you don't see it already.

      You're creating a file -- and with most filesystems, it's likely hitting a disk -- for the sole purpose of triggering a task. A task which, again, could have easily been launched by simply backgrounding something with whatever connection you had.

      Maybe I'm just OCD, but that just seems wasteful and unreliable... I mean, there's going to be a delay, and some wasted CPU polling it, unless you're watching it with something like inotify.

      The only case I can see where I'd prefer a trigger file is for things like Passenger, which is designed to bring Rails hosting to the level of PHP hosting -- that is, to a place where you could conceivably give someone something like FTP access (instead of SSH access). In such an environment, being able to touch a file is... still a brutal hack, but at least has a purpose.

      And I kind of like daemontools in theory, but gave up on them after too long struggling with them in Debian/Ubuntu. DJB writes some good stuff, but it became irrelevant for the same reasons Minix did.

      --
      Don't thank God, thank a doctor!
  2. what's wrong with a cron job? by Anonymous Coward · · Score: 0

    yum -y update

    1. Re:what's wrong with a cron job? by snugge · · Score: 0

      maybe this requirement?

      "determine which ones I need"...

  3. Tools exist by PeterBrett · · Score: 5, Informative
    1. Create a local package repository for each distro.
    2. Set apt/yum to point at only the local repository.
    3. Create a cron job on each box to automatically update daily.
    4. When you want to push a package update out to all boxes, copy it from the public repository to the local one.
    5. Profit!
    1. Re:Tools exist by drsmithy · · Score: 1

      Exactly. This is basically your DIY RH Satellite server It's the model we use, although we don't have the Ubuntu machines to deal with.

    2. Re:Tools exist by Jurily · · Score: 4, Informative

      When you want to push a package update out to all boxes, copy it from the public repository to the local one.

      Assuming of course all boxes have the same version of the OS, the same packages installed, etc.

      I suggest tentakel, and that OP could have found it in 2 minutes with Google. I did.

      http://www.google.co.uk/search?q=multiple+linux+remote+administration The first hit mentions it.

    3. Re:Tools exist by JohnnyKlunk · · Score: 2, Interesting

      Totally agree, I know this is /. and we hate windows - but it's similar to the way WSUS works - and since the introduction of WSUS I haven't given this question a second thought. You can set up different boxes to get updates on different schedules so the pilot boxes always get them first, then production boxes over a few days in a rolling pattern.

    4. Re:Tools exist by supernova_hq · · Score: 2, Insightful

      A cron job? Just set the update-manager to run every morning and automatically download AND install all updates.

      You sub 7-digit uid guys always do everything the hard way!

    5. Re:Tools exist by value_added · · Score: 4, Interesting

      Assuming of course all boxes have the same version of the OS, the same packages installed, etc.

      And segregating things on the system that hosts the public repository is impossible?

      I don't think any of this is exactly rocket science. On my home LAN where I use FreeBSD, for example, I have a motley collection of hardware ranging from Soekris boxes to Opterons. Everything gets built on a central build server and distributed automagically from there using a setup similar to what's suggested the OP. Not a single box has the same collection of userland software installed, while certain boxes do get their own custom world/kernel. None of this really requires more effort or involvement on my part than some careful thought beforehand.

      One of the nice advantages of a centralised setup is that it accommodates a clean way of testing things beforehand. Rolling out the latest but broken version of "foo" to multiple systems is something to be avoided.

    6. Re:Tools exist by LinuxAndLube · · Score: 1

      That seems to easy!

    7. Re:Tools exist by xouumalperxe · · Score: 2, Insightful

      Assuming of course all boxes have the same version of the OS, the same packages installed, etc.

      Regarding having the same packages installed, you "only" need to make sure your local repos have all the packages that are used across your install base. The machines will then pull only their own updates, with no fuss. Regarding the heterogeneity... tough cookie. Either you have something more or less homogeneous and you can automate the process, or you're stuck doing things by hand. Especially once you enter the realm of "review each available update by hand and determine whether it's relevant", as the OP asked for. You can't have that and useful automation with 10 different distro/version setups.

    8. Re:Tools exist by Antique+Geekmeister · · Score: 1

      You missed the RedHat model. 5. Insert Oracle server for no good reason. 6. Profit!

    9. Re:Tools exist by comcn · · Score: 3, Informative

      As another "sub 7-digit guy" - there is a reason for this... There is no way I'm going to let over 60 servers automatically install patches without me checking them first! Download, yes. Install, no.

      At work we use cfengine to manage the servers, with a home-built script that allows servers to install packages (of a specified version). Package is checked and OK? Add it to the bottom of the text file, GPG sign it, and push it into the repository. cfengine takes care of the rest (our cf system is slightly non-standard, so everything has to be signed and go through subversion to actually work).

    10. Re:Tools exist by IainCartwright · · Score: 1

      You sub 7-digit uid guys always do everything the hard way!

      Like say, reading the summary before opening our yaps?

    11. Re:Tools exist by Antique+Geekmeister · · Score: 2, Informative

      For RedHat? No. 'yum update' is fairly resource intensive. And changing applications in the middle of system operations is _BAD, BAD, BAD_ practice. I do _not_ want you silently updating MySQL or HTTPD in the midst of production services, because the update process may introduce an incompatibility with the existing configurations, especially if some fool has been doing things like installing CPAN or PHP modules without using RPM packages, or has manually stripped out and replaced Apache without RPM management.

      And heaven forbid that you have a kernel with local modifications and special patches for special hardware whose version number is exceeded by the next RedHa kernel, and it replace yours, and the hardware fail to boot at the next reboot. That is very painful indeed to cope with if you haven't set up remote boot management or spent extra effort to lock down your packages.

      We oldtimers, low uid or not, have been burned enough to know not to lick the frozen lightpole.

    12. Re:Tools exist by RiotingPacifist · · Score: 1

      Assuming of course all boxes have the same version of the OS, the same packages installed, etc.

      How so? I'm fairly sure most repositories deal with multiple versions, and just because a repo has a package doesn't mean it's installed on all computers that connect to it. As a single box can serve as both a debian and RPM repo.

      --
      IranAir Flight 655 never forget!
    13. Re:Tools exist by lamapper · · Score: 1

      As another "sub 7-digit guy" - there is a reason for this... There is no way I'm going to let over 60 servers automatically install patches without me checking them first! Download, yes. Install, no

      Great post and my sentiments exactly. Download yes, but install only after I have performed testing on at least one box and really utilized that box. The last thing I want is to load up junk on anyone elses box or a production server.

      As for those that mentioned concern with someone hacking in and getting access to your desktops or servers, if your hardware / firewall router is doing its job and you are actively monitoring both outgoing and incoming packets for suspicious activity, you know if the systems behind your firewall/router are secure or not.

      Having Linux (probably same with Macs) instead of MS lets me sleep much better. But I am still monitor, test before updating additional machines. Just the smart safe way.

      --
      Is your Internet Throttled? Install DD-Wrt, OpenWRT or Tomato to learn the truth! Google: 1Gbps/1Gbps: 5 Communities
    14. Re:Tools exist by supernova_hq · · Score: 1

      You have 60 servers and you don't have a controlled local repository?? I feel sorry for the shared repos that have to deal with all you guys updating your 60+ servers all at the same time...

    15. Re:Tools exist by Anonymous Coward · · Score: 0

      Wow!,

          Lets intentionally make our lives more difficult. Pick 3 versions of the same Centos with varying versions of different installed packages, Centos 4.x, 5.0 & 5.2. If my Windows folks did that I'd hit them. One OS with common installed parts and pieces. I have 3000 desktops and 200 Citrix servers and by gosh they had sure better be close ( 100% ) in configuration.

      Are you doing this on purpose or did you inherit different OS boxes ?
      Hint - Managing / configuring 10 boxes that are the same is roughly akin to managing 1.
      But I'll let you figure that out.

    16. Re:Tools exist by Anonymous Coward · · Score: 0

      They are in the process of removing the dependency on Oracle. See the Spacewalk project - https://fedorahosted.org/spacewalk/.

    17. Re:Tools exist by SCHecklerX · · Score: 1

      What PeterBrett said. Where I work, we can't do it the easy way because of security requirements, but the methodology still works. We just have to rsync the various repos each day, and the cron job just points to the local repo on each box instead of central ones hanging out somewhere.

    18. Re:Tools exist by MikeBabcock · · Score: 2, Informative

      Its easier to run your own update mirror and have your clients pull the updates list from that.

      IMHO.

      --
      - Michael T. Babcock (Yes, I blog)
    19. Re:Tools exist by techess · · Score: 1

      Just use the exclude option in yum. It is easy when you setup a box to create a yum script that either automatically runs or you run manually by whatever method you prefer that excludes the packages you don't want installed. Exclude the kernel on boxes that have a custom kernel and exclude production apps on server machines.

      The downside is that it is up to your staff to keep track of what doesn't auto update on what machine. This is easy with RHN service. I've heard good things about puppet, but haven't tried it.

      --
      Don't anthropomorphize computers. They *hate* that.
    20. Re:Tools exist by tobiasly · · Score: 1

      Thanks for the suggestion, but this and other solutions like Puppet and CFEngine solve only half the problem, which is actually pushing out the patches. The part that's really missing is a way to easily identify the available patches from the distro for that particular machine. When I log on to Red Hat Network it has a list like "10 of your 12 systems are up to date" and you can see which systems need updating, which packages are available for install on them, and actually schedule those patches for install.

      I guess I should have mentioned that for various reasons these servers are spread across multiple hosting companies at disparate locations, and no two of them have the same exact list of packages etc. installed. So I need a much more federated setup (like RHN) where each machine checks on its own whether it is up to date and reports those results back to the central server.

    21. Re:Tools exist by tobiasly · · Score: 1

      Yes, I could have found that myself (in much less than 2 minutes) if a distributed command execution tool were anything at all close to what I was looking for.

    22. Re:Tools exist by tobiasly · · Score: 1

      It's obvious that my biggest mistake when submitting this question is the assumption that many people would actually know what the Red Hat Network does. I want an open source system that I can run on my own server that duplicates the functionality of RHN. That means:

      1. Each machine runs its own cron job to determine (through the regular yum repo mechanism) which updates are available
      2. Each machine publishes that list to the server.
      3. I can log in to the server, see which updates are available for each machine, view the errata details for each update, and decide for each whether to push to the client.
      4. The next time the client checks back in, the server tells it that I want to install patch X, Y, and Z.

      That's really all I meant by reviewing each available update. Just a quick sanity check so that the system isn't in full-auto update mode.

    23. Re:Tools exist by comcn · · Score: 1

      We're a university - we run a local Debian mirror.

    24. Re:Tools exist by comcn · · Score: 1

      ...and to add to that, all servers have an Apt proxy setting pointing them to a squid proxy, so security.debian.org doesn't get hit hard either - this is something that anyone can do, even without a local mirror.

      The whole system was not described in one measly little /. post...

    25. Re:Tools exist by ckaminski · · Score: 1

      Frankly, I think you're out of luck. Just as there's no real non-commercial centralized Unix administration tools out there.

      Krb5 + Autofs + NFS + SSH + updates from a central control station or three - just not there. Someday, maybe.

    26. Re:Tools exist by lgarner · · Score: 1

      Cfengine is another option.

    27. Re:Tools exist by Anonymous Coward · · Score: 0

      burned enough to know not to lick the frozen lightpole.

      That's the lesson some people take away from their childhood. I, on the other hand, always carry a lighter in winter nowadays.

    28. Re:Tools exist by Thuktun · · Score: 1

      lick the frozen lightpole

      This sounds like an excellent band name.

    29. Re:Tools exist by turbidostato · · Score: 1

      Since you are going to mandate "visual approval" there're no tools because it's trivially simple:

      Install a local proxy in order to save bandwith (i.e.: apt-proxy).
      Install cron-apt so each box mails you in case of updates and tells you which are them.
      Run -on your own box (no need of repeated stuff), apt-listbugs against the offending packages.
      Run, maybe using some of the already mentioned "echoing" terminals, the desired updates.

      If you want to go a bit more sofisticated, a less than ten lines script will read your list of packages from a file, one package name per line, once you approved them, and install them by ssh looping through the machines you provide on a different config file.

      If you want to go even a bit more sofisticated, you force an "always automatic upgrades" policy but only from your own managed repo (which you in turn update following informations from respective security lists).

      If you want to go really sofisticated, you use puppet or cfengine and push selectable upgradings out of an LDAP or database server.

      Knowing which packages are installed on which machine is a matter of "dropping" the output of a remote invocation of magics like `dpkg --get-selections` or `rpm -qa` to a file which in turn you can massage through wc, sed and/or diff as you need.

      But all in all, I would go with a distribution that will make easy to choose your upgrades. I.e.: selectable upgrades on Debian Stable? Easy: all of them (of course you use the "codename", not the tag, on your sources).

    30. Re:Tools exist by turbidostato · · Score: 1

      " I do _not_ want you silently updating MySQL or HTTPD in the midst of production services, because the update process may introduce an incompatibility with the existing configurations"

      You wouldn't need to worry about that if you used a distribution that took stability with any seriousness.

      "especially if some fool has been doing things like installing CPAN or PHP modules without using RPM packages"

      There's an old tool specifically developed for that situations: it's called "a 22 club". In all seriousness that's what policies are for. They shouldn't install anything you can't cope with (i.e.: they always should use RPM packages). That alone certainly won't avoid some fool to oversee it, but it will protect your ass when shit hits the fan: you broke it, you bring together the pieces.

      "And heaven forbid that you have a kernel with local modifications and special patches for special hardware whose version number is exceeded by the next RedHa kernel, and it replace yours"

      It can't happen if you know your trade. That's what the "extraversion" field is for; no worry that anything coming from Red Hat will exceed my 2.6.26-MyCompany_0.0.1 kernel version.

    31. Re:Tools exist by turbidostato · · Score: 1

      "Red Hat Network it has a list like "10 of your 12 systems are up to date" and you can see which systems need updating, which packages are available for install on them, and actually schedule those patches for install."

      I recieve a mail in the morning from each machine with pending updates, and only if there're pending updates. While I don't schedule those, since I can install them "by hand" (well, automatically, through a script, but still not unattended) I don't have that functionally, but I know I easy could if the need arise.

      The magic? cron-apt.

    32. Re:Tools exist by supernova_hq · · Score: 1

      My point was that you can have the 60 server automatically install all updates if the repository it has access to only has updates you have approved.

  4. Webmin by trendzetter · · Score: 5, Interesting

    I recommend Webmin which 100% FOSS. I have found it reliable, flexible and feature-rich.

    1. Re:Webmin by ParanoidJanitor · · Score: 3, Interesting

      I have to second this. Webmin has everything you ask for and then some. If you have an update script on each machine, you could easily update all of your machines at once with the cluster management tools. I know it works well with APT (having used it myself), but I can't speak for any of the other package managers. In the worst case, it's still easy to push an update command to the non-apt machines through the Webmin cluster tools.

    2. Re:Webmin by gbjbaanb · · Score: 1

      it works well with YUM too - in fact, Webmin is one of the best admin things around. I think every project should be mandated to create a webmin administrative module before being allowed into the wild :)

    3. Re:Webmin by Anonymous Coward · · Score: 1, Interesting

      I third the Webmin idea - however do not expose Webmin's port to the outside world.
      Use SSH to tunnel the port to the remote host.
        One other thing, While Webmin is excellent and I do mean excellent(using since 2000)It does some strange things if you use it to modify SERVERS. (basically it appends new config data to foo.d.conf) that sometimes has undesirable effects on the given server(s) Apache being one that comes to mind first. Also this effect is NOT evident with all servers that you use Webmin to modify. But as a tool to do just about everything else and I DO mean everything, Webmin is rock solid.I would definitely recommend it.

      Oh yeah, good luck with Firefox and the self-signed SSL cert.

    4. Re:Webmin by altp · · Score: 1

      Just be sure to turn off the root user, setup the SSL, and change the port number to something else. I also like to limit webmin to a list of known IP addresses via its admin interface AND in iptables.

      Been using Webmin for longer than i can remember.

    5. Re:Webmin by bkonkle · · Score: 1

      I've used Webmin for remote cluster package administration before, and it's worked well. To update multiple servers running Debian, I've used the Cluster Command Shell feature to send `apt-get update && apt-get dist-upgrade -f -y` to multiple servers at once. Though Webmin definitely has minor issues here and there, overall it's been a great tool.

    6. Re:Webmin by Anonymous Coward · · Score: 0

      I recommend Webmin which 100% FOSS. I have found it reliable, flexible and feature-rich.

      I recommend Webmin also, I have a webmin cluster for all the centos servers to manage packages, run cron jobs, shell commands etc. I have setup another cluster webmin server to look after all ubuntu (can be on same server, but easier to amange) systems.

  5. clusterssh by circlingthesun · · Score: 5, Interesting

    allows you to ssh into multiple machines and execute the same command on all of them from one terminal window. So if you set up a shell script that detects a host's distro and then execute the relevant update command you should be sorted.

    1. Re:clusterssh by skeeto · · Score: 1

      So if you want to check the filesystems on many machines would it be called a clusterfsck?

      Or maybe that's what you call it when all the filesystems are damaged at the same time.

  6. You don't want it by mcrbids · · Score: 4, Interesting

    I admin several busy CentOS servers for my company. You don't probably want a fully web-based application:

    1) what happens when some RPM goes awry to borken your server(s)? Yes, it's pretty rare, but it DOES happen. In my case, I WANT to do them one by one in asc order of importance so that if anything is borked, it's most likely to be my least important systems!

    2) How secure is it? You are effectively granting root privs to a website - not always a good idea. (rarely, never)

    Me? I have a web doohickey to let me know when updates are available. Cron job runs nightly to yum and a pattern match identifies whether or not updates are needed, to show on my homepage. So it doesn't DO the update, butit makes it ez to see has been done.

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
    1. Re:You don't want it by galorin · · Score: 5, Informative

      Depending on how uniform your servers are, keep one version of CentOS and one version of Ubuntu running in a VM, and have these notify you when updates are available. When updates are available, test against these VMs, and do the local repository thing suggested by another person here. Do one system at a time to make sure something doesn't kill everything at once.

      Web based apps with admin privs are fine as long as they're only accessable via the intranet, strongly passworded, and no one else knows they're there. If you need to do remotely, VPN in to the site, and SSH into each box. You're an Administrtor, start administratorizing. Some things just shouldn't be automated.

    2. Re:You don't want it by franki.macha · · Score: 1

      You're an Administrtor, start administratorizing

      Administrating?

    3. Re:You don't want it by MikeBabcock · · Score: 1

      Certainly not englishicating :-)

      --
      - Michael T. Babcock (Yes, I blog)
    4. Re:You don't want it by Thantik · · Score: 1

      Impressive. Only 3 total google results for Administratorizing. You sir, are my hero.

    5. Re:You don't want it by tobiasly · · Score: 1

      Me? I have a web doohickey to let me know when updates are available. Cron job runs nightly to yum and a pattern match identifies whether or not updates are needed, to show on my homepage. So it doesn't DO the update, butit makes it ez to see has been done.

      Care to publish this somewhere? To be honest knowing which updates are available is a bigger concern to me than actually installing them. The latter is more a nice to have but all the other suggestions are concentrating mostly on that aspect.

      I'm close to just knuckling down and writing such a thing myself but it's always nice to not start from scratch.

    6. Re:You don't want it by tobiasly · · Score: 1

      2) How secure is it? You are effectively granting root privs to a website - not always a good idea.

      Forgot to reply to that part... the way the RHN works is that there is a cron job that runs on the client to ask the server once an hour whether there are any requested updates. The server just provides the list of packages that the user wants updated, and the local cron job pulls those packages from the pre-approved repository/ies only.

      So yeah, it's still granting a fair deal of power to the website but it's not like someone could use it to run arbitrary commands on the client. But as long as everything is secured using https and PKI signing is used to verify that the list of requested updates is legitimate, I don't see how that's much/any less secure than performing manual updates via SSH.

    7. Re:You don't want it by drsmithy · · Score: 1

      To be honest knowing which updates are available is a bigger concern to me than actually installing them.

      Then subscribe to centos-announce. That's kind of the reason it exists. I'm sure Ubuntu has an equivalent.

      When you see an update you want to apply to your servers, and have suitably tested it, copy it into your local yum repo/mirror. Then just configure your servers to update themselves from that automatically.

      This is (basically) the system outlined in this post, which delivers pretty much all the functionality you want, minus the point-clicky web interface part.

    8. Re:You don't want it by mcrbids · · Score: 1

      This thread is stale, so nobody's gonna read this.... but running your O/S in a VM does nothing to help you in the area most likely to bite: driver/hardware issues.

      Sure, you might run into application-level issues with an update, but this is rare, and so long as the O/S is "up", you can resolve that remotely anyway. But if you have a driver error on the hardware in your system, you may well end up with a system that won't come up and you can't fix without getting into your car, and checking updates in a VM will provide virtually NO protection in this scenario.

      In my case, we have (almost) identical hardware throughout, so I can begin with the systems least likely to cause me grief if they didn't reboot, and when they check out, move on up the food chain to more important systems, and this is easily done since we always have a "hot" failover with equipment identical to our production environment. In this way, I can confirm that the hardware is basically supported before getting to stuff that "matters".

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    9. Re:You don't want it by turbidostato · · Score: 1

      "I admin several busy CentOS servers for my company [...] I WANT to do them one by one"

      You wouldn't WANT it if they were hundreds instead of several (well, maybe you still would want it, but you wouldn't afford it). So if there's the slightest chance for your datacenter to grow, think big now better than tomorrow. If you think you are busy today, just wait and see when you have doubled the number of servers under your hood.

  7. GWN had something similar a while ago by Letharion · · Score: 1

    Assuming that you want to do the remote thing with SSH as suggested above (and not actually sit down at each desk), you might find the "Tips and Tricks" section here interesting: http://www.gentoo.org/news/en/gmn/20080930-newsletter.xml

  8. Can You Script? by AndGodSed · · Score: 1

    If you can script it should be fairly easy. Here is how I would do it (we run mostly gentoo servers and a mixture of windows, Ubuntu (and Ubuntu based) and RPM distros, but the guys using Linux customise so heavily and is tech savvy enough to keep themselves up to date.)

    Set up sshd on every desktop, with key authorization (we do this with the gentoo servers.)

    With a script and cron job you should be able to push them to run updates regularly. But you can just use the normal update tools and a local repo that is on a server on the lan to keep the packages updated.

    Canonical also has a tool to do Ubuntu boxen over a network... cannot remember it's name though.

    Any slashdotters happen to remember the name of the utility?

    1. Re:Can You Script? by dns_server · · Score: 4, Informative

      The corporate product is http://www.canonical.com/projects/landscapeLandscape

    2. Re:Can You Script? by AlterRNow · · Score: 2, Insightful

      I have a question about Landscape.

      Is it possible to run your own server?
      If not, isn't it just another piece of vendor lock-in?

      I'm interested in using it but I don't want to depend on Canonical. For example, what if my internet connection goes down? I'd lose the ability to use Landscape at all, right?

      --
      The disappearing pencil trick. Let me show you it.
    3. Re:Can You Script? by Bert64 · · Score: 1

      If your internet connection goes down, where will you get updates from?

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    4. Re:Can You Script? by AlterRNow · · Score: 1

      The mirror on my LAN that finished updating 5 minutes before the connection dropped.
      I would probably use it more to monitor the machines, as I only own 4 of the 7 active ones on the network, the others are other members of the family, than use it to do updates anyway.

      --
      The disappearing pencil trick. Let me show you it.
    5. Re:Can You Script? by Antique+Geekmeister · · Score: 1

      Mirroring CentOS or Fedora is fairly easy, although if you can afford it, please contribute back to the community by making your mirror available externally. (Rate limit it, but make it available: please don't be a freeloader.)

      Mirroring RHEL, on which CentOS is based, is pretty awkward. Since the 'yum-rhn-plugin' knows to talk only to the authorized, secured RedHat repository or a RedHat Satellite Server, you pretty much have to find a way to build a mirror machine for _each RedHat Distribution_, whether i386 or x86_64, whether version 4.x or 5.x, whether 5Client or 5Server. This is a pain in the neck and sucks up licenses, or at least virtual instances on a server.

    6. Re:Can You Script? by magarity · · Score: 2, Funny

      If your internet connection goes down, where will you get updates from?
       
      Congrats, you just volunteered to mail him the floppies.

    7. Re:Can You Script? by AlterRNow · · Score: 1

      I only mirror Ubuntu as I don't have any Fedora systems.
      And I do not have the connection to make my mirror public ( 75% throttle after 500mb upload ) otherwise, I would.

      --
      The disappearing pencil trick. Let me show you it.
    8. Re:Can You Script? by KillerBob · · Score: 1

      If your server's Internet connection goes down, you have bigger things to worry about than updating.

      --
      If you believe everything you read, you'd better not read. - Japanese proverb
    9. Re:Can You Script? by DrgnDancer · · Score: 1

      You're assuming the server in question is outward facing. Maybe it's the mail server, which can still store and forward external mail and keep the internal mail flowing. Maybe it's one of the (probably many) Intranet servers that don't need Internet access to do their job. Maybe it's a computational server which can still be processing batch jobs while the connection is down. In most large corporate environments only a fraction of the servers have to actually access the Internet to their jobs. Obviously in a colo facility, or an Amazon.com data center it's a different matter, but outside of the Internet industry proper most servers can go hours if not days without Internet access while not having their workloads affected.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    10. Re:Can You Script? by tobiasly · · Score: 1

      Thanks, I hadn't heard of Landscape before, although it seems to be Ubuntu-specific. I am rather surprised that no vendor has created a similar non-distro-specific solution.

    11. Re:Can You Script? by Lennie · · Score: 1

      I haven't ever seen or tried it, but there is Pulse from Mandrake:

      http://www.mandriva.com/enterprise/en/products/pulse

      --
      New things are always on the horizon
    12. Re:Can You Script? by tobiasly · · Score: 1

      Wow, this sounds like almost exactly what I need, thanks for the link! I've never heard of this before, and even though it says "open source" the only download I can find is a "VmWare evaluation version". Very odd. I'll definitely do some more digging though...

  9. Puppet or CFEngine + Version Control by hax0r_this · · Score: 4, Informative

    Look into Puppet or CFEngine (we use CFEngine but am considering switching to Puppet eventually). They're both extremely flexible management tools that will trivially handle package management, but you can use them to accomplish almost any management task you can imagine, with the ability to manage or edit any file you want, running shell scripts, etc.

    The work flow goes something like this:
    1. Identify packages that need update (have a cron job run on every box to email you packages that need updating, or just security updates, however you want to do it)
    2. Update the desired versions in your local checkout of your cfengine/puppet files (the syntax isn't easily described here, but its very simple to learn).
    3. Commit/push (note that this is the easy way to have multiple administrators) your changes. Optionally have a post commit hook to update a "master files" location, or just do the version control directly in that location.
    4. Every box has an (hourly? Whatever you like) cron job to update against your master files location. At this time (with splay so you don't hammer your network) each cfengine/puppet client connects to the master server, updates any packages, configs, etc, runs any scripts you associated with those updates, then emails (or for extra credit build your own webapp) you the results.

    1. Re:Puppet or CFEngine + Version Control by Anonymous Coward · · Score: 0

      +1 for puppet, works great. And what about Func? Does it run on debian?

    2. Re:Puppet or CFEngine + Version Control by Random+Walk · · Score: 1

      We use cfengine with close to 100 machines and works quite fine. My only gripe is that on Ubuntu 8.04, it has a bug such that it can't determine which packages are already installed. And since Desktop is first priority for Ubuntu, their maintenance of software for larger environments is abysmal.

    3. Re:Puppet or CFEngine + Version Control by Dunkirk · · Score: 1

      My boss was going to have us use Puppet, but changed his mind before we got going. Instead, he now wants us to use chef. We haven't gotten to the point of needing either one yet, so I haven't checked out either one, but he definitely knows what he's doing around a computer, so I thought it worth throwing out.

      --
      Acts 17:28, "For in Him we live, and move, and have our being."
    4. Re:Puppet or CFEngine + Version Control by walt-sjc · · Score: 2, Funny

      I don't want the Swedish chef Bork Bork Borking up the systems...

    5. Re:Puppet or CFEngine + Version Control by Dunkirk · · Score: 1

      [Citation needed] Ye ol' Swedish Chef is getting a little long in the tooth. For those with higher UID's:

      http://www.youtube.com/watch?v=jc_UCc8EQcQ&NR=1

      --
      Acts 17:28, "For in Him we live, and move, and have our being."
    6. Re:Puppet or CFEngine + Version Control by Anonymous Coward · · Score: 0

      There are concerns "out there" about Chef's longer term business intentions, so tread carefully.

    7. Re:Puppet or CFEngine + Version Control by the_g_cat · · Score: 1

      +1 for puppet too. Great community support, great support from the devs, very active IRC channel, with some guys from high profile companies actively using puppet and at least contributing to the ML and IRC.

    8. Re:Puppet or CFEngine + Version Control by SanityInAnarchy · · Score: 1

      Nono, not that chef, this chef!

      Well, children, cross-distro remote package administration is like making love to a beautiful woman...

      --
      Don't thank God, thank a doctor!
  10. In centos you could try by shitzu · · Score: 2, Informative

    /etc/init.d/yum start

    and what do you know - the updates are installed automagically without any manual intervention

    1. Re:In centos you could try by shitzu · · Score: 1

      /etc/init.d/yum-updatesd start

      in centos 5.x

    2. Re:In centos you could try by cerberusss · · Score: 3, Interesting

      the updates are installed automagically without any manual intervention

      I'm not sure that's a good idea on a server. Why would you mindlessly update packages on a server when there's no actual reason to do so?

      --
      8 of 13 people found this answer helpful. Did you?
    3. Re:In centos you could try by Vanders · · Score: 1

      Yes, but sometimes you want there to be manual intervention. For example, I probably don't want YUM (Or up2date, or whatever) to upgrade the kernel, because I'll probably have a surprise the next time I have to reboot the server. especially if I need to install drivers that are not part of the stock kernel.

      The same can sometimes be true of other packages: I may not want YUM to upgrade Apache2 on my web server, for example.

    4. Re:In centos you could try by supernova_hq · · Score: 3, Insightful

      Because as any decent linux-server-farm admin, you have a closely controlled local repository mirror that only has updates you specifically add.

    5. Re:In centos you could try by Vanders · · Score: 0, Redundant

      Yes but that implies you are not "mindlessly updating packages": you're carefully controlling the packages that are available via. your local YUM repository. The grandparent seems to be implying that you should just switch on YUM & cronjob it to pull every available update from the global YUM repo, on every server, which is clearly a bad idea.

    6. Re:In centos you could try by BruceCage · · Score: 3, Informative

      I'd say that it depends on a lot of factors really.

      First of all it depends on how mission critical the services that run on that system are considered and what kind of chances you're willing to take that a particular package might break something. The experience and available time of your system administrator also plays a significant role.

      There's also the very highly unlikely scenario that a certain update might include "something bad", for example when the update servers are compromised. See Debian's compromises at Debian Investigation Report after Server Compromises from 2003, Debian Server restored after Compromise from 2006, and Fedora's at Infrastructure report, 2008-08-22 UTC 1200.

      I currently manage just a single box (combination of a public web server and internal supporting infrastructure) for the company I work at and have it automatically install both security and normal updates.

      I personally trust the distro maintainers to properly QA everything that is packaged. Also, I don't think any single system administrator has the experience or knowledge to be able to actually verify whether or not an update is going to be installed without any problems. The best effort one can make is determine whether or not an update is really needed and then keep an eye on the server while the update is being applied.

      In the case of security updates it's a no-brainer for me, they need to be applied ASAP. I haven't had the energy to setup a proper monitoring solution and I've never even seen Red Hat Network in action. So if I had to manually verify available updates (or even setup some shell scripts to help me here) it would be just too much effort considering the low mission criticality of the server. If there does happen to be a problem with the server I'll find out about it fast enough then I'll take a peak at the APT log and take it from there.

      --
      Perfect is the enemy of done.
    7. Re:In centos you could try by supernova_hq · · Score: 2, Funny

      Thank You so much for responding to my post by simply taking what I said and re-wording it...

    8. Re:In centos you could try by shitzu · · Score: 1

      The grandparent seems to be implying that you should just switch on YUM & cronjob it to pull every available update from the global YUM repo, on every server, which is clearly a bad idea.

      No, grandparent implied that you can apply updates on a gazillion hosts automatically.
      Ok - lets assume you have 1000 hosts of centos. You will create your own update repo and configure them all to update automatically from it. If an update comes you test it on a couple of machines and if it does not break anything (and of course if it is needed at all) you will add it to your update repo and all of the hosts will update themselves without you logging in all of them and running updates.

    9. Re:In centos you could try by Vanders · · Score: 1

      Er, not really, but whatever. GP asked "Why would you mindlessly update packages on a server when there's no actual reason to do so?" and you've responded in a way that implies the answer bears little relation to the question. That's O.K though, this is Slashdot. I don't expect anyone to respond to a thread in a coherent manner.

    10. Re:In centos you could try by Vanders · · Score: 1

      No, grandparent implied that you can apply updates on a gazillion hosts automatically....You will create your own update repo and configure them all to update automatically from it.

      Sure, you will. So would I. It seems you sort of forgot to mention that in your original post, though. If you simply start yum on your server it'll use the default yum.conf/yum.conf.d setup, which will be the global repository. You've massively over-simplified your answer to the submitters question, which isn't very helpful for the submitter.

    11. Re:In centos you could try by Anonymous Coward · · Score: 0

      How much time will it take you to manually test and verify each update against the services you run on all your servers?
      Do you have the infrastructure to test these updates against an accurate reflection of your production environment in the first place?
      How long will it take you to recover if package x breaks something?
      What is the liklihood that an update to package x will not have been QA'd properly so it doesn't change the behaviour of the service it provides?

      I would say that for most enterprises, things tilt in favor of updating automatically if you're going with a trusted distribution. In the end it really comes down to who do you trust and to what extent? In my environment, to properly QA all patches would take three to four weeks and involve a few different business units that already have their own workloads to deal with. Realistically that would equate to having the environment updated once or twice a year. Maybe if there was room in the budget to hire somebody else whose primary responsibility was maintaining the integrity of your server updates, it would be feasible for us to test each one (installing it on a server and seeing if it will still reboot is not a sufficient "test"). Until that time, I will have to rely on the team at Red Hat to maintain the integrity of their server updates.

    12. Re:In centos you could try by shitzu · · Score: 1

      i did that because the original article/question wasn't how to get a proper subset of the public repos, but rather how to get updates on many computers without logging in.

    13. Re:In centos you could try by Anonymous Coward · · Score: 0
      Then you didn't read the question:

      determine which ones I need

      which a local YUM repository does solve, but which you didn't mention.

  11. Func by foobat · · Score: 2, Interesting

    https://fedorahosted.org/func/

    I know it's get Fedora in it's name but it's been accepted into as a package into Debian (and thus ubuntu).

    It's pretty cool, designed to control alot of systems at once and avoid having to ssh into them all at once, has a build in certification system, a bunch of modules written for it already , usable from the command line so you can easily add it into your scripts and has a python api so if you really wanted some you could throw together some django magic if you wanted a web front end. OpenSymbolic is a webfront end for it already although I haven't checked it out.

    Not exactly what you wanted as there's a bunch of work you'd need to do to get it to do the things you want.

    1. Re:Func by foobat · · Score: 1

      oh i forgot to add it's available for RHEL/CentOS systems through EPEL
      http://fedoraproject.org/wiki/EPEL

  12. Up2date ? by smoker2 · · Score: 1

    Why don't you determine which packages you DON'T want updated automatically and add them to an exclude list on each machine. Then you can run yum update from cron.daily and update the accepted packages, then set up a cron job to run an hour or so after the update which checks for other available package updates. It's pretty simple to run yum check-update and pipe the output into an email.

    I have no idea if you can do this with apt but I don't see why not.

    1. Re:Up2date ? by richlv · · Score: 2, Insightful

      that won't quite work - most likely, submitter does not want a particular list of packages to never update, but instead wants to evaluate individual patches, so decision is based on the exact patch, not made for all possibeel patchs to aa prticular package.

      --
      Rich
    2. Re:Up2date ? by smoker2 · · Score: 1

      Hence the yum check-updates and subsequent email ! You have to get involved if you want to be picky. Unless you know an update is available, how do you know whether or not to apply it ?

  13. Use script + scriptreplay by AVee · · Score: 2, Insightful

    Instead of a fancy web solutions, you could use the script and scriptreplay commands on each system. Do whatever you need to do once on 1 system but record that using script. After that replay the scripts on each of the other systems. You could either manually or automatically log on to each system and start the replay or you could set up a cron job which fetches and replays the script you publish somewhere.

    Not very fancy, but it will get the job done, and it will work for more than just updates, you could also use it to e.g. changes setting or add packages. Or basically anything else you can do from a shell in a repeatable way.

    Check man 1 script and man 1 scriptreplay for details.

  14. pssh and clusterssh might be of interest by Anonymous Coward · · Score: 0

    The easiest way would probably be to use clusterssh or pssh and define the one cluster for each distro. Set up key-based login and then just have a cron job that does pssh -h ubuntu-machines -l username sudo apt-get update >> /var/log/ubuntu-update.log

    Add a cron-entry and hosts file for every distro you need.

  15. Spacewalk by jon273 · · Score: 1

    I think Spacewalk from Redhat (http://www.redhat.com/spacewalk/faq.html) would at least work with the CentOS machines. I believe it adds something similar to the update and configuration management stuff on RHN. It won't work the the Ubuntu desktops though.

    1. Re:Spacewalk by richlv · · Score: 1

      note that spacewalk currently requires oracle, which means it might not be the best solution.

      --
      Rich
    2. Re:Spacewalk by xsuchy · · Score: 1

      Spacewalk should have support for PosgreSQL by end of this year.
      https://fedorahosted.org/spacewalk/wiki/PathToPostgreSql

      In the same time it will probably have support for DEB packages, so you may manage not just Red Hat, Centos, Fedora ... but Debian and Ubuntu as well.
      https://fedorahosted.org/spacewalk/wiki/Deb_support_in_spacewalk

    3. Re:Spacewalk by XenoPhage · · Score: 1

      Even with Oracle, it's still a decent solution and works fairly well. I've had it up and running since the 0.1 release.

      It has its problems, not least of which is the absolute resource hog that Oracle is, but it's better than having to log into every machine when an update comes out.

      --
      XenoPhage
      Technological Musings
  16. yum-updatesd is meant for that by MrMr · · Score: 5, Informative

    1) yum -e whateveryoudontneed
    2) chkconfig yum-updatesd on
    3) Make sure do_update = yes, download_deps = yes, etc are set in yum-updatesd.conf
    4) /etc/init.d/yum-updatesd start
    This makes your yum system self-updating.

    1. Re:yum-updatesd is meant for that by buchner.johannes · · Score: 1

      - not cross-distribution
        - yum can make mistakes (e.g. move your config files around)
        - even if your binaries are updated, the running server are still executing the old (unlinked) code, you'll have to restart your services eventually
        - if there is a critical kernel patch, you'll even have to reboot (probably less problematic if you run some virtualisation like Xen)
      There is no such thing as a perfect self-updating system that doesn't need your supervision (although I heard good things about the classic Debian).

      What a friend of mine suggested to build for a similar use case was a cross-distribution server configuration tool (in Ruby) based on declarative configuration. For example, you provide a central configuration that says:
      """
      need_package(apache)
      need_package(mysqld)
      need_package(remind)

      use_configuration(/etc/my.cnf,my.cnf.2009)

      """
      and maybe some asserts...

      Then, you run the program on each host and it figures out which packages it needs to install and fetches configuration files from the central server.

      At the end, you should get the desired state on your (heterogeneous) machines, or reports why it failed.

      Man, I really should do this some time ...

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    2. Re:yum-updatesd is meant for that by MikeBabcock · · Score: 1

      You'd also need an exclusion situation where if the package claims to need to update the configuration file (because of a configuration format change), the package should be downloaded and not updated because you'll need to tweak the file.

      --
      - Michael T. Babcock (Yes, I blog)
    3. Re:yum-updatesd is meant for that by MrMr · · Score: 1

      not cross-distribution
      http://packages.debian.org/unstable/admin/yum yum can make mistakes (e.g. move your config files around)
      rpm saves modified files, and sends a warning. What more do you need?
      you'll have to restart your services eventuall
      any good post installation for a service comes with a 'service X restart' command.
      if there is a critical kernel patch, you'll even have to reboot
      So critical kernel patches are the only thing requiring a single ssh reboot command.

  17. Great! by Frogbert · · Score: 4, Funny

    I for one look forward to the rational, well thought out, debate on the various pros and cons of linux distributions and their package managers, that this story will become.

    1. Re:Great! by Opportunist · · Score: 2, Funny

      Dunno, should this be modded funny, redundant or flamebait? :)

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    2. Re:Great! by sqldr · · Score: 1

      flamunnydant

      --
      I wrote my first program at the age of six, and I still can't work out how this website works.
    3. Re:Great! by JohnConnor · · Score: 1

      Oh, what a clever sig!

  18. Re:Tools exist: we do it this way. by nick_urbanik · · Score: 5, Interesting

    I work in a large ISP, and this is the way we manage updates for the various Linux platforms we use. Quite simple, really. You can build tools that help: diff between the downloaded updates and what you have in your own repository, and mail you the ones that you are not using. I find lwn.net's security pages useful in keeping track of what security updates matter to us.

  19. Puppet, chef, cfengine by ^Case^ · · Score: 2, Informative

    Puppet is a tool made to do exactly what you're asking for by abstracting the specific operating system into a generic interface. It might be worth checking out. Also there's a newcomer called chef. And then there's the oldies like cfengine.

  20. Re:Tools exist: we do it this way. by Dunkirk · · Score: 1

    How about a sample? I use Gentoo. My servers do this every night: /usr/bin/emerge --quiet --color n --sync && update-eix --quiet && glsa-check -l affected

    I could just as well apply every fix automatically, but I like to see it before it goes in.

    --
    Acts 17:28, "For in Him we live, and move, and have our being."
  21. Aptitude is THE DEVIL! by Anonymous Coward · · Score: 0, Flamebait

    I used aptitude for a few months after reading that it installed recommended packages in addition to true dependencies. Well, bollocks to that. There are more times when I don't want "recommended" packages (installing exim sucks when postfix is desired, for example).

    As to the script to maintain servers ... below a trivial example for debian/ubuntu -based systems. Setup ssh keys to make life easier from an internal, protected system. If you have more than 6 systems, you probably want to mirror the repositories locally. Also, set your TERM environment variable to make interactive install/updates nicer to use.

    ===== Weekly Updates ======
    #!/bin/sh

    SRVS="s1 s2 s3 s4 s5 s6 s7 s8 s9"
    for D in $SRVS ; do

        ssh root@$D "apt-get update; apt-get upgrade;"

    done

    1. Re:Aptitude is THE DEVIL! by Upsilonish · · Score: 1

      I used aptitude for a few months after reading that it installed recommended packages in addition to true dependencies. Well, bollocks to that. There are more times when I don't want "recommended" packages (installing exim sucks when postfix is desired, for example).

      So toggle the option to make it not do this, or just use 'aptitude -R'?

  22. red carpet by Anonymous Coward · · Score: 0

    red carpet used to be excellent for that, it was developed by ximian back in the days, now this is supposed to be novell. but i never heard much about it anymore.

  23. Re:Tools exist: we do it this way. by Bert64 · · Score: 3, Insightful

    You could also use nagios and check_apt/check_yum to alert you of out of necessary security updates, put a script for installing updates on every box (different script for centos/ubuntu, but same syntax), create a user who is added to sudoers for only that script, and create an ssh key for authentication...
    Then you can feed the list of hosts that need updating into a script which will ssh to each one in sequence and execute the update script followed if necessary by a reboot..

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  24. cron-apt+clusterssh by julian67 · · Score: 1

    On Debian type systems cron-apt is extremely useful for having remote machines notify via email and/or syslog of available updates. By default it downloads but does not install new packages, though it can be set up to do anything you can do with apt-get, so for example you could set it up to automatically install security patches but not other packages. I don't have enough similar machines to benefit from using clusterssh but it cron-apt+clusterssh would seem to be ideal for remote package management of multiple similar Debian type systems.

  25. Puppet by Anonymous Coward · · Score: 0

    Puppets and Puppet Master (Actual application names) works for RPM and Debian Package Management, allows push type update I think.

  26. Exactly... by bogaboga · · Score: 1

    You hit the nail on the head. I have a cron job to exactly that and for 3 days after an "auto update", my Mythbuntu box shuts down on its own after running for about 54 hours. I am now wondering whether an update I should have avoided is the culprit.

    By the way, can one point me to a resource that could help me determine what's going on on my box? Thanks.

    1. Re:Exactly... by amias · · Score: 1

      your log files maybe .....

      --
      [site]
    2. Re:Exactly... by smoker2 · · Score: 2, Informative

      The internet.
      Actually, /var/log/messages to find the issue then google to see who else has the same or similar issue. Or troll a few web hosting forums. Seriously, you need to take more interest in what's happening to your machines. My servers send me status reports by email every morning regarding patches, rootkit detection, unauthorised accesses, tripwire incursions etc etc. I have a server which has had minimal patching since 2002 and still runs fine with no rootkits. I have had no unavoidable downtime since 2002. Yes, I run Redhat Enterprise.

      This is what disturbs me about the push for linux on the desktop. Most people can't be bothered to research and implement simple monitoring measures, then complain that everything's gone tits up. The whole point of linux is - YOU are in control, ultimate control. Use the power wisely or suffer the consequences. Don't go blaming the distro, the maintainers, the world for your inability to control something designed to react to your hand and your hand alone. A poor workman blames his tools, and GNU/linux is merely a tool.

      If you have root, fucking act like it !

    3. Re:Exactly... by Anonymous Coward · · Score: 0

      Seriously, you need to take more interest in what's happening to your machines.

      Please...

      My servers send me status reports by email every morning regarding patches, rootkit detection, unauthorised accesses, tripwire incursions etc etc. I have a server which has had minimal patching since 2002 and still runs fine with no rootkits. I have had no unavoidable downtime since 2002.

      Oh, you're one of those. No wonder people don't take Linux seriously. The GP is a home user, with a MythTV setup. While there's nothing wrong with using Linux for a DVR/media server, it's absurd to suggest all this enterprisey security crap for one. If it's so important, it should work out of the box.

      You might as well beat your chest and yell "RTFM N00B".

    4. Re:Exactly... by ddusza · · Score: 1, Funny

      You might as well beat your chest and yell "RTFM N00B".

      I always do, but I get funny looks from people walking by my office, and a message from my manager....

      --
      Don't fear the penguins
    5. Re:Exactly... by Bungie · · Score: 1

      I have a server which has had minimal patching since 2002 and still runs fine with no rootkits. I have had no unavoidable downtime since 2002. Yes, I run Redhat Enterprise.

      I have an old Debian server that never needs patching or reboots either. It exposes few services and unless there's a major security flaw in one of them nothing is ever upgraded or changed. The thing with servers is that you always automate and fine tune them so they can run without interaction and as securely as possible.

      This is what disturbs me about the push for linux on the desktop. Most people can't be bothered to research and implement simple monitoring measures, then complain that everything's gone tits up.

      Desktop Linux has the hype of being solid, fast and secure which comes from these finely tuned Linux servers. These rumours cause people to believe Linux will never have problems.

      --
      The clash of honour calls, to stand when others fall.
  27. Apticron by Anonymous Coward · · Score: 0

    The apticron package will e-mail you any pending updates on Ubuntu machines...

  28. If you are good at scripting by csshyamsundar · · Score: 1

    try using capistrano. a small script over the weekend will simplify your task.

  29. Re:A win for Windows? by colinrichardday · · Score: 1

    And is there such a repository for Windows that has roughly the same amount of software?

  30. It's been done easily for years now... by Anonymous Coward · · Score: 0

    Although I'm sure there is a *nux version.

    After all, it's ready for the desktop and the enterprise. Patch management and application distribution would have been one of the first things they sorted.

     

  31. Some suggestions by Anonymous Coward · · Score: 0

    The key is not to look for "ubuntu and centos solutions" (which sounds more like something typically asked a consultant), but to apply your supposedly broad system administration skills and adapt the already existing administration tools to your environment.

    Typically done with small snippets of shell script building on your environments build- and packaging tools, and so on, but more mature things do exist. I mention two:

    arusha (ark) http://ark.sourceforge.net/
    puppet http://reductivelabs.com/products/puppet/

  32. Fully automatic install by rolfc · · Score: 1

    I would say that FAI is worth looking at. You will have full control over which updates are applied.

    1. Re:Fully automatic install by HogGeek · · Score: 1

      Are you seriously suggesting software that hasn't seen an update since 2005?

    2. Re:Fully automatic install by rolfc · · Score: 1

      Where have you got that idea from?


      As far as I can see the last update is Wed, 22 Apr 2009 13:39:58 +0200.

    3. Re:Fully automatic install by HogGeek · · Score: 1

      Actually, I meant to reply to the previous post...

      arusha hasn't seen any activity since at least 2007, and nothing announced since 2005...

  33. Look at the problem differently by JohnConnor · · Score: 2, Insightful

    I think that you are not putting your efforts where it matters.
    What is important is that the critical services run properly on each server. Sure that can be affected by patching but also by many other factors. So don't focus solely on the patching, focus instead on making sure all the services are running properly.
    You should have your own scripts that check that each server is responding as required. Make your test suite as strong as you can and improve it each time a new problem crops up that wasn't caught by your spying tools.
    Once you have this in place, you can safely do daily automatic updates and stop second guessing the package maintainers. You will have a more reliable system and you will save yourself a lot of work too over the years.

  34. KuRGaN by Anonymous Coward · · Score: 0

    Cfengine is your firend ;-)

    You can launch update command every day and manage packages installations with the package command.
    Sorry for my bad english

  35. Altiris by MikeB0Lton · · Score: 1

    Altiris can do what you ask. You'll have to spend money to get it, but you can do software delivery and patching for Windows, *NIX, and Apple from it (and many other things, depending on the size of your wallet).

  36. Configuration management by cluening · · Score: 1

    There are oodles of configuration management tools out there that do at least most of what you want. My personal recommendation is Bcfg: http://www.bcfg2.org/ . It doesn't quite have the entire web interface (yet), but it is fantastic for keeping everything up to date and clean and telling you when you have outliers. I currently use it for the 350 or so support machines for the 5th fastest computer in the world, and I know _much_ larger installations are using too.

    --
    Posted from the wireless couch.
  37. Answer: That's your job. by Qbertino · · Score: 2, Insightful

    That's your job. Bash CLI, the CLI toolkit, CLI Emacs, key-based ssh and a well-maintained, well-documented pack of own scripts in your favourite interpreted PL are just what it takes to do this sort of thing. No fancy bling-bling required or wanted. It would make your worse, not easyer in the long run.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Answer: That's your job. by portablejim · · Score: 1

      [My english is better than most other people's german, so please point out mistakes politely. Thank you.]

      I just wanted to politely point out that

      easyer

      is spelt "easier" (Definition: more easy)

      --
      kers at the wrong moment What happens when you catch stock tic
  38. never update a live system .. by viralMeme · · Score: 2, Interesting

    "I administer several Ubuntu desktops and numerous CentOS servers. One of the biggest headaches is keeping them up-to-date with each distro's latest bugfix and security patches"

    My advice is, if it ain't broke don't fix it, especially on a production server. Have two identical systems and test the latest bugfix on that, before you roll it out to the live system. You don't know what someone elses bugfix is going to break and would have no way of rolling it back.

  39. check out cssh..... by Anonymous Coward · · Score: 0

    This will let you log into mutiple machines at the same time. We use this to manage several hundred workstations and servers since they want us to log into each for updating.

    Using cssh with multiple monitors and you have access to each.

  40. Looks like you need 2 different tools. by wazoox · · Score: 1

    1) a configuration system like CFengine or Puppet. It will take care of configuring and updating the machines.
    2) a web based monitoring interface. It will show you the system status. Something like Munin, Cacti, etc.

  41. Re:Tools exist: we do it this way. by Antique+Geekmeister · · Score: 1

    Resolving the large numbers of packages and their minor variations such as i386, x86_64, etc. across all the systems means a potentially large number of distinct Nagios query templates. Generating and managing those directly is a fascinating problem. Building it from scratch for a single in-house usage is a lot of work, usually better spent elsewhere.

    It really makes me wish that RedHat Satellilte Server did _not_ require an Oracle backend. For RedHat themselves, with so many thousands of clients, it makes sense to use Oracle for 'RedHat Network', on which the Satellite Server is based. But for the rest of us, almost any lightweight database would have served better and required far fewer resources to run. But now that Oracle has bought Sun, I think we can rely on Oracle to insist that such corporate level supported services require Oracle, not MySQL.

  42. Uninstall that trash with FDISK by Tiber · · Score: 0, Troll

    You're probably looking for:
    http://www.novell.com/products/zenworks/linuxmanagement/

    And yes, it does support some flavors of RedHat. Nigbuntu you're SOL on. If you're developers are running that you should fire them anyway.

  43. Don't fix it if it ain't broke. by flyingfsck · · Score: 1

    If a system is working properly, then applying updates cannot make it better. It can leave it the same or make it worse. I Install my servers and leave them alone for about 3 years, then re-install and run them for another 3 years, then I toss them away and install new ones. Most Linux prolems are caused by finger trouble, so a security problem has to be very serious before I would apply it.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
    1. Re:Don't fix it if it ain't broke. by neurovish · · Score: 2, Insightful

      You must not handle any credit cards, financial data, or health records then. Some of us are forced to keep servers updated to within a couple weeks of the latest patches or risk a dreaded "uncompliance" status.

      Personally, I wouldn't want any of my data trusted to an infrastructure that is only updated once every three years, but in some places that approach makes sense as well. We've certainly taken that approach with SLES servers since Novell's updates are usually more malicious that whatever hole they are patching.

    2. Re:Don't fix it if it ain't broke. by Anonymous Coward · · Score: 0

      troll
      Please post your IP address block(s) in CIDR notation. I dare you. /troll

      There was a time when a large uptime meant that you had a very stable system. Nowadays, it means that you have a very insecure system.

  44. I wouldn't by kenp2002 · · Score: 1

    In all honesty I wouldn't set up a solution. Keep in mind that with different release schedules and different release criteria many times there may be a day or two lag between them and you still need to validate the patch\fix before putting it into a production environment. So given Ubuntu and CentOS, let's say the CentOS patch comes out 2 days later you are either doing a regression test twice on the two systems, or waiting till both are release and running a single regression test.

    If you are hell bent on doing this the simplest solution I've found is simply a CRON job script that does the following:

    One each system, every day at a given time do a check for package updates and send the results via an email to a shared mailbox called PENDING UPDATES. You can also send them to a SQL database if you choose (that's what I do)

    The next thing is to hav a shell script that will SSH into a system and based on the platform grab any pending updates in the database that are marked with a FETCH flag turned on (I use PERL for all shell scripts so tapping a database is pretty damn easy).

    Now that shell script will read from the DB of all the systems I manage (before I retired from Geekery that is I handled as many as 2300 systems split between Linux, Unix, NT, AS400, a pair of DEC Alpha workstations, and oddly enough 22 OS/2 boxes) that are flagged for Linux and execute the update script on each box.

    As you posted your dillemma you need to work smarter not harder. There is NO REASON for you to "run around". A simple PERL script to execute the same command on multiple systems should be the norm. You can even make the script multi-threaded with the "use thread" or "use threads" depending on which 'flava' of rthe threading library you use (Use the one support QUEUES, easier to stuff the QUEUE with system names, set a MAXTHREADS count and just suck out servers and dispatch them to worker threads)

    If you need to on Ubuntu pull an APT-GET INSTALL BLAH and in CENTOS do an update install BLAH it's a simple IF statement on the worker thread.

    MY BIGGEST ADVICE: ALWAYS, ALWAYS HAVE HUMAN INTERVENTION INVOLVED BEFORE UPDATING ANYTHING!!

    Again whip up a quick MYSQL\POSTGRES database, parse the output of the pending updates for each platform, and have a boolean field that indicates if the update is approved. Then let CRON handle pulling down approved updates or, as I reccomend, have an admin run a script that pulls down updates so it can coincide with regular matinance windows...

    --
    -=[ Who Is John Galt? ]=-
  45. openpkg by blackjackshellac · · Score: 1

    I've been using openpkg to do this, works well, keeps my services up to day and works across multiple platforms.

    --
    Salut,

    Jacques

  46. Novell ZLM by ulzeraj · · Score: 1

    I know everyone hates Novell but they got a product called ZLM which aims to control servers and workstations during all their life cycle (including network installation of OS, deployment and some cool management tools) and its not restricted to RPM based Linux. You can separate hosts by groups and apply stuff per group or folder. Check it: http://www.novell.com/products/zenworks/linuxmanagement/

  47. use cfengine or puppet by natxo+asenjo · · Score: 1

    I can recommend this book (it uses cfengine extensively): Automating Linux and Unix System Administration, Second Edition

    --
    Natxo Asenjo
  48. Spacewalk by whitroth · · Score: 1

    At the behest of my manager, I've been working on implementing Spacewalk here at my current contract. It's the open-sourced version of Redhat's Satellite.

    Downside: they've only recently released 0.5, and there are still lots of bugs (help doesn't, in general, work).

    But you can inventory, and push, updates to rpms; ditto for configuration files, and there's kickstart support. It also supports other than RH and Fedora; I've been working with CentOS (yeah, I know, just the serial numbers filed off), but it appears to me that it should support any distro with yum.

    Someone noted it requires Oracle: true, the free version of Oracle XE (10g).

    I don't like it - way too many problems yet - but it does work (mostly), and is explicitly for what the poster was looking. You can put multiple systems into a group, and do the group (I think), and you define your own software channels and child channels, and subscribe systems to them. It should tell you when they need upgrades (as long as you keep your internal repository up to date).

                    mark

  49. LDAP by Anonymous Coward · · Score: 0

    You can set LDAP to offer the name of each repository server for each machine.

    Then roll out that update to that machine.

  50. The answer is simple by Anonymous Coward · · Score: 0

    Install Windows.

  51. Using Expect for Updates by Anonymous Coward · · Score: 0

    If you or someone you work with can write scripts, the Expect scripting language is specifically designed to communicate to numerous machines through telnet sessions - it may prove valuable. Input: a list of ip addresses & logins & passwds. Output: the appropriate interactive commands to search out and kick-off ubuntu updates. There is a security risk to consider, because Expect code visibly contains user passwords for automatic login. Advantage: Expect runs from one machine, establish a telnet sessions to all other machines, and updatew them seemlessly and with an interface for the user to pick and choose if programmed correctly.

  52. func by blitzkrieg3 · · Score: 1

    Regarding the CentOS side, you could try func or if you have an oracle installation lying around, spacewalk.

  53. This may help by Anonymous Coward · · Score: 0
  54. Script It!!! by icewalker · · Score: 1

    Are you guys really admins?

    Script what you would do manually. It's not that hard to determine your distro and thus which app to use to update. Determine how you manage manually and just start BASH'ing it out in a script to do the same thing remotely. SSH keys will be required. Then set up sudo on each system to allow you to run certain commands passwordless. Just be sure to use ssh -t when connecting so that sudo will work properly.

    Really, this is admin 101. Any good admin should be able to script. If you can't, then start learning; Or you will only ever be a mediocre admin.

    --
    The truth is usually just an excuse for lack of imagination.
  55. use puppet by Anarke_Incarnate · · Score: 1

    http://reductivelabs.com/products/ That will be $4000 in consulting fees, thanks.

  56. cron job by systematical · · Score: 1

    Can you setup a cron job that executes on each system? The only problem is that you have to update this script a bunch of places should it change. So you may want to keep the script stored on a "master server" and then have the clients just download the file and execute it each night etc...

  57. Excatly my point... by sbeckstead · · Score: 1

    This question alone is probably the most compelling reason to not adopt Linux as a desktop solution.

  58. A Few More Tips by GreenPickles · · Score: 1

    I agree with most of the tips here... Just one last tip that I think will really help. Having a Staging / Testing Environment that is similar to your production setup. Whatever you do (i.e. install tools, new scripts, new packages), run it through your Staging Network and let it cook for a few days. If it blows up, that sucks, but at least it didn't blow up production.

    Lastly, I've read a couple of people who endorse CFEngine / Puppet. I've been running slack, which is great, it's easy to set up, runs great, and easy to understand. I recommend people check it out.

    http://www.sundell.net/~alan/projects/slack/

  59. I've been considering this by ericrost · · Score: 1

    as a good python project. Just simply forward the x session and have a nice gui round it. get a uname to see the kernel running and you're off to the races.

  60. ocsinventory + puppet by Anonymous Coward · · Score: 0

    How about ocsinventory to collect information on your machines. Stores all in MySQL. You can write custom queries to see what you need to update where. Use puppet to manage the updates.

    Also work hard to reduce the variations. Each machine should start with a common base and only add the must haves which make them unique. Then you can identify classes of machines so you can focus on updates per class, hopefully reducing your work load in the process.

  61. You Can't Use a Script and a Cron Job? by frank_adrian314159 · · Score: 1

    What kind of Unix admin are you?

    --
    That is all.
  62. Don't use this! by Anonymous Coward · · Score: 0

    This may be unsafe depending on which environment variables "yum" reads and if it propagates the environment to programs that it executes. What you want is sudo -- it can be configured to run specific tasks securely.

  63. Why not use mail? by PotJew · · Score: 1

    Why not use a cronjob, that checks what you can update on your system, and mail it to you? Then you will always know what packages you need to update. And the update job can be done with scripts. Like someone else her wrote. Just have a master server, or maybe two, one for each distro. And they can give out the scripts to the machines that needs them. At least you can use that for the less "important" updates. Just my thought on the subject.

  64. Puppet by Anonymous Coward · · Score: 0

    Strongly recommend Puppet (http://reductivelabs.com) for this. It's built to do exactly this and a lot more - managing users, groups, packages, cron jobs, and a wide variety of other configuration. It also scales well - Google uses it to manage about 8000 desktops for example and a bunch of ISPs/corporates use it to manage large numbers of production hosts.

  65. Simply cron-apt by Anonymous Coward · · Score: 0

    Some of my tasks involve administering a 10+ debian/ubuntu machines. Sadly our administrational resources are pretty limited, so manual security patching is not an option, and neither is not-patching.

    What I've done is set up cron-apt to only use the security updates repo, exclude the kernel updates, and update automatically. It mails all actions to me, so I have a mailbox of when what was updates if something goes wrong (not once in 1,5 years). There's always a risk with this of course, but it depends on how critical service uptime is.

  66. Nice try Twitter by Anonymous Coward · · Score: 0

    It should be noticed that lamapper is a twitter sockpuppet taking his empire to 16 sock accounts on /.

    1. Re:Nice try Twitter by lamapper · · Score: 1

      No to you COWARD, NICE TRY!

      It should be noticed that you are an Anonymous Coward. Enough said.

      But not enough from me, lamapper, This is the second time that someone has accused me of being a twitter sockpuppet. Though the last attempt was shouted down by others. I still do not know what a twitter sockpuppet crap is.

      I have been on slashdot long enough posting that many know that I am a real person. More than I can say for you, Mr or Mrs Anonymous..

      If having a twitter account is somehow wrong, than you better start condemning all the other social networking sites, Facebook, MySpace, etc... there are over 100.

      For the record I do NOT have a Facebook or a MySpace account at this time. Just my preference. Perhaps one day I will determine a need for one.

      As for twitter, I created it long ago, but only started using it in the last couple of months. So yes I have a twitter account, lamapper, just as my account is here. If you are a twitter user, feel free to follow me and I will check you out to see if I want to follow you.

      If the simple act of having a twitter account is what you mean by a twitter sockpuppet them I am obviously guilty.

      If not liking Microsoft and prefering Linux makes me a twitter sockpuppet then I am probably guilty as well. I got pissed off with Microsoft back in the GPF days. I have been in IT since 1979, yet I do not have an early slashdot account because I was not smart enough to join it when it started. Heck I held on to my CompuServe account for years after I stopped using it.

      Guess the same applies to Twitter, Facebook and MySpace as I did not start any of them when it started either. Twitter has been around for over two years and is only recently taking off based on my experience.

      No you are an ANONYMOUS COWARD!

      And anyone else who tries to slam anyone because they disagree with you, and blindly labels them a sockpuppet because of it, GET A LIFE. Is that what a twitter sockpuppet is to you, anyone who does not agree with you?

      Anyone who is on any site, including slashdot under a name other than their real true name (which means everyone who is smart and wants to avoid spam and other cracking crap) could be considered a sockpuppet if that is what it means.

      So ANONYMOUS COWARD, what exactly makes me a twitter sockpuppet? (How about providing some links for others, including me to see, because right now you do not make any sense)

      Simply having a twitter account?

      Simply disliking Microsoft and preferring Linux?

      What is your criteria for being a sock puppet anyway?

      If it is either of the two above than I just may be guilty.

      Regardless of what label you attempt to place on me, everyone KNOWS that you are a COWARD! And an ANONYMOUS COWARD at that!

      Perhaps you are the one who has multiple sock accounts.

      --
      Is your Internet Throttled? Install DD-Wrt, OpenWRT or Tomato to learn the truth! Google: 1Gbps/1Gbps: 5 Communities
  67. yum-updatesd and apt unattended-upgrades by leozh · · Score: 1

    yum-updatesd in CentOS & Fedora and /etc/apt/apt.conf.d/50unattended-upgrades in Ubuntu are your friends. If you configure these properly in combination with a local mirror, you can get it to deploy automatic updates seamlessly.

    --
    __________________
    Leo
    webmaster@007sdomain.com
  68. so what if you have multiple OS?3 flav linux+2win? by Anonymous Coward · · Score: 0

    wsus requires domain and shavlik doesn't work in win anyway. so is there a single one like opsware but (for home) that can handle linux variants and windows versions?

  69. mrepo supports both apt and yum by wenbia · · Score: 1

    mrepo does exactly what you want. It will mirror any package sources you want (including Redhat Network if you have a subscription) and automatically format a repository for yum or apt clients.