レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

C5 C6 S6

yum を使って システムアップデートを行う (自動化も)

2010年7月17日 2015年5月17日
centos howto

先のCentOSをインストールする(2)からの続きです。
CentOSの基本的な設定を終えたら、最初にOSのバージョンアップをしましょう。
Windowsでも最初にWindowsのアップデートを行うようにCentOSでも最新のセキュリティパッチなども提供されているかもしれません。まずは、アップデートしておきましょう。

システムのアップデート手順

システムのアップデートの手順は、

  • アップデートに不要なパッケージがあれば、それを指定します。
  • アップデートが必要なパッケージがあるか確認します。
  • アップデートが必要であればアップデートを実施します。
  • アップデートを自動化します。


と、こんな感じで始めます。

アップデート不要なパッケージを指定する。

アップデート不要なパッケージがあれば、/etc/yum.confに指定します。

$ vi /etc/yum.conf

[main]
exclude=gcc* kde* openssh* kernel* php* mysql*

ここでは、以下のようなものを指定してみています。 無条件に何でもかんでもアップデートしてしまうと、環境が変わって、今まで正しく動いていたものが、動かなくなることが多々あります。 そのためにも、意識してアップデートしたくないものは、ここで、指定しておくできです。

最初(インストール直後)は、セキュリティを考えるとあまり意識せずにできるだけ最新を取り込んでおいた方が良いと思います。
そのため、ここの設定は、できれば、最初のシステムアップデートを終えた後に行うことが良いと思います。
(つまり、2回目以降のアップデート時に有効になるようにした方が良いということです。)
  • gcc(コンパイラ)
  • kde(KDE GUIパッケージ)
  • openssh(OpenSSHパッケージ)
  • kernel(カーネルパッケージ)
  • php(phpパッケージ)
  • mysql(mysqlパッケージ)

ここでは、すべてのパッケージを指定せずに”*“ワイルドカードを指定して、一括指定しています。もちろん、個々のパッケージを指定することも可能です。


アップデートが必要なパッケージがあるか確認します。

アップデートが必要なパッケージは、yum check-updateで知ることができます。

$ yum check-update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: www.ftp.ne.jp
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp

NetworkManager.i386                            1:0.7.0-10.el5                      base
NetworkManager-glib.i386                       1:0.7.0-10.el5                      base
NetworkManager-gnome.i386                      1:0.7.0-10.el5                      base
...
device-mapper.i386                             1.02.39-1.el5_5.2                   updates
device-mapper-event.i386                       1.02.39-1.el5_5.2                   updates
device-mapper-multipath.i386                   0.4.7-34.el5_5.1                    updates
...

ここで、各パッケージ名が左にリスト表示されます。 その各パッケージ名の右にbase, updatesなどと表示されます。 このupdatesの場合は、そのパッケージの最新アッケージがあります・・・という意味になります。。

アップデートが必要であればアップデートを実施します。

アップデートは、各パッケージ毎に、yum update xxxx で実施することもできます。(xxxx:パッケージ名)
また、一括して先にチェックでupdatesと出力された全てのパッケージをyum updateアップデートすることもできます。

$ yum update 
...
Total download size: 475 M
Is this ok [y/N]: y
...

上記のようにダウンロードサイズの確認と実際にアップデートの前の確認が1回ずつ行われます。 すべてyで一括アップデートが実施されます。

DVDからのインストールを実施した場合は、最初のアップデートは多いかもしれませんが、2回目以降は、少なくなると思います。

アップデートを自動化します。

先のyum updateで無条件にアップデートして良ければ、それをcronに登録すれば良いと思います。
以下は、cronに直接起動処理を記述した例です。毎日5時5分にアップデートを実施するように指定しています。

$ /usr/bin/crontab -e

05 05 * * * /usr/bin/yum -y update

