RPMと errata入門                                                     2012-12-17                           Kazuo Moriwaka <kmo...
agenda•   RPMとは?•   RPMパッケージの例•   RPMパッケージの中身•   RPMによるパッケージ管理•   バイナリrpmとソースrpm•   ソフトウェアの修正•   アドバイザリ•   エラータ           ...
RPMとは?• RPM Package Manager• RHELで利用されているパッケージ管理の仕組み• RHELに含まれている事実上全てのソフトウェアがRPMに  よってパッケージされた上で、配布されている                 ...
rpmパッケージの例• RHEL6.3 x86_64版のDVD内、 /default/Packagesディレ  クトリをlsすると……389-ds-base-1.2.10.2-15.el6.x86_64.rpm          それぞれを「r...
rpmパッケージの中身• rpmパッケージの中身はメタデータとファイル$ rpm -qp --info ElectricFence-2.2.2-28.el6.x86_64.rpm                      $ rpm -qp -...
RPMによるパッケージ管理(操作)• 統一された手順でパッケージを操作する  • インストール  • アップグレード  • 再インストール  • 削除                                               ...
RPMによるパッケージ管理(DB)• RPMは、現在システムにインストールされているパッケー  ジについてのデータベースをもっている  • インストールされたパッケージ一覧、簡単な説明  • 各パッケージに含まれるファイルとチェックサム  • ...
RPMによるパッケージ管理           (依存関係)• RPMは、パッケージ間に依存関係を定義できる• この依存関係を満たしていることを確認しつつインストー  ルや削除をおこなう• 多くの問題を回避することができる  • 必要なライブラ...
バイナリrpmとソースrpm• 開発者はソースコードとspecファイルを用意して、ソース  rpmとバイナリrpmを作成する• ソースrpm  • ソフトウェアのソースコード  • どのようにビルドするか定義したspecファイル• バイナリrp...
ソフトウェアの修正• ソフトウェアへの修正は「パッチ」という形で作成されます• パッチを作ると、開発者はソースrpmへパッチを追加します  • バージョン番号をあげたり  • specファイル内に変更履歴を書いたり• あとは最初と同じく、ソース...
パッチからバイナリrpmへパッチ                                             バイナリrpm      ソース                           ビルド               ...
アドバイザリ• Red Hatがソフトウェアの修正を出荷するときにはアナウ  ンスをします• このアナウンスはアドバイザリと呼ばれます  • セキュリティ修正、バグ修正、機能拡張修正それぞれに    RHSA, RHBA, RHEAという接頭辞...
アドバイザリの例                                              13Copyright Red Hat K.K. All rights reserved.
パッチからアドバイザリまでパッチ                                        バイナリrpm      ソース                      ビルド                ソースrpm  s...
エラータとは?• アドバイザリのデータベースがエラータです  • 慣用的に、アドバイザリのことを「エラータ」と呼ぶこ    ともあります                                                     1...
パッチからエラータへ                                              アドバイザリ                                               エラータ         ...
17
Upcoming SlideShare
Loading in …5
×

RPM と errata 入門

5,127 views

Published on

Red Hat Enterprise Linuxでつかわれているrpmと修正情報を公開しているerrataについて紹介します

Published in: Technology

