SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
まだまだ現役! RHEL5/CentOS5
 YUMでも新しいバージョンのパッケージを使う



サーバ運用超入門勉強会

              Copyright Digital-Effect Network Co., Ltd. All rights reserved.
アジェンダ


       お話する内容

       • YUMで入るパッケージは古い?
             – YUMは便利か不便か
             – 新しいバージョンを入れる各種方法
             – 標準リポジトリで新しいバージョンのPHP




2012/12/21            -1-   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       YUMって便利?不便?
       (※Redhat はVer.5系よりyumが標準採用。Ver.4系までは、up2dateによる管理が標準でした。)


       便利
       •     インストール/アンインストール時にパッケージ間の依存関係を自動で調べてくれ
             る。(バージョン依存を気にしないでよい)

       •     リポジトリ(アプリケーションのダウンロードサーバ)からパッケージをダウンロード
             し、自動でインストールしてくれる。


       サーバ管理の視点で見ると、全てサーバ側(YUM側)で調整してくれるので、不整合
       が起こったりせず、運用が楽。

      ※不整合:
      アプリAをアップデートしたい。アプリAにはライブラリBが必要で、このライブラリもアップデートする必要がある。
      そもそもアプリAにどのライブラリが必要とされているのか、また今回のアップデートにライブラリのアップデート
      も必要なのか、といった点まで管理するのは困難。間違えるとバージョン間の動作連携ができなくなり、この調
      査・解決に時間がかかることも。。。
      (→依存関係地獄へ・・・)


2012/12/21                               -2-           Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       YUMって便利?不便?
       不便
       • バージョンの細かな指定はできず、リポジトリで公開されている最新バージョンが
       対象になる。

       •     リポジトリで公開されていないものは、YUMでインストールやアップデートができ
             ない。

       など


      ※リポジトリ:
      Yumコマンドを使うことで、そのOSベンダーが公開しているリポジトリサーバにアクセスして、該当パッケージ
      ファイル(RPMファイル)を取得したり、アップデート対象を探したりします。
      このリポジトリサーバで公開されているファイルをインストールしたり、アップデートするので、利用する側が公
      開されていないバージョンを指定することはできないのです。
      (※自前でリポジトリサーバを構築するという、やや強引な方法もありますが、今度はこのリポジトリサーバ自身
        の管理という手間が必要になってきます。。。)



2012/12/21                -3-     Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       YUMって便利?不便?
       管理性を考えると、YUMで管理する方が便利で楽です。

       例えば、バージョンアップする必要があるとき、パッケージ同士の依存関係を調べる
       など管理工数がかかります。
       さらに複数のサーバを管理しているとき、一台ずつメンテナンスをしていくのは、時間
       もかかり、数が増えればオペレーションミスを起こす場合もあります。

             パッケージAのバージョンアップにはライブラリBのバージョンアップが必要

             ライブラリBのバージョンアップにはライブラリCのバージョンアップが必要

                    ライブラリCは、パッケージDも使っている。
                 パッケージDも同時にアップデートしないといけない。。。

                    作業工数を調査するだけでも一苦労(汗)

2012/12/21               -4-   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       でも
       便利なYUMですが、最新バージョンのアプリケーションがインストールできないなど
       の問題もあります。

       • 最新バージョンを扱えるようにする変わりにメンテナンス性を
         犠牲にするか?

       • プログラムの作りこみで最新バージョンは諦めて、メンテナン
         ス性を守るか?


       どちらも満足したい!

       では、どうすれば??
2012/12/21            -5-   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       最新バージョンが使えない!?
       Redhat社やCentOSコミュニティで公開されている最新パッケージは、各公式団体が
       公開している最新バージョンとは連動していません。

    例) CentOS 5.8でYUMインストールされるアプリバージョンと公式バージョン比較
     アプリケーション            公式バージョン      OSベンダバージョン
       PHP                    5.4.8                         5.1.6
       MySQL                  5.5.28                        5.0.95
       PostgreSQL             9.2.1                         8.1.23
       BIND                   9.9.2                         9.3.6
       OSベンダのアプリの場合、セキュリティフィックスやバグフィックスなどでバージョンアップは行われていきますが、
       機能追加などの点でバージョンが大きく変わることはありません。(PHPバージョンが5.1→5.3へアップする等。)


       公式バージョンに近いバージョンのアプリを使いたい場合、他の方法でインストールする
       必要があります。
       (※ソースインストールや参照レポジトリの変更などの方法がありますが、一長一短があります。)


