rpmで行こう!! rpmを使いたくなるといいなというお話

67
Tadashi Jokagi <[email protected]>, Fedora JP Project 2005年3月26日 1 http://fedora.jp/ RPMで行こう!! RPMを使いたくなるといいなというお話 Fedora JP Project Tadashi Jokagi <[email protected]>

Upload: tadashi-jokagi

Post on 05-Jun-2015

1.898 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

1

http://fedora.jp/

RPMで行こう!!

RPMを使いたくなるといいなというお話

Fedora JP Project Tadashi Jokagi<[email protected]>

Page 2: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

2

http://fedora.jp/

これは何の話?

● Fedora Coreで使用されているパッケージ管理システムRPMとそのメリット・デメリットと、RPMの作り方などのセミナーです。

Page 3: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

3

http://fedora.jp/

セッションの流れ

● RPMって何?● tarballから直接ビルド・インストールとの違い

やメリット・デメリット● RPMフロントエンドについて(yum他)● 自分でRPMを作ろう● 自分でリポジトリを作ろう(yum)

Page 4: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

4

http://fedora.jp/

このセッションで一番いいたいこと

● tarballを直接ビルドしてインストールするな● RPMを作ってインストールしろ!!

– なので他が薄いですがあしからず;-)

Page 5: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

5

http://fedora.jp/

RPMって何?

● Red Hat, Inc.が開発したパッケージ管理システム

● RPM Package Managerの略● 昔はRedhat Package Managerの略● Red Hat, Inc. のjbjという人が現在のメンテ

ナー● システムのパッケージ構成の管理とパッケー

ジファイルのメンテナンスを行う

Page 6: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

6

http://fedora.jp/

RPMを使うとどうよくなる?

● はじめにSPECファイルという形式でビルド手順を記述するので、二度目以降のビルドが楽になる

● インストールされるファイルを把握できる● 基本的に依存関係を正しく保ってくれる

– 正しく処理できない場合、多くはユーザーが悪い

● ファイルのインストールだけではなくシステムの制御も同時に行える

● パッケージの正当性を調べることができる

Page 7: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

7

http://fedora.jp/

RPMみたいなのって他にあるの?

● deb – Debian GNU/Linuxで用いられている形式

● Portage – Gentoo GNU/Linuxで用いられる形式

● Ports/Package – FreeBSDで用いられる形式● Fink – Mac OS Xで用いられる形式(Apple製で

はない)● pkg - Solarisで用いられる形式

Page 8: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

8

http://fedora.jp/

RPMを使わないビルドとインストール

● ありがちパターン$ gzip -dc foo-1.0.0.tar.gz | tar zxf -$ cd foo-1.0.0$ ./configure –prefix=/usr/local$ make$ su -# cd .../foo-1.0.0# make install

Page 9: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

9

http://fedora.jp/

RPMを使ったビルドとインストール

● そんなに難しくない$ rpmbuild --rebuild foo-1.0.0-1.src.rpm (case1)$ rpmbuild -ta foo-1.0.0-tar.gz (case2)$ rpmbuild -ba foo.spec (case3)

$ su -# rpm -ihv .../foo-1.0.0-1.i386.rpm

●そもそもバイナリが既にあればビルドすら要らない

Page 10: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

10

http://fedora.jp/

RPMのフロントエンド

● RPMを便利に管理するためのアプリケーション● 一度使い出すと、なくては困る人間が退化す

るアプリケーション

Page 11: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

11

http://fedora.jp/

フロントエンドって何?

● リポジトリというRPMを集めたディレクトリから必要なRPMを入手できる– リモートサーバーでもOK

– 複数のリポジトリを同時に処理できる

● 依存関係もまとめて管理してくれる

Page 12: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

12

http://fedora.jp/

フロントエンドって何?

● リポジトリ上の更新されたRPMをうまくアップデートしてくれる

● 自動実行しておくと勝手に最新になっていく– サーバー用途ではまったくすすめないが

Page 13: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

13

http://fedora.jp/

RPMにはなにがあるの?

● Fedora Coreはyum・up2dateが標準パッケージ管理システム– Up2dateは元々Red Hat Linux・Red Hat Enterprise

Linux用

● Fedora Core標準ではないがapt-rpmも有名– ただし事実上標準ともいえる

● その他のディストリビューション– turbopkg(zabon) - Turbolinux

– YAST – SuSE

Page 14: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

14

http://fedora.jp/

yumって何?

● Yellow dog Updater, Modifiedの略● 公式サイトは

http://linux.duke.edu/projects/yum/● 元々Yellowdog Linuxのアプリケーション● pythonで記述されている● CentOSもyumが使える(らしい)

Page 15: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

15

http://fedora.jp/

apt-rpmって何?

● aptはAdvanced Package Toolの略● 元々Debian GNU/Linuxのアプリケーション

