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

6,076 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,076
On SlideShare
0
From Embeds
0
Number of Embeds
34
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. まだまだ現役! RHEL5/CentOS5 YUMでも新しいバージョンのパッケージを使うサーバ運用超入門勉強会 Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  2. 2. アジェンダ お話する内容 • YUMで入るパッケージは古い? – YUMは便利か不便か – 新しいバージョンを入れる各種方法 – 標準リポジトリで新しいバージョンのPHP2012/12/21 -1- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  3. 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. 4. YUMで入るパッケージは古いからヤダ? YUMって便利?不便? 不便 • バージョンの細かな指定はできず、リポジトリで公開されている最新バージョンが 対象になる。 • リポジトリで公開されていないものは、YUMでインストールやアップデートができ ない。 など ※リポジトリ: Yumコマンドを使うことで、そのOSベンダーが公開しているリポジトリサーバにアクセスして、該当パッケージ ファイル(RPMファイル)を取得したり、アップデート対象を探したりします。 このリポジトリサーバで公開されているファイルをインストールしたり、アップデートするので、利用する側が公 開されていないバージョンを指定することはできないのです。 (※自前でリポジトリサーバを構築するという、やや強引な方法もありますが、今度はこのリポジトリサーバ自身 の管理という手間が必要になってきます。。。)2012/12/21 -3- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  5. 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. 6. YUMで入るパッケージは古いからヤダ? でも 便利なYUMですが、最新バージョンのアプリケーションがインストールできないなど の問題もあります。 • 最新バージョンを扱えるようにする変わりにメンテナンス性を 犠牲にするか? • プログラムの作りこみで最新バージョンは諦めて、メンテナン ス性を守るか? どちらも満足したい! では、どうすれば??2012/12/21 -5- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  7. 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. 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. 9. YUMで入るパッケージは古いからヤダ? 設定を変えずYumで新しいバージョンを使う • ソースファイルからコンパイルしてインストールは難しそう。。 • OSの入れ替え、つまりリプレイスなんて無理。大人の事情もあるし… • Yumの設定を変更すると、その後のyum自体の管理って大変では? – 他のアプリも野良レポジトリを参照してしまう。 – 野良レポジトリは使いたい時にだけ指定するようにできるが、毎度の指定を忘れてしまうことも出てくる。 – Yumの設定を自分の希望通りになるように変更する必要がある。 簡単に、便利に、楽に、新しいバージョンのアプリを使いたい2012/12/21 -8- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  10. 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.02012/12/21 -9- Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  11. 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. 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. 13. YUMで入るパッケージは古いからヤダ? 他の方法 参照リポジトリを変更 ~サードパーティのリポジトリを使う~ Remiやrpmforgeといった、OS標準外のリポジトリが公開されています。 これらは、標準リポジトリでは対応していないような新しいバージョンのパッケージを公 開しています。 これらのリポジトリを参照することで、依存関係のチェックなどyumコマンドの便利さを失 うことなく新しいパッケージをインストールすることができます。 注意点 この設定を行うと、全てのアプリケーションが変更したリポジトリを参照してしまいます。 これらは非公式なリポジトリなので、いつ閉鎖されるか分からず、注意が必要です。 通常時は標準のリポジトリを参照し、必要に応じて、都度サードパーティを指定して作業 するという運用になります。忘れないように注意しましょう!2012/12/21 - 12 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.
  14. 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. 15. ご清聴ありがとうございました。広告スペース 設計から運用まで、 安全・安心ホスティング 単体サーバから複数台構成まで幅広く対応致します。 管理性も視野に入れたバージョン管理ノウハウ!2012/12/21 - 14 - Copyright Digital-Effect Network Co., Ltd. All rights reserved.

×