2012/12/21                       -6-       Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       それでも、新しいバージョンを使いたい
       Yumは便利だが、Yumでインストールできるものより、新しいバージョンを使いたい。


       方法
       •     ソースファイルでインストール
             –   公式サイトからソースファイル(tar.gzファイル等)を取得して、コンパイル・インストール
                 ※依存関係やコンフィグオプションの調査などを行う必要があり、コマンド一発OK! いうわけには行きません。

       •     OSのバージョンアップ
             –   OS自体をVer4→Ver5、Ver5→Ver6へアップデートすると大きくアプリのバージョンも上がります…。
                 ※OSのバージョンだけ上げるという事はできないので、サーバのリプレイス(OSの入れ替え、再構築)という形になります。


       •     参照レポジトリを変更
             –   RedhatやCentOSコミュニティ以外の、コミュニティベースで公開されているレポジトリ(※)を参照するよう
                 に、yumの設定を修正します。(※野良レポジトリとも呼ばれます。)
             –   野良レポジトリは、メンテナンスが継続されるかどうか保証されていません。
                 ※公開パッケージが更新されなくなると、アプリの入れなおしも必要になってくる場合があります。


       • 標準レポジトリから新バージョン向けのパッケージを使う
2012/12/21                          -7-       Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       設定を変えずYumで新しいバージョンを使う

       •     ソースファイルからコンパイルしてインストールは難しそう。。

       •     OSの入れ替え、つまりリプレイスなんて無理。大人の事情もあるし…

       •     Yumの設定を変更すると、その後のyum自体の管理って大変では?
             –   他のアプリも野良レポジトリを参照してしまう。
             –   野良レポジトリは使いたい時にだけ指定するようにできるが、毎度の指定を忘れてしまうことも出てくる。
             –   Yumの設定を自分の希望通りになるように変更する必要がある。



       簡単に、便利に、楽に、新しいバージョンのアプリを使いたい



2012/12/21                      -8-       Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?

       何かいい方法はないか
       RHEL/CentOSともに、新しいバージョンのアプリを名前を変えて出しています!

       RHEL/CentOS5系の場合
       • PHP        →   PHP53
       • PostgreSQL →   PostgreSQL84
       • BIND       →   BIND97


       従来の名前のパッケージ以外に、新しいバージョン用のパッケージが出ています。
       アプリ名        パッケージ名              バージョン           新パッケージ名                                新バージョン

       PHP         php                 5.1.6           php53                                  5.3.3

       PostgreSQL postgresql-server    8.1.23          postgresql84-server                    8.4.13
       BIND        bind                9.3.6           bind97                                 9.7.0



2012/12/21                       -9-            Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       どんな感じ?(yum info の各結果)
             php
         Name          php
         Arch          i386
         Version       5.1.6
         Release       39.el5_8
         Summary       The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)
         URL           http://www.php.net/
         License       The PHP License v3.01



             php53
             Name      php53
             Arch      i386
             Version   5.3.3
             Release   13.el5_8
             Summary   PHP scripting language for creating dynamic web sites
             URL       http://www.php.net/
             License   PHP and LGPLv2 and LGPLv2+




2012/12/21                                  - 10 -         Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       こんなハッピー
       例) CentSOS5で、最新のWordpressを使ってサイトを作る

       Wordpress最新版のインストール要件 (2012/11現在のwordpress.orgより)
       • PHP 5.2.4以上
       • MySQL 5.0以上

       CentOS5では、標準だとPHPは5.1.6が最高バージョンで要件を満たさない…。
       ところが、何も特殊な設定をしなくても、要件通りの環境を構築できる。


      # yum install php53
      # php -r 'phpinfo();'|grep "PHP Version“
      PHP Version => 5.3.3

       バージョン5.3.3のPHPがインストールできました。