– RPM管理なのでapt-rpmに名前が変わった

● apt-rpmの公式サイトはhttp://apt4rpm.sourceforge.net/

● Vine Linuxのパッケージ管理システム● 私はかたくなに使っていない(苦笑)

Page 16: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

16

http://fedora.jp/

リポジトリって何?

● 下記の情報を持つもの– RPMを集めたディレクトリ

– RPM毎の固有情報

Page 17: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

17

http://fedora.jp/

GUIないの?

● あります● yum

– gyumが有名

– 私はそもそもLinuxでGUIを使わないのであまり知らない

● apt-rpm– Synapticが有名

– apt-rpmもGUIも使わないのでさらに知らない

Page 18: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

18

http://fedora.jp/

gyumを使う

Page 19: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

19

http://fedora.jp/

yumとapt-rpmどっちがいいの?

● yumのメリット– 標準でついてくる

– 標準で基本的な設定がされている

● yumのデメリット– メモリを多く消費する

– 若干重い

– 最低限の機能しかない

Page 20: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

20

http://fedora.jp/

yumとapt-rpmどっちがいいの?

● apt-rpmのメリット(yumと比較して)– 多機能。とにかく必要なことはおおむねできる。

– yumに比べ、少メモリの消費と高速である

● apt-rpmのデメリット– Vine Linux以外はapt-rpm自体の配布元が複数あ

り、衝突の発生がしやすい● 問題が発生すると、「どのapt-rpm使ってるの?」から始

まる

– 同じくディストリビューションに特化したリポジトリでない場合が多く、ディストリビューションのRPMとの衝突が起こることがある

Page 21: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

21

http://fedora.jp/

さてさて少し難しくなります

● そろそろRPMを作ってみましょう…

Page 22: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

22

http://fedora.jp/

RPMってどうやって作るの?

● 必要なソースファイルなどを用意する● SPECファイルを用意する● rpmbuildコマンドでビルドを行う

Page 23: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

23

http://fedora.jp/

SPECファイル

● RPMのビルド手順を記述したファイル● 内部でいくつかのセクションを持つ

Page 24: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

24

http://fedora.jp/

セクションって何よ?

● 目的に応じた作業を記述する場所– グローバル関連(ID・packageセクション)

– ビルド関連(prep・buildセクション)

– パッケージ構築関連(clean・installセクション)

– パッケージ構成関連(filesセクション)

– インストール関連(pre・post・preun・postunセクション)

– 変更履歴関連(changelogセクション)

Page 25: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

25

http://fedora.jp/

グローバル関連セクション

● RPMについての全体的な情報を記述する● IDセクション

– パッケージ名(Name)グループ(Group)

– バージョン番号(Version)リリース番号(Release)

– ソースファイル(Sources)パッチファイル(Patch)

– 依存関係(Requires)

– その他もろもろ

● Description– RPMの説明

Page 26: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

26

http://fedora.jp/

グローバル関連セクション

● Packageセクション– サブパッケージの情報

– IDセクションとdescriptionセクションをいくつか記述する

Page 27: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

27

http://fedora.jp/

パッケージグループ

● /usr/share/doc/rpm-<version>/GROUPSに記述されている

Amusements/GamesAmusements/GraphicsApplications/ArchivingApplications/CommunicationsApplications/DatabasesApplications/EditorsApplications/EmulatorsApplications/EngineeringApplications/FileApplications/Internet

Applications/MultimediaApplications/ProductivityApplications/PublishingApplications/SystemApplications/TextDevelopment/DebuggersDevelopment/LanguagesDevelopment/LibrariesDevelopment/SystemDevelopment/Tools

DocumentationSystem Environment/BaseSystem Environment/DaemonsSystem Environment/KernelSystem Environment/LibrariesSystem Environment/ShellsUser Interface/DesktopsUser Interface/XUser Interface/X Hardware Support

Page 28: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

28

http://fedora.jp/

ビルド関連セクション

● prepセクション– ビルドの準備を行う

– 大体はtarballの展開とパッチ当て

● buildセクション– 実際のビルドを行う

– 大体は./configure && make

Page 29: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

29

http://fedora.jp/

パッケージ構築関連セクション

● installセクション– 環境変数RPM_BUILD_ROOTの下に仮想ディレクト

リを構築する

– 仮想ディレクトリはほぼ実際にインストールされる環境に近い状態を作る

– 大体はmake install DESTDIR=${RPM_BUILD_ROOT}

● cleanセクション– 仮想ディレクトリを掃除

– 大体はrm -rf ${RPM_BUILD_ROOT}

Page 30: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

30

http://fedora.jp/

パッケージ構成関連

● filesセクション– デフォルトとファイル・ディレクトリ毎にパーミッショ

ンやオーナーを指定できる