RPM と errata 入門

  1. 1. RPMと errata入門 2012-12-17 Kazuo Moriwaka <kmoriwak@redhat.com>Copyright Red Hat K.K. All rights reserved.
  2. 2. agenda• RPMとは?• RPMパッケージの例• RPMパッケージの中身• RPMによるパッケージ管理• バイナリrpmとソースrpm• ソフトウェアの修正• アドバイザリ• エラータ 2 Copyright Red Hat K.K. All rights reserved.
  3. 3. RPMとは?• RPM Package Manager• RHELで利用されているパッケージ管理の仕組み• RHELに含まれている事実上全てのソフトウェアがRPMに よってパッケージされた上で、配布されている 3 Copyright Red Hat K.K. All rights reserved.
  4. 4. rpmパッケージの例• RHEL6.3 x86_64版のDVD内、 /default/Packagesディレ クトリをlsすると……389-ds-base-1.2.10.2-15.el6.x86_64.rpm それぞれを「rpmパッケージ」と389-ds-base-libs-1.2.10.2-15.el6.i686.rpm389-ds-base-libs-1.2.10.2-15.el6.x86_64.rpm よびますConsoleKit-0.4.1-3.el6.x86_64.rpmConsoleKit-libs-0.4.1-3.el6.x86_64.rpm ひとつのソフトウェアが複数のConsoleKit-x11-0.4.1-3.el6.x86_64.rpmDeviceKit-power-014-3.el6.i686.rpm パッケージに分けられることもDeviceKit-power-014-3.el6.x86_64.rpm ありますElectricFence-2.2.2-28.el6.i686.rpmElectricFence-2.2.2-28.el6.x86_64.rpm ... 同じソフトウェアでも アーキテクチャ毎に 別パッケージに分かれます 4 Copyright Red Hat K.K. All rights reserved.
  5. 5. rpmパッケージの中身• rpmパッケージの中身はメタデータとファイル$ rpm -qp --info ElectricFence-2.2.2-28.el6.x86_64.rpm $ rpm -qp --list ElectricFence-2.2.2-28.el6.x86_64.rpmName : ElectricFenceVersion : 2.2.2 /usr/bin/efRelease : 28.el6 /usr/lib64/libefence.aArchitecture: x86_64 /usr/lib64/libefence.soInstall Date: (not installed)Group : Development/Tools /usr/lib64/libefence.so.0Size : 63133 /usr/lib64/libefence.so.0.0License : GPLv2 /usr/share/doc/ElectricFence-2.2.2Signature : RSA/SHA256, Tue Aug 17 00:14:41 2010, Key ID 199e2f91fd431d51Source RPM : ElectricFence-2.2.2-28.el6.src.rpm /usr/share/doc/ElectricFence-2.2.2/CHANGESBuild Date : Wed Jun 30 19:23:02 2010 /usr/share/doc/ElectricFence-2.2.2/COPYINGBuild Host : x86-005.build.bos.redhat.com /usr/share/doc/ElectricFence-2.2.2/READMERelocations : (not relocatable)Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> /usr/share/man/man3/efence.3.gzVendor : Red Hat, Inc. /usr/share/man/man3/libefence.3.gzURL : http://perens.com/FreeSoftware/ElectricFence/Summary : A debugger which detects memory allocation violationsDescription :ElectricFence is a utility for C programming anddebugging. ElectricFence uses the virtual memory hardware of yoursystem to detect when software overruns malloc() buffer boundaries,and/or to detect any accesses of memory released byfree(). ElectricFence will then stop the program on the firstinstruction that caused a bounds violation and you can use yourfavorite debugger to display the offending statement.Install ElectricFence if you need a debugger to find malloc() violations. 5 Copyright Red Hat K.K. All rights reserved.
  6. 6. RPMによるパッケージ管理(操作)• 統一された手順でパッケージを操作する • インストール • アップグレード • 再インストール • 削除 6 Copyright Red Hat K.K. All rights reserved.
  7. 7. RPMによるパッケージ管理(DB)• RPMは、現在システムにインストールされているパッケー ジについてのデータベースをもっている • インストールされたパッケージ一覧、簡単な説明 • 各パッケージに含まれるファイルとチェックサム • パッケージに含まれていたものから変更されていないか の検証 7 Copyright Red Hat K.K. All rights reserved.
  8. 8. RPMによるパッケージ管理 (依存関係)• RPMは、パッケージ間に依存関係を定義できる• この依存関係を満たしていることを確認しつつインストー ルや削除をおこなう• 多くの問題を回避することができる • 必要なライブラリやコマンドがないこと • パッケージ間でのバージョン不整合による誤動作• 依存関係の情報を利用し、必要なパッケージを自動的に選 択・導入するyumコマンドが提供されている 8 Copyright Red Hat K.K. All rights reserved.
  9. 9. バイナリrpmとソースrpm• 開発者はソースコードとspecファイルを用意して、ソース rpmとバイナリrpmを作成する• ソースrpm • ソフトウェアのソースコード • どのようにビルドするか定義したspecファイル• バイナリrpm • ソースrpmから自動的に生成(ビルド)される • 1つのソースrpmから、複数のパッケージを生成したり、 アーキテクチャ毎に別パッケージを生成したりする 9 Copyright Red Hat K.K. All rights reserved.
  10. 10. ソフトウェアの修正• ソフトウェアへの修正は「パッチ」という形で作成されます• パッチを作ると、開発者はソースrpmへパッチを追加します • バージョン番号をあげたり • specファイル内に変更履歴を書いたり• あとは最初と同じく、ソースrpmからバイナリrpmを作成し ます 10 Copyright Red Hat K.K. All rights reserved.
  11. 11. パッチからバイナリrpmへパッチ バイナリrpm ソース ビルド ソースrpm specファイル バイナリrpm バイナリrpm 11 Copyright Red Hat K.K. All rights reserved.
  12. 12. アドバイザリ• Red Hatがソフトウェアの修正を出荷するときにはアナウ ンスをします• このアナウンスはアドバイザリと呼ばれます • セキュリティ修正、バグ修正、機能拡張修正それぞれに RHSA, RHBA, RHEAという接頭辞がついた一意なIDがつ いています。 • IDの例: RHSA-2012:1549 12 Copyright Red Hat K.K. All rights reserved.
  13. 13. アドバイザリの例 13Copyright Red Hat K.K. All rights reserved.
  14. 14. パッチからアドバイザリまでパッチ バイナリrpm ソース ビルド ソースrpm specファイル バイナリrpm アドバイザリ バイナリrpm 14 Copyright Red Hat K.K. All rights reserved.
  15. 15. エラータとは?• アドバイザリのデータベースがエラータです • 慣用的に、アドバイザリのことを「エラータ」と呼ぶこ ともあります 15 Copyright Red Hat K.K. All rights reserved.
  16. 16. パッチからエラータへ アドバイザリ エラータ 16Copyright Red Hat K.K. All rights reserved.
  17. 17. 17

×