2012/12/21                           - 11 -      Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       他の方法
       参照リポジトリを変更 ~サードパーティのリポジトリを使う~
       Remiやrpmforgeといった、OS標準外のリポジトリが公開されています。
       これらは、標準リポジトリでは対応していないような新しいバージョンのパッケージを公
       開しています。
       これらのリポジトリを参照することで、依存関係のチェックなどyumコマンドの便利さを失
       うことなく新しいパッケージをインストールすることができます。

       注意点
       この設定を行うと、全てのアプリケーションが変更したリポジトリを参照してしまいます。
       これらは非公式なリポジトリなので、いつ閉鎖されるか分からず、注意が必要です。

       通常時は標準のリポジトリを参照し、必要に応じて、都度サードパーティを指定して作業
       するという運用になります。忘れないように注意しましょう!




2012/12/21            - 12 -   Copyright Digital-Effect Network Co., Ltd. All rights reserved.
YUMで入るパッケージは古いからヤダ?


       補足
       OSがバージョン6だと、これらのパッケージは使わなくても、ある程度バージョンの高い
       パッケージが標準としてインストールされます。

       アプリ名          パッケージ名                                  バージョン
       PHP           php                                     5.3.3
       PostgreSQL    postgresql-server                       8.4.13
       BIND          bind                                    9.8.2
       MySQL         mysql-server                            5.1.66




       バージョン5系のOSので、どうしても標準より新しいバージョンを使う場合は、yumの標
       準レポジトリで別名のパッケージとして、提供されていないか確認してみましょう。


2012/12/21             - 13 -       Copyright Digital-Effect Network Co., Ltd. All rights reserved.
ご清聴ありがとうございました。




広告スペース
                          設計から運用まで、
                          安全・安心ホスティング
                        単体サーバから複数台構成まで幅広く対応致します。

      管理性も視野に入れたバージョン管理ノウハウ!
2012/12/21     - 14 -      Copyright Digital-Effect Network Co., Ltd. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介shigeya
 
バージョン管理システムチュートリアル
バージョン管理システムチュートリアルバージョン管理システムチュートリアル
バージョン管理システムチュートリアルRyo Igarashi
 
Git extensions ws外部公開用
Git extensions ws外部公開用Git extensions ws外部公開用
Git extensions ws外部公開用CROOZ, inc.
 
Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理Kazuki Takai
 
Hinemosは誤解されている?
Hinemosは誤解されている?Hinemosは誤解されている?
Hinemosは誤解されている?Hinemos
 
Linux and System Center Operations Manager
Linux and System Center Operations ManagerLinux and System Center Operations Manager
Linux and System Center Operations ManagerNorio Sashizaki
 
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較Hinemos
 
RunbookによるPROヒントの実装
RunbookによるPROヒントの実装RunbookによるPROヒントの実装
RunbookによるPROヒントの実装Norio Sashizaki
 
Docker for windows を動かす
Docker for windows を動かすDocker for windows を動かす
Docker for windows を動かすShinnji Hoshino
 
Adobe premiere pro cs5 お読みください
Adobe premiere pro cs5 お読みくださいAdobe premiere pro cs5 お読みください
Adobe premiere pro cs5 お読みくださいKienzle Da Silva
 
Redmineサーバ統合事例
Redmineサーバ統合事例Redmineサーバ統合事例
Redmineサーバ統合事例Yuuki Nara
 
Notes 技術者のための はじめての XPages 講座 (XPagesDay 2015)
Notes 技術者のためのはじめての XPages 講座 (XPagesDay 2015)Notes 技術者のためのはじめての XPages 講座 (XPagesDay 2015)
Notes 技術者のための はじめての XPages 講座 (XPagesDay 2015)Takeshi Yoshida
 
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichiaPowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichiajunichi anno
 
Windows server technical preview hyper v の新機能
Windows server technical preview hyper v の新機能Windows server technical preview hyper v の新機能
Windows server technical preview hyper v の新機能Syuichi Murashima
 
Open Build Serviceで楽をする
Open Build Serviceで楽をするOpen Build Serviceで楽をする
Open Build Serviceで楽をするKento Kawakami
 