– 設定ファイルとしてマーキングできる

– サブパッケージが存在する場合、サブパッケージ毎にfilesセクションを記述する

Page 31: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

31

http://fedora.jp/

インストール関連セクション

● pre・post– インストール・アップデート時に行う処理を記述す

– preはファイルがインストール処理される前に実行する処理

– postはファイルがインストール処理された後に実行する処理

Page 32: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

32

http://fedora.jp/

インストール関連セクション

● preun・postun– アンインストール・アップデート時に行う処理を記

述する

– preはファイルがアンインストール処理される前に実行する処理

– postはファイルがアンインストール処理された後に実行する処理

Page 33: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

33

http://fedora.jp/

インストール関連セクション

● アップデートとは実はアンインストールとインストールの組み合わせ– $1の値によってインストール・アンインストール・

アップデートを識別する

Page 34: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

34

http://fedora.jp/

変更履歴関連

● 読んで字のごとく● いわゆるChangeLogを記述する

Page 35: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

35

http://fedora.jp/

RPMを作りましょう

● とりあえず何か作りましょう– 何にしようかな…

– …

– zzz

– skfのRPMでも作りましょう

Page 36: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

36

http://fedora.jp/

skfって何?

● nkf互換の漢字フィルター– 中国の文字コードも一部処理できるらしい

– 題材にするために使っただけであまり詳しく知りません(すみません…)

Page 37: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

37

http://fedora.jp/

簡単なSPECファイル

● グローバル関連セクションSummary: skf is kanji filter and compatible nkf.Name: skfVersion: 1.93b2Release: 1License: BSDGroup: Applications/TextURL: http://skf.sourceforge.jp/Source0: %{name}-%{version}b-1.tar.gzBuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

%descriptionskf is kanji filter and compatible nkf.

Page 38: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

38

http://fedora.jp/

簡単なSPECファイル

● ビルド関連セクション● %prep%setup -q

%build./configure --prefix=%{_prefix}make

Page 39: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

39

http://fedora.jp/

簡単なSPECファイル

● パッケージ構築関連セクション%installrm -rf ${RPM_BUILD_ROOT}

make install DESTDIR=${RPM_BUILD_ROOT}

rm -rf ${RPM_BUILD_ROOT}%{_docdir}/%{name}rm -rf ${RPM_BUILD_ROOT}%{_prefix}/man

# file list without manfind ${RPM_BUILD_ROOT} -type f | sed "s;${RPM_BUILD_ROOT};;g" | grep -v "%{_mandir}" > filelist# file list with man(gzipped)find ${RPM_BUILD_ROOT}%{_mandir} -type f -exec echo {}.gz \; | sed "s;${RPM_BUILD_ROOT};;g" >> filelist

Page 40: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

40

http://fedora.jp/

簡単なSPECファイル

● パッケージ構成関連セクション%files -f filelist%defattr(-,root,root,-)%doc *txt

Page 41: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

41

http://fedora.jp/

SPECからRPMを作ってみる

● 変更履歴関連セクション%changelog* Sat Mar 26 2005 <[email protected]> - - Initial build.

Page 42: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

42

http://fedora.jp/

実際に作成してみよう

● SOURCESディレクトリにソースを保存● SPECSディレクトリに先ほどのSPECを保存● rpmbuild -ba skf.specでビルドを開始

Page 43: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

43

http://fedora.jp/

作成したRPMをインストール

# rpm -ihv skf-1.92b-1.i386.rpm

Page 44: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

44

http://fedora.jp/

とりあえず作るだけなら簡単

● さっきのSPECファイルを雛形にすれば簡単なものはすぐにRPMにできる

● この程度なら実はchkinstallというものを使えば似たようなものが作れる

● 手を抜かずにfilesセクションを書くこと– 特に設定ファイルがあったり、サービスdaemon

だったり共有ライブラリなどの場合

Page 45: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

45

http://fedora.jp/

もうちょっとちゃんと作る

● ちゃんと作るとfilesセクションは手を抜けない● 必要なファイルを列挙します