しかし、少々、危ないですね。
そのため、一般的には、アップデートすべきパッケージがどれだけあるか、毎日チェックし、そのチェック結果を通知する仕組みを採ることが多いようです。
その時に用いるのが、yum-cronです。

  1. yum-cronのインストール

    CentOS(RedHat系)では、もうおなじみのyumでインストールです。

    $ yum install  yum-cron
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    ...
    
    ================================================================================
     Package                   Arch     Version                     Repository
                                                                               Size
    ================================================================================
    Installing:
     yum-cron                  noarch   3.2.29-22.el6.centos.2      updates    34 k
    ...
    
    Transaction Summary
    ================================================================================
    Install       5 Package(s)
    
    Total download size: 162 k
    Installed size: 252 k
    Is this ok [y/N]: yreturn
    ...
    Complete!

  2. yum-cronの設定ファイル編集

    yum-cronの設定を行う場合、/etc/sysconfig/yum-cron を編集することで実施します。

    /etc/sysconfig/yum-cron

    
    # Pass any given paramter to yum, as run in all the scripts invoked
    # by this package.  Be aware that this is global, and yum is invoked in
    # several modes by these scripts for which your own parameter might not
    # be appropriate
    YUM_PARAMETER=
    
    # Don't install, just check (valid: yes|no)
    CHECK_ONLY=no
    
    # Check to see if you can reach the repos before updating (valid: yes|no)
    CHECK_FIRST=no
    
    # Don't install, just check and download (valid: yes|no)
    # Implies CHECK_ONLY=yes (gotta check first to see what to download)
    #DOWNLOAD_ONLY=no
    DOWNLOAD_ONLY=yes
    
    # Error level, practical range 0-10, 0 means print only critical errors which
    # you must be told, 1 means print all errors, even ones that are not important
    # Level 0 is the default
    # ERROR_LEVEL=0
    
    # Debug level, practical range 0-10, higher number means more output
    # Level 1 is a useful level if you want to see what's been done and
    # don't want to read /var/log/yum.log
    # Level 0 is the default
    # DEBUG_LEVEL=1
    
    # randomwait is used by yum to wait random time
    # default is 60 so yum waits random time from 1 to 60 minutes
    # the value must not be zero
    RANDOMWAIT="60"
    
    # if MAILTO is set and the mail command is available, the mail command
    # is used to deliver yum output
    
    # by default MAILTO is unset, so crond mails the output by itself
    # example:  MAILTO=root
    MAILTO=
    
    # you may set SYSTEMNAME if you want your yum emails tagged differently
    # default is output of hostname command
    # this variable is used only if MAILTO is set too
    #SYSTEMNAME=""
    
    # you may set DAYS_OF_WEEK to the days of the week you want to run
    # default is every day
    #DAYS_OF_WEEK="0123456"
    
    # which day should it do cleanup on?  defaults to 0 (Sunday).  If this day isn't in the
    # DAYS_OF_WEEK above, it'll never happen
    CLEANDAY="0"
    
    # set to yes to make the yum-cron service to wait for transactions to complete
    SERVICE_WAITS=yes
    
    # set maximum time period (in seconds) for the yum-cron service to wait for
    # transactions to complete.  The default is 300 seconds (5 minutes)
    SERVICE_WAIT_TIME=300
    YUM_PARAMETER
    yumへ渡すパラメータを指定します。ここで、yum にパラメータを渡すと、このパッケージで呼び出されたすべてのスクリプトで実行されます。
    CHECK_ONLY
    この値が、yesなら、インストールは実行しません。チェックのみを実施します。
    CHECK_FIRST
    アップデートする前にリポジトリに到達することができますかどうかをチェックする。
    DOWNLOAD_ONLY
    この値が、yesなら、インストールは実行しません。チェックとダウンロードまでを実施します。CHECK_ONLY=yes を含んでいます。
    ERROR_LEVEL
    エラーレベル(0-10)を指定します。0は、知らなければならない必要最小限の重要なエラーのみを出力します。1は、大事でないものも含めて全てのエラーを出力します。デフォルト0です。
    DEBUG_LEVEL
    デバッグレベル(0-10)を指定します。大きい数値は、出力情報が多くなります。レベル1は、/var/log/yum.logを見ることなく yumで何か実施されたか知るのに一般的に良く使われるレベルでしょう。デフォルト0です。
    RANDOMWAIT
    randomwaitは、yumがランダムな時間 待つために使われます。デフォルトは、60(分)です。この値は、0を指定してはいけません。1-60 の数値を設定します。
    MAILTO
    yumの出力情報をメールで送信する先の送信先を設定します。デフォルトは、root 宛てに送信します。
    SYSTEMNAME
    yumで使用するメール内のデフォルトのホスト名と異なるシステム名を使いたい場合に設定します。ここで設定した名前は、MAILTO で送信されるメールにも使用されます。
    DAYS_OF_WEEK
    実施する曜日(数値 0:日曜日-6:土曜日)を指定します。デフォルトでは、”0123456″ で毎日実施されます。
    CLEANDAY
    消去する曜日を指定します。デフォルト 0 (日曜日) 上記のDAYS_OF_WEEKに設定されていないなら、消去されません。
    SERVICE_WAITS
    転送完了まで yum-cron サービスを待たせるか否かを設定します。yes:待たせる
    SERVICE_WAIT_TIME
    転送完了まで yum-cron サービスの最大待ち時間を設定します。 デフォルト 300 秒(5分)
    ここでは、
    CHECK_ONLY , DOWNLOAD_ONLY は、意識して設定すべきでしょう。
    いずれも no を設定しておくと自動で更新まで実施してくれます。

    CHECK_ONLY=yes
    DOWNLOAD_ONLY=no
    とするとチェックのみ実施されます。
    ※チェック+ダウンロードまでしたい場合は、DOWNLOAD_ONLY=yesとします。

    また、

    CHECK_ONLY=no
    DOWNLOAD_ONLY=no
    とすると自動的にアップデートまで実施します。

    ただ、ほとんどは、負荷の少ない夜中に実施するでしょうから、もしもエラーが発生した際は、最悪の場合、システムに異常をきたすかもしれません。

    その対応までを考慮すれば、しばらくは、ダウンロードまでを実施、手動でアップデートを行うことでしょうね。 しばらく問題がなければ、自動更新に切り替える・・・という手順でも良いかもしれません。

    自動更新でシステム異常となることは、早々ありません。そのリスクをどう見るか・・・でしょうね。

    また、更新があるとroot宛てにメールが来ます。
    メールの送信先を変更したい場合は、MAILTOにメールアドレス(ユーザ名)を指定することでyumのメールの送信先を変更することができます。
    MAILTO=hoge
    と設定すれば、hoge宛てにメールを送信することができます。

  3. yum-cronを起動
    $ /etc/rc.d/init.d/yum-cron start
  4. yum-cronをシステム再起動でも起動させる
    $ chkconfig yum-cron on