Android組み込み開発テキスト pandaboard es編
Android組み込み開発テキスト pandaboard es編Android組み込み開発テキスト pandaboard es編
Android組み込み開発テキスト pandaboard es編OESF Education
 
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-hakoika-itwg
 
LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)Kazuko Itoda
 
OSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_teradaOSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_teradaManabu Terada
 
eZ publish勉強会2013年9月「ez publish効率入門」
eZ publish勉強会2013年9月「ez publish効率入門」eZ publish勉強会2013年9月「ez publish効率入門」
eZ publish勉強会2013年9月「ez publish効率入門」ericsagnes
 

Was ist angesagt? (20)

Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介
 
バージョン管理システムチュートリアル
バージョン管理システムチュートリアルバージョン管理システムチュートリアル
バージョン管理システムチュートリアル
 
Git extensions ws外部公開用
Git extensions ws外部公開用Git extensions ws外部公開用
Git extensions ws外部公開用
 
Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理
 
Hinemosは誤解されている?
Hinemosは誤解されている?Hinemosは誤解されている?
Hinemosは誤解されている?
 
Linux and System Center Operations Manager
Linux and System Center Operations ManagerLinux and System Center Operations Manager
Linux and System Center Operations Manager
 
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
 
RunbookによるPROヒントの実装
RunbookによるPROヒントの実装RunbookによるPROヒントの実装
RunbookによるPROヒントの実装
 
Docker for windows を動かす
Docker for windows を動かすDocker for windows を動かす
Docker for windows を動かす
 
Adobe premiere pro cs5 お読みください
Adobe premiere pro cs5 お読みくださいAdobe premiere pro cs5 お読みください
Adobe premiere pro cs5 お読みください
 
Redmineサーバ統合事例
Redmineサーバ統合事例Redmineサーバ統合事例
Redmineサーバ統合事例
 
Notes 技術者のための はじめての XPages 講座 (XPagesDay 2015)
Notes 技術者のためのはじめての XPages 講座 (XPagesDay 2015)Notes 技術者のためのはじめての XPages 講座 (XPagesDay 2015)
Notes 技術者のための はじめての XPages 講座 (XPagesDay 2015)
 
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichiaPowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
 
Windows server technical preview hyper v の新機能
Windows server technical preview hyper v の新機能Windows server technical preview hyper v の新機能
Windows server technical preview hyper v の新機能
 
Open Build Serviceで楽をする
Open Build Serviceで楽をするOpen Build Serviceで楽をする
Open Build Serviceで楽をする
 
Android組み込み開発テキスト pandaboard es編
Android組み込み開発テキスト pandaboard es編Android組み込み開発テキスト pandaboard es編
Android組み込み開発テキスト pandaboard es編
 
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
 
LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)
 
OSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_teradaOSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_terada
 
eZ publish勉強会2013年9月「ez publish効率入門」
eZ publish勉強会2013年9月「ez publish効率入門」eZ publish勉強会2013年9月「ez publish効率入門」
eZ publish勉強会2013年9月「ez publish効率入門」
 

Ähnlich wie 意外と知らない?Yumパッケージ管理

20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナーKazuko Itoda
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介Etsuji Nakai
 
XPages の最新機能を、XPages Extension Library Japan の日本語サンプルで試そう!
XPages の最新機能を、XPages Extension Library Japan の日本語サンプルで試そう!XPages の最新機能を、XPages Extension Library Japan の日本語サンプルで試そう!
XPages の最新機能を、XPages Extension Library Japan の日本語サンプルで試そう!Hiroaki Komine
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-Hiroki Kondo
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築Hideharu MATSUFUJI
 
第1回 Open Build Service 道場
第1回 Open Build Service 道場第1回 Open Build Service 道場
第1回 Open Build Service 道場Fuminobu Takeyama
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計maebashi
 
Flumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムFlumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムSatoshi Iijima
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Yuya Yamaki
 
12 総合演習Word Pressの利用
12 総合演習Word Pressの利用12 総合演習Word Pressの利用
12 総合演習Word Pressの利用文樹 高橋
 