– 設定ファイルは%configなどでマーキングすること%{_bindir}/skf%{_mandir}/ja/man1/skf.1j.gz%{_datadir}/skf/lib/*.stb%{_datadir}/skf/lib/*.txt

Page 46: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

46

http://fedora.jp/

覚えておきたいデフォルトマクロ

● マクロコマンド– %__rm %__mv %__cp – ファイルを操作するコマンドの擬似マクロコマンド

– %setup – tarballの展開と、展開先への移動をする擬似マクロコマンド

– %patch - パッチを適用する擬似マクロコマンド

– %configure – ./configureにありがちな引数を付加した擬似マクロコマンド

– %makeinstall - makeコマンドにありがちなインストール用引数を付加した擬似マクロコマンド

Page 47: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

47

http://fedora.jp/

覚えておきたいデフォルトマクロ

● マクロ定数– %{_prefix} – ベースになるインストール先(一般的に

/usr)

– %{_sysconfdir} – 設定ファイルのディレクトリ(一般的に/etc)

– %{_bindir}・%{_sbindir} - 実行ファイルのインストール先(一般的に%{_prefix}/{bin,sbin})

– %{_datadir} データを保存するディレクトリ(一般的に%{_prefix}/{share})

– %{_mandir} マニュアルを保存するディレクトリ(一般的に%{_prefix}/{share}/man)

Page 48: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

48

http://fedora.jp/

覚えておきたいデフォルトマクロ

● マクロ定数– %{SOURCE<NUMBER>} - ソースタグで指定した

ファイルのパス

Page 49: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

49

http://fedora.jp/

自分でリポジトリを作ろう

● ここではyumのリポジトリを作ります● apt-rpmは使ってないのでパス!!

– 時間もないしね…(言い訳ですか

Page 50: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

50

http://fedora.jp/

っで、そんなもの必要なの?

● こういう人はあると便利– 自作RPMを、複数台サーバーに適応している人

(例えばサーバー業者)

– 自作RPMをたくさんインターネットに公開している人

Page 51: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

51

http://fedora.jp/

それでは作ります

● 作るのは簡単– RPMを一つのディレクトリに集めて

– データベースを作るだけ

Page 52: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

52

http://fedora.jp/

作業ディレクトリを用意

$ mkdir -p /var/www/html/repos/RPMS/i386/

Page 53: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

53

http://fedora.jp/

RPMをコピーしまくる

$ cp -a *.rpm \ /var/www/html/repos/RPMS/i386/.

Page 54: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

54

http://fedora.jp/

データベースを作る

$ cd /var/www/html/repos/$ createrepo RPMS

Page 55: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

55

http://fedora.jp/

それだけ?

● リポジトリ作成それだけなのです● 後はyumにそのリポジトリを指定するだけですぐに使えます

Page 56: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

56

http://fedora.jp/

本当に使えるか試してみよう

● 先ほどのskfをyum経由でインストール– あらかじめrpm -e skfで削除しておく

Page 57: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

57

http://fedora.jp/

yumの指定

● /etc/yum.repo.d/にmyrepos.repoとして作成

name=Fedora Core My Repositorybaseurl=http://example.com/repos/enabled=1gpgcheck=0

Page 58: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

58

http://fedora.jp/

ローカルのデータベースを更新

# yum list

Page 59: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

59

http://fedora.jp/

yumでインストール

# yum install skf

Page 60: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

60

http://fedora.jp/

時間あるかな?

● これ位はRPMを使うなら覚えておこう!!

Page 61: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

61

http://fedora.jp/

インストール・アップデート・アンインストール

● インストール– rpm -i <rpm-filename>

– rpm -U <rpm-filename>

● アップデート– rpm -F <rpm-filename>

– rpm -U <rpm-filename>

● アンインストール– rpm -e <package-name>

● -i・-U・-Fは-hvを同時に指定するのが一般的

Page 62: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

62

http://fedora.jp/

インストール前

● RPMの情報– rpm -qip <rpm-file>

● RPMに含まれるファイル– rpm -qlp <rpm-file>

● RPMが提供するもの– rpm -qp –-provides <rpm-file>

● RPMの依存関係– rpm -qp –-requires <rpm-file>

Page 63: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

63

http://fedora.jp/

インストール前

● RPMの情報を整形出力– rpm -qp –-queryformat “<format>” <rpm-file>

● 変更履歴出力– rpm -qp –changelog <rpm-file>

Page 64: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

64

http://fedora.jp/

インストール後

● 基本的に「インストール前」から「-p」を抜くとインストール済みRPMが対象になる– ファイル名ではなくパッケージ名を指定すること

● ex)rpm -ql httpd

Page 65: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

65

http://fedora.jp/

インストール後

● ファイルを保持するRPM名– rpm -qf </dir/to/file>

● インストール済みRPM一覧– rpm -qa <wildcard>

– rpm -qa –-last <wildcard> インストール順表示

Page 66: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

66

http://fedora.jp/

終り

● わざわざRPMを作るとここが便利ですよ– 共通言語的な作業手順書の作成(SPECファイル)

– インストール済みバージョンの管理

– 共有ライブラリ他との依存性の管理

– ファイルからインストールしたソフトウェアの逆引き

– 正確なアンインストール

– 単にファイルのコピー以上の処理

– RPMのインストール先ホストにgccがいらない

Page 67: RPMで行こう!! RPMを使いたくなるといいなというお話

Tadashi Jokagi <[email protected]>, Fedora JP Project2005年3月26日

67

http://fedora.jp/

ご清聴ありがとうございました。