アップデートの自動化まで、できていれば、後は、メールを待つぐらいでしょうかね。

ここで一部説明しているcronは、LinuxをはじめとしてUNIX系では、自動化するためによく使います。
理解しておくと非常に便利な機能です。

格安レンタルサーバーを使う場合にも、これからサイトの立ち上げた後、mysqlのバックアップやHTML,phpファイルのバックアップなどを自動化するのもこのcronを利用します。

参照記事:
CRON(クーロン)とは…
cron(クーロン) を使いたい方へのおすすめは…

このシステムのアップデートの作業を終えたら、「評判のさくらのVPSを使うときに最初にやっておきたいこと(CentOS編)」の基本設定を行っておきましょう。 (「評判のさくらのVPSを使うときに最初にやっておきたいこと(CentOS編)」は、さくらのVPSの設定のようなタイトルになっていますが、サーバーとしてCentOSを利用するなら、同じ手順で無駄なリソースを使わないように設定できます。)
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

CRONを使う

今回は、CRONを使ってみます。 CRONを使う場合には、直接、crontab ファイルを編集する方法と、crontabコマンドを利用して ...

評判のさくらのVPSを使うときに最初にやっておきたいこと(Scientific Linux編)

先のScientific Linux 6.x をインストールするからの続きです。 CentOS版の ・yum を使って ...

FreeBSDのセキュリティアップデート

さて、今回は、FreeBSDのシステムアップデート手順です。 FreeBSDでは、セキュリティ対応のため自動アップデートできるような仕組みがあ ...

yumでmysql5.1系を最新版へアップデートする

今までCentOSに関して、ほとんどアプリケーション、サーバー類をインストールする場合、yumを使ってきました。 これは、インストールした ...

yumでErrno 14が出た時の対処

しばらくメンテナンスをしていなかったサーバーを、久しぶりにyumでアップデートしたら、エラーが表示されアップデートできませんでした。 その時の ...



コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.1936 [s]