Personal Cloud Automation
Personal Cloud AutomationPersonal Cloud Automation
Personal Cloud AutomationEtsuji Nakai
 
PF部2012年3月勉強会.androidsola
PF部2012年3月勉強会.androidsolaPF部2012年3月勉強会.androidsola
PF部2012年3月勉強会.androidsolaandroid sola
 
Windows の Docker 上で PGX を動かしてみた
Windows の Docker 上で PGX を動かしてみたWindows の Docker 上で PGX を動かしてみた
Windows の Docker 上で PGX を動かしてみたHikari Morita
 
20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそ20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそHiromu Shioya
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo LinuxについてTakuto Matsuu
 

Ähnlich wie 意外と知らない?Yumパッケージ管理 (20)

20130203 oss-db-lpi
20130203 oss-db-lpi20130203 oss-db-lpi
20130203 oss-db-lpi
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
 
XPages の最新機能を、XPages Extension Library Japan の日本語サンプルで試そう!
XPages の最新機能を、XPages Extension Library Japan の日本語サンプルで試そう!XPages の最新機能を、XPages Extension Library Japan の日本語サンプルで試そう!
XPages の最新機能を、XPages Extension Library Japan の日本語サンプルで試そう!
 
CentOSでつくる神Plesk
CentOSでつくる神PleskCentOSでつくる神Plesk
CentOSでつくる神Plesk
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 
第1回 Open Build Service 道場
第1回 Open Build Service 道場第1回 Open Build Service 道場
第1回 Open Build Service 道場
 
Puppet入門
Puppet入門Puppet入門
Puppet入門
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
 
Flumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムFlumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システム
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
 
12 総合演習Word Pressの利用
12 総合演習Word Pressの利用12 総合演習Word Pressの利用
12 総合演習Word Pressの利用
 
Personal Cloud Automation
Personal Cloud AutomationPersonal Cloud Automation
Personal Cloud Automation
 
PF部2012年3月勉強会.androidsola
PF部2012年3月勉強会.androidsolaPF部2012年3月勉強会.androidsola
PF部2012年3月勉強会.androidsola
 
Windows の Docker 上で PGX を動かしてみた
Windows の Docker 上で PGX を動かしてみたWindows の Docker 上で PGX を動かしてみた
Windows の Docker 上で PGX を動かしてみた
 
PHP With Windows binary
PHP With Windows binaryPHP With Windows binary
PHP With Windows binary
 
Windows Azure PHP Tips
Windows Azure PHP Tips Windows Azure PHP Tips
Windows Azure PHP Tips
 
20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそ20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそ
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 

