Problems with Patching
Source: Tom's Guide US | Keywords: security, linux, update | Themes: Software
6. Problems with Patching
So you think that patching a Linux server is pretty straight-forward? You’re probably 90% right in that assumption, but there are several issues that need to planned for or addressed when you are considering running updates on your servers.
Networks: The Bigger They Are...
If you’re running a small shop, patching your 5 to 10 servers will probably not be a big problem. Given a particular span of time, you should be able to have them all updated before the next big patch cycle. Still, it will take some coordination among your users, developers and management to minimize the effects of scheduled downtime. You’ll have to help specify how long the machines will be unavailable, have an idea of the number of reboots involved, and make sure that someone knowledgeable enough with the machine is ready to test whatever application the machine is running once the patching is done.
Now, take that same process and multiply the number of those machines by 10-or even 20. Big shops will not only have a large number of machines to patch, but the number of those affected by downtime will surely rise as these enterprise level services will now affect users numbering in the hundreds You will also have to deal with larger scale development schedules, and the fun politics that can come from the management and community.
There is no perfect solution for this: strategies and non-strategies will dictate the tools you’ll need to get all these servers patched. Concepts from clustering servers to social engineering will help get you around the various roadblocks you’ll encounter as you try to coordinate and compromise on reboot times ranging across all hours of the day and night. You’ll need to provide assurances about when the systems will come back up, since the word “patching” can be synonymous with “un-scheduled downtimes” due to either incompatibilities between vendor software and OS updates, or just human error. You’ll also need to prepare for such occasions by having reliable backups available, prepped fail-over systems that are ready to go if the primary system doesn’t come back up, and the experience of a well-educated sys admin who can help troubleshoot problem updates after their installation.
These are just some of the issues I run into when trying to manage a large network of Linux servers in an enterprise environment. Without the right size staff, a lot this would be difficult to get done, making the management of a small IT shop look like a piece of cake by comparison.
Another problem with big shops is that they tend to have a variety of configurations when it comes to their OS installs. Because of this, it’s hard to pick and choose what patches should be applied to your machines-you don’t really have the time to sit there and pick and choose which patches need to be installed first. In response to this dilemma, you may opt to just install all of the available updates you need. The world would be perfect if we could have servers running a single upgradeable app, but it just isn’t so. Instead, you have machines running Tomcat or Apache HTTP Server as your primary app, yet you also rely on the services provided by ntp, openssh or xinetd. These services, as well as many others, are updated over time, and should be upgraded when given the chance. So, don’t just update that one important app-update them all. It may save you potential headaches in the future.
The only exception to this “patch everything” rule is kernel patches. They usually require a restart of the system, whereas other patches require a daemon restart or no restart at all. If updating the machine means not having to reboot the server, then that’s just one less thing to worry about, so save the kernel patching for a better time.
Disk Space
One of the problems I’ve run into when it comes to patching a Linux OS is disk space. Hard drive capacity to cost ratios are getting better all the time: the amount of money spent on a 20 GB hard drive a few years ago will now buy you a 500 GB drive, so it’s never a bad idea to have too much disk space. Application logs, home directories, dump files and third party software will always be there. This requires you to keep track of the available disk space you have on your machine, though; remember to always have enough space when you download your patches. Thanks to the large disk capacities of today, running out of disk space is probably the last thing on your mind, but in the cases of virtualized machines or older hard drives, capacity can be an issue. If a machine is in the process of downloading a large number of patches, it’s going to need the space to store these packages so that the installation process can access the files and execute the install.
The contents of the /var/cache/yum sub-directories can show lots of valuable space wasted away holding old RPMs you don’t need anymore.
In SuSE’s Enterprise Server, for example, all of these files are stored in organized local directories on the updated server itself. Once YaST Online Update has been executed and these RPMs are used, they can be manually removed if needed. In older versions of YaST’s Online Update, you could check the “Remove installation files” box at the end of the update, which would remove the downloaded RPM files once the machine was done installing them.
- Previous page Third Party Tools
- Next page Problems Continued
Related albums
Google Ads
Comments
- 1 / 2
- Next
-
Maybe I'm biased, but updating Debian or ArchLinux (more of a desktop distro) has been so easy as not to even think about it.
If you buy Red Hat Enterprise Linux with a Satellite subscription Red Hat does the patching.
If you have Novell - ZenWorks will do the trick.
If you're running a non-commercial unsupported version than sure some of the options you mention might make sense but a simple cron job with yum/apt will do it all with one command line.
Sad Tom's.. sad.. you have been an amazing site once upon a time ...
I'm a Windows guy most of the time but I enjoy playing with Linux from time to time.
Actually as a Linux starter(some time ago) I had no problem patching my Linux.
It was very easy...
I do not remember reading or doing something special before patching it at that first time.
Patching most GNU/Linux installs is a simple task, which is highly scalable, and that can be fully automated through the use of CRON scheduling, etc. NO EXTRA SOFTWARE should be required to update/maintain ANY enterprise level GNU/Linux server distro (also if you server has a GUI on it, its not running in an enterprise level configuration).
I find the mention of Windows Server strange in the article, since it can't run services like Bind9 (DNS), it only makes up roughly 38% of the current market share of net servers, and since it can't run Bind9, it runs NONE of the internet backbone (DNS routing server).
I am a huge fan of Tom's, but this article should never have been published.
While there are many Linux solutions, everybody will find what works best for them. I myself have become a fan of distributions like ArchLinux. I use it on my 3 servers at work and on my desktop and server at home. the package manager, pacman, is by far the best I've ever used. While it may not categorize some things into software groups, it does have it broken down into core, extra and then everything else. It is also extremely easy to configure and create wrappers or optional interfaces that utilize pacman (just like some of the others mentioned. There is also a package called the "arch build system" that allows you to create your own packages from source with the simple modifications of a PKGBUILD file, making recompiling and rebuilding easy and efficient. My latest server was not fully supported by a vanilla or even a patched kernel so a few quick modifications to the PKGBUILD and the kernel config and one command later, the package was compiled from source and installed without me sweating, swearing or crying.
I don't want this to come off as a "YAY ARCH - EVERYBODY SWITCH" comment so much as a "do a little more research, or even a community probe could get you better information" comment. The concept of the article wasn't bad just slightly "mis-informative". Especially seeing as how not everything that is open-source and is an OS is linux/unix. Most are linux-like or unix-like (as is the nature of progression.
As a note for the naysayers, I've used Windows Server, Debian, Gentoo, RedHat, SuSE, ubuntu, FreeBSD, OpenBSD, Solaris and many spin offs of some of those. All of them have their strengths and weaknesses (most notably the flaw of the Windows Server platform would be any machine that loads it - THAT is a biased opinion.)
in Debian based distros like *ubuntu you can set automatically daily updates without _any_ user intervension and without installing additional software.
Its a first time I see such badly written article on tomsharware.
What if find in this article is the lack of rollback possibility, UCE has and I've used it too. Disk space? It checks it before your do the test run? Yepp thats possible too. Oh did I also say it uploads on the testrun so the final update is not depending on network? Brilliant If I may say so.
Disclamer: I am a linux admin, with small trips into solaris land, I am not a sun drone.
However, both (L)unix and windows updates get to be more of a pain for companies. Not just in downtime, but you don't want to just drop a new compiler in, or anything for that matter. Care does need to be taken on updating those. That is one way Linux can be more of a pain. Companies generally use Windows for email, and probably Excel and Word. But, at least in my expierience, all real work is done under some Unix/Linux distribution.
It sounds to me as if you've never written a shell script. You know, automated tasks that Windows can't do securely. Vista's entire premise is to suck the teet of DRM holders (Hollywod) and has nothing to do with the user and the user experience. Secondly, get a real server OS, www.freebsd.org. Read the documentation which will 99% of the time carry over into Linux and will explain exactly why UNIX is vastly superior than anything Microsoft has made-even Xenix.
Patching RHEL or SLES is as simple as using RHN / Satellite or Zenworks. The servers will very rarely require a reboot (unless it's a kernel update) unlike their Windows cousins.
If we're talking a production Datacenter network, as it seems here and comparing like with like, it's only fair to compare enterprise Linux distributions with Windows Server. These distributions have been designed around the most stable code base with supportability like stable patching and updating in mind. This is why Red Hat release periodic updates to their OS, much like MS release service packs.
It's not really fair to compare a roll your own Linux distro and compare it to an os like Windows server sold as an "enterprise operating system" The days of being on your own with package updates and having to manually recompile kernels etc are well and truly gone unless you have some specific need or desire to do it.
Unfortunatley it's articles like this written by people who have either no Linux experience or have not taken a good look at Enterprise linux distributions for a long time that get the eye of IT management and promote the misconception that linux systems are somehow less stable and harder to administer than Windows systems.
I thought I'd reply to some of the comments...
I'd like to see how many machines people are managing, especially those whose cousin's-buddy's-cousin Homer manages. If you work in an enterprise-sized environment, then you'd probably appreciate this article as these are issues I run into quite often.
To all you Linux haters and Windows haters...I never really understood why folks can be so one-sided. One OS in a large environment will never be the answer. There's so many factors that will determine what OS you end up using, so why not use them both (and throw in a mainframe and some Sun while you're at it)!?!
Really, if Windows and Linux had a kid, poor little WinNix would never have any friends.
The details on patching Debian distros may be scant, but I felt I had to mention Ubuntu because of it's growing popularity. Sorry, I couldn't get too into it, but my bigger focus is with SuSE and RedHat.
I'm just trying to cover the basic issues and techniques used to patch Linux. If there was more time I would have gotten more into ZenWorks and RHEL. Either way, I love to see how people over simplify patching servers without mentioning what they're managing. I find it hard to believe that these folks run more than a handful of machines and haven't run into any of these problems.
Other than mentioning that there a lot of patching applications out there to run on your Windows environment, a lot of the hassles you run into patching Linux apply to Microsoft as well. No system is really better than the other because it's all about how YOU manage IT.
One point about the article is it tougher to find something to help you manage your Linux patches. If you've got a nice sized budget, then get ZenWorks or buy a subscription. If you don't, then you'll need an alternative.
Thanks for the mention about PatchQuest. I'll check my sources (still, with a user-base as big as Novell/SuSE, why would a vendor not support a marketed distro and support Debian instead?---yeah, loaded question. That's how I roll).
...and finally, a reboot is a reboot. Sure, it may not happen as much with Linux, but it still does and in a lot of cases, you still need to plan for it.
Well, that's it for now. I hope you appreciate for what it basically is and not what you think it should be. Keep it positive and thrown in any advice that would benefit other readers experience with Linux. I'm sure they'd appreciate it.
Signed...not Steve Balmer.
Well... Only if you're going to talk about updating the Operating System.
You see if you run Ubuntu and use the SPM to install MySQL or PostGreSQL or Open Office or your music player or video player or email reader or yada yada yada, the Update Process can/will update all of those things for you, automatically.
Microsoft only updates Microsoft. Ubuntu updates the World!
And it's coming Stevie B.
One odd animal inspired version at a time.
It's in your city. Hell, it's on your street.
Oh My God, Mr. Balmer. We've traced the Ubuntu update request. It's coming from inside your house!
And is it really worth to update every new software version as soon as it gets stable? Nope.
If you notice, major hosting firms are still having six-years-old php 4 at your disposal, probably still running kernel 2.4.x. Why? Becouse it works. And if it ain't broken, don't fix it.
It's just business, if it's crititcal - we'll patch it. If a new version is running faster by 2%, it's not worth it.
Somewhere in the real world there is no space for automatic updates...
- 1 / 2
- Next
-

Good job!
Darkk