Linux - Automatic Updates?
-
How do you handle updates in Linux? Right now I just run yum -y update from time to time, but I am thinking I should setup something automated and more frequently.. Should I just run it as a cron job?
-
I run a cron job on my personal servers. No issues with them, but I'm not sure I would do it for production.
-
There are multiple approaches to this. But generally I recommend a weekly cron job that does an update and reboot when the update completes. Probably want to add some alerting to that such as an email that says "Running Updates" and another that says "Back Up".
Or better than email is API to something like Status.net.
-
@coliver said:
I run a cron job on my personal servers. No issues with them, but I'm not sure I would do it for production.
That's exactly what we do for production. Reliable, low overhead, runs like Windows updates do.
-
@scottalanmiller said:
@coliver said:
I run a cron job on my personal servers. No issues with them, but I'm not sure I would do it for production.
That's exactly what we do for production. Reliable, low overhead, runs like Windows updates do.
I setup
yum-cron
on all my CentOS servers. It handles it all for me.yum -y install yum-cron #-- then edit the config. nano /etc/yum/yum-cron.conf #-- or vi for those that prefer vi /etc/yum/yum-cron.conf
This is how i set my proxy server up.
[commands] # What kind of update to use: # default = yum upgrade # security = yum --security upgrade # security-severity:Critical = yum --sec-severity=Critical upgrade # minimal = yum --bugfix update-minimal # minimal-security = yum --security update-minimal # minimal-security-severity:Critical = --sec-severity=Critical update-minimal update_cmd = default # Whether a message should be emitted when updates are available, # were downloaded, or applied. update_messages = yes # Whether updates should be downloaded when they are available. download_updates = yes # Whether updates should be applied when they are available. Note # that download_updates must also be yes for the update to be applied. apply_updates = yes # Maximum amout of time to randomly sleep, in minutes. The program # will sleep for a random amount of time between 0 and random_sleep # minutes before running. This is useful for e.g. staggering the # times that multiple systems will access update servers. If # random_sleep is 0 or negative, the program will run immediately. # 6*60 = 360 random_sleep = 360 [emitters] # Name to use for this system in messages that are emitted. If # system_name is None, the hostname will be used. system_name = nginx.ad.domain.com # How to send messages. Valid options are stdio and email. If # emit_via includes stdio, messages will be sent to stdout; this is useful # to have cron send the messages. If emit_via includes email, this # program will send email itself according to the configured options. # If emit_via is None or left blank, no messages will be sent. emit_via = email # The width, in characters, that messages that are emitted should be # formatted to. ouput_width = 80 [email] # The address to send email messages from. email_from = [email protected] # List of addresses to send messages to. email_to = [email protected] # Name of the host to connect to to send email messages. email_host = localhost [groups] # NOTE: This only works when group_command != objects, which is now the default # List of groups to update group_list = None # The types of group packages to install group_package_types = mandatory, default [base] # This section overrides yum.conf # Use this to filter Yum core messages # -4: critical # -3: critical+errors # -2: critical+errors+warnings (default) debuglevel = -2 # skip_broken = True mdpolicy = group:main # Uncomment to auto-import new gpg keys (dangerous) # assumeyes = True
-
@JaredBusch good tip, had not used that before!
-
@scottalanmiller said:
@JaredBusch good tip, had not used that before!
no need to setup my own cron job. it handles it all.
-
Yeah, that's very cool. Very handy.