意外と知らない?Yumパッケージ管理

  • 2. アジェンダ お話する内容 • YUMで入るパッケージは古い? – YUMは便利か不便か – 新しいバージョンを入れる各種方法 – 標準リポジトリで新しいバージョンのPHP 2012/12/21 -1- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 3. YUMで入るパッケージは古いからヤダ? YUMって便利?不便? (※Redhat はVer.5系よりyumが標準採用。Ver.4系までは、up2dateによる管理が標準でした。) 便利 • インストール/アンインストール時にパッケージ間の依存関係を自動で調べてくれ る。(バージョン依存を気にしないでよい) • リポジトリ(アプリケーションのダウンロードサーバ)からパッケージをダウンロード し、自動でインストールしてくれる。 サーバ管理の視点で見ると、全てサーバ側(YUM側)で調整してくれるので、不整合 が起こったりせず、運用が楽。 ※不整合: アプリAをアップデートしたい。アプリAにはライブラリBが必要で、このライブラリもアップデートする必要がある。 そもそもアプリAにどのライブラリが必要とされているのか、また今回のアップデートにライブラリのアップデート も必要なのか、といった点まで管理するのは困難。間違えるとバージョン間の動作連携ができなくなり、この調 査・解決に時間がかかることも。。。 (→依存関係地獄へ・・・) 2012/12/21 -2- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 4. YUMで入るパッケージは古いからヤダ? YUMって便利?不便? 不便 • バージョンの細かな指定はできず、リポジトリで公開されている最新バージョンが 対象になる。 • リポジトリで公開されていないものは、YUMでインストールやアップデートができ ない。 など ※リポジトリ: Yumコマンドを使うことで、そのOSベンダーが公開しているリポジトリサーバにアクセスして、該当パッケージ ファイル(RPMファイル)を取得したり、アップデート対象を探したりします。 このリポジトリサーバで公開されているファイルをインストールしたり、アップデートするので、利用する側が公 開されていないバージョンを指定することはできないのです。 (※自前でリポジトリサーバを構築するという、やや強引な方法もありますが、今度はこのリポジトリサーバ自身 の管理という手間が必要になってきます。。。) 2012/12/21 -3- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 5. YUMで入るパッケージは古いからヤダ? YUMって便利?不便? 管理性を考えると、YUMで管理する方が便利で楽です。 例えば、バージョンアップする必要があるとき、パッケージ同士の依存関係を調べる など管理工数がかかります。 さらに複数のサーバを管理しているとき、一台ずつメンテナンスをしていくのは、時間 もかかり、数が増えればオペレーションミスを起こす場合もあります。 パッケージAのバージョンアップにはライブラリBのバージョンアップが必要 ライブラリBのバージョンアップにはライブラリCのバージョンアップが必要 ライブラリCは、パッケージDも使っている。 パッケージDも同時にアップデートしないといけない。。。 作業工数を調査するだけでも一苦労(汗) 2012/12/21 -4- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 6. YUMで入るパッケージは古いからヤダ? でも 便利なYUMですが、最新バージョンのアプリケーションがインストールできないなど の問題もあります。 • 最新バージョンを扱えるようにする変わりにメンテナンス性を 犠牲にするか? • プログラムの作りこみで最新バージョンは諦めて、メンテナン ス性を守るか? どちらも満足したい! では、どうすれば?? 2012/12/21 -5- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 7. YUMで入るパッケージは古いからヤダ? 最新バージョンが使えない!? Redhat社やCentOSコミュニティで公開されている最新パッケージは、各公式団体が 公開している最新バージョンとは連動していません。 例) CentOS 5.8でYUMインストールされるアプリバージョンと公式バージョン比較 アプリケーション 公式バージョン OSベンダバージョン PHP 5.4.8 5.1.6 MySQL 5.5.28 5.0.95 PostgreSQL 9.2.1 8.1.23 BIND 9.9.2 9.3.6 OSベンダのアプリの場合、セキュリティフィックスやバグフィックスなどでバージョンアップは行われていきますが、 機能追加などの点でバージョンが大きく変わることはありません。(PHPバージョンが5.1→5.3へアップする等。) 公式バージョンに近いバージョンのアプリを使いたい場合、他の方法でインストールする 必要があります。 (※ソースインストールや参照レポジトリの変更などの方法がありますが、一長一短があります。) 2012/12/21 -6- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 8. YUMで入るパッケージは古いからヤダ? それでも、新しいバージョンを使いたい Yumは便利だが、Yumでインストールできるものより、新しいバージョンを使いたい。 方法 • ソースファイルでインストール – 公式サイトからソースファイル(tar.gzファイル等)を取得して、コンパイル・インストール ※依存関係やコンフィグオプションの調査などを行う必要があり、コマンド一発OK! いうわけには行きません。 • OSのバージョンアップ – OS自体をVer4→Ver5、Ver5→Ver6へアップデートすると大きくアプリのバージョンも上がります…。 ※OSのバージョンだけ上げるという事はできないので、サーバのリプレイス(OSの入れ替え、再構築)という形になります。 • 参照レポジトリを変更 – RedhatやCentOSコミュニティ以外の、コミュニティベースで公開されているレポジトリ(※)を参照するよう に、yumの設定を修正します。(※野良レポジトリとも呼ばれます。) – 野良レポジトリは、メンテナンスが継続されるかどうか保証されていません。 ※公開パッケージが更新されなくなると、アプリの入れなおしも必要になってくる場合があります。 • 標準レポジトリから新バージョン向けのパッケージを使う 2012/12/21 -7- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 9. YUMで入るパッケージは古いからヤダ? 設定を変えずYumで新しいバージョンを使う • ソースファイルからコンパイルしてインストールは難しそう。。 • OSの入れ替え、つまりリプレイスなんて無理。大人の事情もあるし… • Yumの設定を変更すると、その後のyum自体の管理って大変では? – 他のアプリも野良レポジトリを参照してしまう。 – 野良レポジトリは使いたい時にだけ指定するようにできるが、毎度の指定を忘れてしまうことも出てくる。 – Yumの設定を自分の希望通りになるように変更する必要がある。 簡単に、便利に、楽に、新しいバージョンのアプリを使いたい 2012/12/21 -8- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 10. YUMで入るパッケージは古いからヤダ? 何かいい方法はないか RHEL/CentOSともに、新しいバージョンのアプリを名前を変えて出しています! RHEL/CentOS5系の場合 • PHP → PHP53 • PostgreSQL → PostgreSQL84 • BIND → BIND97 従来の名前のパッケージ以外に、新しいバージョン用のパッケージが出ています。 アプリ名 パッケージ名 バージョン 新パッケージ名 新バージョン PHP php 5.1.6 php53 5.3.3 PostgreSQL postgresql-server 8.1.23 postgresql84-server 8.4.13 BIND bind 9.3.6 bind97 9.7.0 2012/12/21 -9- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 11. YUMで入るパッケージは古いからヤダ? どんな感じ?(yum info の各結果) php Name php Arch i386 Version 5.1.6 Release 39.el5_8 Summary The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor) URL http://www.php.net/ License The PHP License v3.01 php53 Name php53 Arch i386 Version 5.3.3 Release 13.el5_8 Summary PHP scripting language for creating dynamic web sites URL http://www.php.net/ License PHP and LGPLv2 and LGPLv2+ 2012/12/21 - 10 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 12. YUMで入るパッケージは古いからヤダ? こんなハッピー 例) CentSOS5で、最新のWordpressを使ってサイトを作る Wordpress最新版のインストール要件 (2012/11現在のwordpress.orgより) • PHP 5.2.4以上 • MySQL 5.0以上 CentOS5では、標準だとPHPは5.1.6が最高バージョンで要件を満たさない…。 ところが、何も特殊な設定をしなくても、要件通りの環境を構築できる。 # yum install php53 # php -r 'phpinfo();'|grep "PHP Version“ PHP Version => 5.3.3 バージョン5.3.3のPHPがインストールできました。 2012/12/21 - 11 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 13. YUMで入るパッケージは古いからヤダ? 他の方法 参照リポジトリを変更 ~サードパーティのリポジトリを使う~ Remiやrpmforgeといった、OS標準外のリポジトリが公開されています。 これらは、標準リポジトリでは対応していないような新しいバージョンのパッケージを公 開しています。 これらのリポジトリを参照することで、依存関係のチェックなどyumコマンドの便利さを失 うことなく新しいパッケージをインストールすることができます。 注意点 この設定を行うと、全てのアプリケーションが変更したリポジトリを参照してしまいます。 これらは非公式なリポジトリなので、いつ閉鎖されるか分からず、注意が必要です。 通常時は標準のリポジトリを参照し、必要に応じて、都度サードパーティを指定して作業 するという運用になります。忘れないように注意しましょう! 2012/12/21 - 12 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 14. YUMで入るパッケージは古いからヤダ? 補足 OSがバージョン6だと、これらのパッケージは使わなくても、ある程度バージョンの高い パッケージが標準としてインストールされます。 アプリ名 パッケージ名 バージョン PHP php 5.3.3 PostgreSQL postgresql-server 8.4.13 BIND bind 9.8.2 MySQL mysql-server 5.1.66 バージョン5系のOSので、どうしても標準より新しいバージョンを使う場合は、yumの標 準レポジトリで別名のパッケージとして、提供されていないか確認してみましょう。 2012/12/21 - 13 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  • 15. ご清聴ありがとうございました。 広告スペース 設計から運用まで、 安全・安心ホスティング 単体サーバから複数台構成まで幅広く対応致します。 管理性も視野に入れたバージョン管理ノウハウ! 2012/12/21 - 14 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.