ISVのためのyum

ISV(パッケージソフトウェアの開発・販売会社)向けのyumの解説になります。

概要

あなたはrpmをプロダクトとして出荷しているとしたら、更新を保持したいと考えるはずです。 このページでは、それを行うための基本的な方法について説明します。 説明するにあたり、下記を前提条件とみなしてください。

  • あなたのプロダクト/パッケージはLinuxディストリビューション内に入れられた状態で出荷されていない。
  • あなたのプロダクト/パッケージは、RPMフォーマットでパッケージされている。
  • あなたは、あなたのパッケージとyumレポジトリをホストすることが出来るWebサイト(HTTPサーバーでそれが出来る)を持っている。
  • createrepoを実行することが出来るLinuxシステムを持っている。

もし、上記の用意が出来ていないのであれば、それが出来てからここに戻ってきて下さい。

yumはそれが属しているパッケージリポジトリから、パッケージの更新を探せば良いことを知っています。 パッケージリポジトリとは、パッケージの集まりと特定のォーマットで格納されているパッケージについて説明するために同伴されるメタデータの事を指します。 yumは、repos.d構成ディレクトリ(通常は/etc/yum.repos.d/)内のリストにあるリポジトリを探しに行き、 リポジトリが新しいrepodataを持っていないかを確認します。 こうする事でrepodataをダウンロードし、リポジトリが持つパッケージの新しいバージョンがシステムにインストールされているかを確認します。

ご理解いただけたでしょうか?

ユースケース

一般的なユースケースは、Linuxディストリビューションにパッケージ/プロダクトが含まれない、含まれることが期待出来ないケースです。

  • ユーザーはWeb検索、またはWebサイト上のリファレンスを介してプロダクトを探します。
  • ユーザーはプロダクトWebサイトに行き、rpmパッケージのプロダクトを購入、またはアクセスします。
  • ユーザーはrpmパッケージをインストールします。(yumを使用するのが理想ですが、必須ではありません)
  • ユーザーはyumの通常の更新処理を使用することでパッケージが更新される度に、 自動的に更新を受け取ることが出来ます。

何を用意しておく必要があるか

  • /etc/yum.repos.d/内に含まれる.repoファイルは、 ユーザーがダウンロードする可能性があるパッケージが記されており、通常そのファイル名は会社や製品にちなんで命名されます。
  • .repoファイルは、非常にシンプルなyumのrepoフォーマットであるべきです。
    下記は、架空のwidgetizerプロダクトの例で、各行の上に下の行の意味の説明がされているので確認してください。

    # 一意にリポジトリを特定する単語を指定します。空白と'特殊'な文字列は使用しないでください。
    [widgetizer]
    # 自由にテキストを入力することが出来ます。
    name = Widgetizer from Almagamted Widgets, Inc: $basearch
    # 検索されるあなたのリポジトリのパスです。
    # createrepoによって作成された'repodata'ディレクトリを見つけるためのパスです。
    baseurl = http://yum.widgetizer.com/$basearch/
    # リポジトリを有効にするか(0:無効、1:有効)
    enabled = 1
    # yumがインポート出来るようにするためのあなたのgpg公開鍵のパスです。
    gpgkey = http://yum.widgetizer.com/widgetizer.public_key.gpg
    # gpgチェックを有効にするか
    gpgcheck = 1
    

    $basearchは、このファイルがインストールされたシステムの'ベースアーキテクチャ'に、yumによって展開されます。 ベースアーキテクチャは、CPUアーキテクチャのシリーズ(?)を参照するための方法です。 yumはあなたのアーキテクチャからこの値を引き出します(uname -m)。 例えば、あなたのアーキテクチャがi686の場合、basearchはi386になります。 もしあなたのアーキテクチャがia32eの場合、basearchはx86_64になります。

  • 上記のファイルは、あなたのユーザーがダウンロードしたrpm内に含まれるべきです。 もし、このファイルが/etc/yum.repos.d内にあれば、 yumはあなたのリポジトリについて知ることが出来ます。
  • yumが使用される度に、あなたのリポジトリの更新が確認されます。

これが基本です。

リポジトリのセットアップ方法

要点は下記の通りです。

  • ディレクトリ内(またはサブディレクトリのセット)のリポジトリに、対象としたい全てのパッケージを置きます。
  • リポジトリを作成したいパス上で、createrepoを実行します。
  • anytime you add/remove/change a package in that path run createrepo again.

For more details on how to best run createrepo please see the RepoCreate guide on this wiki.

Let us know if you have any additional questions at yum@lists.baseurl.org.

 Back to top

© 2010 - 2017 STUDIO KINGDOM