• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
RPM と errata 入門
 

RPM と errata 入門

on

  • 2,806 views

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

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

Statistics

Views

Total Views
2,806
Views on SlideShare
2,805
Embed Views
1

Actions

Likes
6
Downloads
21
Comments
0

1 Embed 1

https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

RPM と errata 入門 RPM と errata 入門 Presentation Transcript

  • RPMと errata入門 2012-12-17 Kazuo Moriwaka <kmoriwak@redhat.com>Copyright Red Hat K.K. All rights reserved.
  • agenda• RPMとは?• RPMパッケージの例• RPMパッケージの中身• RPMによるパッケージ管理• バイナリrpmとソースrpm• ソフトウェアの修正• アドバイザリ• エラータ 2 Copyright Red Hat K.K. All rights reserved.
  • RPMとは?• RPM Package Manager• RHELで利用されているパッケージ管理の仕組み• RHELに含まれている事実上全てのソフトウェアがRPMに よってパッケージされた上で、配布されている 3 Copyright Red Hat K.K. All rights reserved.
  • 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.
  • 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.
  • RPMによるパッケージ管理(操作)• 統一された手順でパッケージを操作する • インストール • アップグレード • 再インストール • 削除 6 Copyright Red Hat K.K. All rights reserved.
  • RPMによるパッケージ管理(DB)• RPMは、現在システムにインストールされているパッケー ジについてのデータベースをもっている • インストールされたパッケージ一覧、簡単な説明 • 各パッケージに含まれるファイルとチェックサム • パッケージに含まれていたものから変更されていないか の検証 7 Copyright Red Hat K.K. All rights reserved.
  • RPMによるパッケージ管理 (依存関係)• RPMは、パッケージ間に依存関係を定義できる• この依存関係を満たしていることを確認しつつインストー ルや削除をおこなう• 多くの問題を回避することができる • 必要なライブラリやコマンドがないこと • パッケージ間でのバージョン不整合による誤動作• 依存関係の情報を利用し、必要なパッケージを自動的に選 択・導入するyumコマンドが提供されている 8 Copyright Red Hat K.K. All rights reserved.
  • バイナリrpmとソースrpm• 開発者はソースコードとspecファイルを用意して、ソース rpmとバイナリrpmを作成する• ソースrpm • ソフトウェアのソースコード • どのようにビルドするか定義したspecファイル• バイナリrpm • ソースrpmから自動的に生成(ビルド)される • 1つのソースrpmから、複数のパッケージを生成したり、 アーキテクチャ毎に別パッケージを生成したりする 9 Copyright Red Hat K.K. All rights reserved.
  • ソフトウェアの修正• ソフトウェアへの修正は「パッチ」という形で作成されます• パッチを作ると、開発者はソースrpmへパッチを追加します • バージョン番号をあげたり • specファイル内に変更履歴を書いたり• あとは最初と同じく、ソースrpmからバイナリrpmを作成し ます 10 Copyright Red Hat K.K. All rights reserved.
  • パッチからバイナリrpmへパッチ バイナリrpm ソース ビルド ソースrpm specファイル バイナリrpm バイナリrpm 11 Copyright Red Hat K.K. All rights reserved.
  • アドバイザリ• Red Hatがソフトウェアの修正を出荷するときにはアナウ ンスをします• このアナウンスはアドバイザリと呼ばれます • セキュリティ修正、バグ修正、機能拡張修正それぞれに RHSA, RHBA, RHEAという接頭辞がついた一意なIDがつ いています。 • IDの例: RHSA-2012:1549 12 Copyright Red Hat K.K. All rights reserved.
  • アドバイザリの例 13Copyright Red Hat K.K. All rights reserved.
  • パッチからアドバイザリまでパッチ バイナリrpm ソース ビルド ソースrpm specファイル バイナリrpm アドバイザリ バイナリrpm 14 Copyright Red Hat K.K. All rights reserved.
  • エラータとは?• アドバイザリのデータベースがエラータです • 慣用的に、アドバイザリのことを「エラータ」と呼ぶこ ともあります 15 Copyright Red Hat K.K. All rights reserved.
  • パッチからエラータへ アドバイザリ エラータ 16Copyright Red Hat K.K. All rights reserved.
  • 17