URPMI FAQ

Mandriva Linux

URPMI に任意のリポジトリーを追加するには?

インストールCDを用いてインストールを行った直後は、参照可能なリポジトリーはCDメディアのみです。外部のリポジトリーを追加しないことには、パッケージ管理ツール URPMI は本来の機能を発揮できません。Fedora/RedHat Linux ではインストール直後には初期設定がすんでいて、直ちに利用可能となっているのに対して、Mandriva Linux の場合はこの点が異なっています。

リポジトリーの追加は [デスクトップ] > [アプリケーション] > [システム] > [設定] > [RPMの管理] > [RPMのメディアを管理] から、グラフィカルな設定が可能です。 Easy urpmi config というWEBブラウザーから設定コマンドを自動生成できる便利なツールもあります。

[Easy URPMI 手順と設定例] (コマンドラインからの設定)

  1. バージョン名や使用しているシステムを選択
  2. 追加したいソース (contrib / main / updates など) とそのミラーを選択
  3. ルートユーザーになって、作成された次のコマンド(一例)を実行
    
    # urpmi.addmedia contrib http://ftp.riken.jp/Linux/mandrake/official/2005/i586/
    media/contrib with media_info/hdlist.cz
    

日本国内の高速ミラーサーバーを利用してアップデートするには?

グラフィカル・デスクトップでは、[RPMのメディアを管理] からまず設定を行います。

ターミナルからコマンドを実行して設定することもできます。その場合は、次のコマンドを実行します。その他のミラーサーバーを利用したいときも、この書式に習って設定が行えます。

[奈良先端科学技術大学院大学ミラーを設定]

# urpmi.addmedia main http://ftp.nara.wide.ad.jp/pub/Linux/Mandrivalinux/official/
2007.1/i586/media/main

# urpmi.addmedia contrib http://ftp.nara.wide.ad.jp/pub/Linux/Mandrivalinux/official/
2007.1/i586/media/contrib

# urpmi.addmedia updates http://ftp.nara.wide.ad.jp/pub/Linux/Mandrivalinux/official/
updates/2007.1/RPMS
  • 注意:相対パス(例:with ../base/hdlist.cz)の入力は省略できます。正規表現は、次の例(KDDI研究所やRIKENミラー)になります。
    # urpmi.addmedia contrib http://ftp.riken.jp/Linux/mandrake/official/2007.1/i586/
    media/contrib with media_info/hdlist.cz
    
    # urpmi.addmedia updates ftp://ftp.kddlabs.co.jp/Linux/distributions/Mandrake/official/
    updates/2007.1/RPMS with ../base/hdlist.cz
    

以上で初期設定は完了です。これで urpmi コマンドを用いてアップデートが実行できます。 この設定ファイルは、[/etc/urpmi/urpmi.cfg]に作成されています。

コマンドラインからパッケージ管理するには? (基本コマンド)

Mandrakelinux ではパッケージ管理に Red Hat Package Manager(RPM) が採用されています。そのため、コマンドの使用方法は他の Red Hat 系ディストリビューションと同じです。Red Hat Linux 9: Red Hat Linux カスタマイズガイドRPMによるパッケージ管理RPMの使用法 で分かりやすく解説されています。(RPM 関連 も参照のこと)

ただし、パッケージのインストールや削除の際、他のパッケージに「依存する」ときは、この例のようにエラーメッセージが出て警告します。

Preparing...                ########################################### [100%]
error: Failed dependencies:
       bar.so.2 is needed by foo-1.0-1

Mandriva Linux では、この「依存性」解決のために、"urpm*" というコマンドが考案されました。このコマンドは Mandriva Linux 独自のもので、 Red Hat Linux や Fedora Linux の場合の APT や YUM と似た機能を備えています。基本的なコマンドは、次のとおりです。

コマンド 解説
# urpmi '''パッケージ名''' 新しいパッケージをインストールする
# urpme '''パッケージ名''' パッケージを削除する
# urpmi.addmedia '''名前''' '''url''' 新しいメディアを追加する
# urpmi.removemedia '''名前''' メディアを削除する
# urpmi.update '''名前''' パッケージをアップデートする
# urpmi.update -a システムのデータベースを最新のものへ更新する
# urpmi --update --auto-select すべてのパッケージをアップデートする
$ urpmq -i ファイル名 ファイル名からパッケージ情報を検索する

詳しくは Package Management through the Command Line という英語ページを参照してください。

コマンドラインからパッケージ管理するには? (詳細オプション)

urpmi 詳細オプション

使い方:

 --help         - このヘルプを表示
 --update       - 更新メディアのみを使う
 --media        - 指定したメディアのみを使う(コンマで区切る)
 --searchmedia   - 指定したメディアのみを要求した(または更新された)パッケージの 検索に使う
 --excludemedia - 指定したメディアは使わない(コンマで区切る)
 --sortmedia    - カンマ区切りで指定したメディアごとにソートする
 --synthesis    - urpmiのデータベースではなく指定したsynthesisを使う
 --auto         - 複数の選択肢から自動的にパッケージを選択
 --auto-select  - 自動的にパッケージを選択してシステムを更新
 --no-uninstall - パッケージを削除する必要があるときは自動的にインストールを中 止
 --keep         - 既存のパッケージを維持し、削除要求は拒否する
 --split-level  - 一定数以上のパッケージがインストールまたは更新される
                   ときは分割して行う。デフォルトは 20
 --split-length - 分割する最低パッケージ数。デフォルトは 1
 --fuzzy        - ファジー検索(-yと同じ)
 --src          - ソースパッケージを指定(-s と同じ)
 --install-src  - ソースのみをインストール(バイナリなし)
 --clean        - キャッシュからRPMを削除
 --noclean      - RPMをキャッシュに残す
 --force        - 足りないパッケージがあっても強制的に実行する
 --allow-nodeps - 依存関係に問題が発生した時に、自動的に終了せずに
                  [--nodeps]でインストールするかどうか質問する
 --allow-force  - 依存関係に問題が発生した時に、自動的に終了せずに
                  [--force]でインストールするかどうか質問する
 --parallel     - urpmiをエイリアスの複数のマシンに使う
 --root         - RPMのインストールに他のルートを使う
 --use-distrib  - ディストリビューションのツリーからurpmiをオンザフライで
                  設定。chrootを'--root'オプション付きで(アン)インストール
                  する際に使用。
 --wget         - リモートファイルの取得にwgetを使う
 --curl         - リモートファイルの取得にcurlを使う
 --limit-rate   - ダウンロード速度を制限
 --resume       - 不完全なファイルのダウンロードを再開する
                  ([--no-resume]で無効化、デフォルトで無効)
 --proxy        - 指定したHTTPプロキシを使う。デフォルトのポート番号は
                  1080。(形式: <proxyhost[:port]>)
 --proxy-user   - プロキシ認証に使うユーザ名とパスワードを
                  指定する。(形式: <user:password>)
 --bug          - 指定したディレクトリにバグレポートを出力
 --env          - 特定の環境を使う
                  (バグレポートなどのため)
 --verify-rpm   - インストールする前にRPMの署名を確認する
                  (=デフォルト。[--no-verify-rpm]で無効)
 --test         - 正しくインストールされるかどうかテストする
 --excludepath  - 除外するパスを指定(カンマで区切る)
 --excludedocs  - docファイルを除外する
 --skip         - インストールをスキップするパッケージ
 --more-choices - 複数のパッケージがある場合に、デフォルト以外の選択肢を
                  表示する
 --norebuild    - 読み込み不可ならhdlistをリビルドしない
 --strict-arch  - 同じアーキテクチャのパッケージのみを更新
 -a             - 指定した表現を含むすべてのパッケージを選択する
 -p             - provide(提供)タグも検索対象に含める
 -P             - provide(提供)タグは検索の対象にしない
 -y             - ファジー検索(--fuzzyと同じ)
 -s             - ソースパッケージを指定(--src と同じ)
 -q             - 詳細を表示しない
 -v             - 詳細モード。

urpme 詳細オプション

使い方:

 --help         - このヘルプを表示
 --auto         - 複数の選択肢から自動的にパッケージを選択
 --test         - 問題なく削除できるかどうかテストする
 --force        - 足りないパッケージがあっても強制的に実行する
 --parallel     - urpmiをエイリアスの複数のマシンに使う
 --root         - RPMの削除に他のルートを使う
 --use-distrib  - ディストリビューションのツリーからurpmiをオンザフライで
                  設定。chrootを'--root'オプション付きで(アン)インストール
                  する際に使用。
 -v             - 詳細モード。
 -a             - 指定した表現を含むすべてのパッケージを選択

urpmq 詳細オプション

使い方:

 --help         - このヘルプを表示
 --update       - 更新メディアのみを使う
 --media        - 指定したメディアのみを使う(コンマで区切る)
 --searchmedia   - 指定したメディアのみを要求した(または更新された)パッケージの検索に使う
 --excludemedia - 指定したメディアは使わない(コンマで区切る)
 --sortmedia    - カンマ区切りで指定したメディアごとにソートする
 --synthesis    - urpmiデータベースの代わりに指定したsynthesisを使う
 --auto-select  - 自動的にパッケージを選択してシステムを更新
 --fuzzy        - ファジー検索(-yと同じ)
 --keep         - 既存のパッケージを維持し、削除要求は拒否する
 --list         - 利用できるパッケージを表示
 --list-media   - 利用できるメディアを表示
 --list-url     - 利用できるメディアとURLを表示
 --list-nodes   - [--parallel]に利用できるノードを表示
 --list-aliases - 利用できるパラレルエイリアスを表示
 --dump-config  - メディアの設定をurpmi.addmediaの引数の形式で表示
 --src          - ソースパッケージを指定(-s と同じ)
 --headers      - 指定したパッケージのヘッダをurpmiデータベースから
                  標準出力する(rootのみ)
 --sources      - ダウンロードする前にすべてのソースパッケージを表示(rootのみ)
 --force        - 足りないパッケージがあっても強制的に実行する
 --parallel     - urpmiをエイリアスの複数のマシンに使う
 --use-distrib  - ディストリビューションのツリーからurpmiをオンザフライで
                  設定。ディストリビューションの検索を可能にする。
 --wget         - リモートファイルの取得にwgetを使う
 --curl         - リモートファイルの取得にcurlを使う
 --proxy        - 指定したHTTPプロキシを使う。デフォルトのポート番号は
                  1080。(形式: <proxyhost[:port]>)
 --proxy-user   - プロキシ認証に使うユーザ名とパスワードを
                  指定する。(形式: <user:password>)
 --env          - 特定の環境を使う
                  (バグレポートなどのため)
 --changelog    - チェンジログを表示
 -a             - 指定した表現を含むすべてのパッケージを選択する
 -c             - 削除されるパッケージを表示
 -d             - 依存するパッケージも検索して表示
 -f             - 名前, バージョン, リリース番号, アーキテクチャを表示
 -g             - グループと名前を表示
 -i             - 読みやすい形で情報を表示
 -l             - パッケージに含まれるファイルを表示
 -P             - provideタグを検索しない(デフォルト)
 -p             - パッケージを探すためにprovideタグを検索
 -r             - 名前, バージョン, リリース番号を表示
 -R             - 指定したパッケージに依存するパッケージを検索
 -s             - ソースパッケージを指定(--src と同じ)
 -u             - 新しい版がインストールされているときはパッケージを削除
 -v             - 詳細モード。
 -y             - ファジー検索(--fuzzyと同じ)
 -Y             - 大文字/小文字を区別しない[-y](ファジー検索)
  • 指定したパッケージ名/RPMファイルがあるか調べます。

パッケージ追加時に、インストールCDを毎回参照しないようにしたい。

デフォルトでは、追加したいパッケージがインストールCDに含まれる場合、インストールCD (1-3) の利用を優先します。すべての作業をネットワーク経由で行いたいときには、次のコマンドを実行してください。

# urpmi.removemedia cdrom1 cdrom2 cdrom3
メディア Installation CD1 (cdrom1) を削除
メディア Installation CD2 (cdrom2) を削除
メディア Installation CD3 (cdrom3) を削除
...設定ファイル[/etc/urpmi/urpmi.cfg]を作成

サードパーティの RPM パッケージは利用できますか。

有名なサードパーティが配布している RPM パッケージの多くが Red Hat, Fedora Linux 用に最適化されています。そのため、Mandrakelinux にインストールしても、確実に動作するとは限りません。source RPM から rebuild する方が動作する可能性が高いといえます。

ただし一例として、ATrpms からは特定のディストリビューションに依存しないとされるパッケージ (distribution independent packages) も配布されています。もし関心があるのなら、http://atrpms.net/dist/common/ を見てください。 また、以下のサイトからも Mandrakelinux 用のRPMパッケージが多数配布されています。

2ch ブラウザー「おちゅ〜しゃ」のインストールができません。

おちゅ〜しゃの公式サイト で公開されている RPM バイナリーは Fedora Core 用なので、そのままでインストールすることは無理です。http://ecololi.plala.jp/linux/mandrake/ というサイトより Mandriva 用バイナリーRPMが公開されています。これをダウンロードし、次のコマンドでインストールすれば簡単です。

# urpmi ochusha-0.5.7.2-1mdk101.i586.rpm
  • 外部リンクを開くことが可能とするには、おちゅ〜しゃの [ツール] > [オプション] > [外部ウェブブラウザ] の設定を変更する必要があります。GNOME 環境では、
    (変更前) mozilla -raise -remote "openURL(%s,new-window)"
    
    (変更後) mozilla-firefox %s
    

    KDE 環境では、替わりに konqueror %s と指定すれば対処できます。

  • 公式なソースパッケージからインストールするには、 rpmbuild コマンドを使って、 RPM パッケージに変換してからインストールします。(tarball に RPM の spec ファイルが入っています。)
    rpmbuild -ta ochusha-0.5.8.1.tar.bz2
    

メタパッケージ(Task-Oriented パッケージ)の利用について (2006 Official)

2006 Official には、Conectiva より導入された下記メタパッケージが利用できます。関連パッケージ一式を一括してインストールするためのものです。

# task-c-devel         C     開発環境
# task-c++-devel       C++   開発環境
# task-gnome           GNOME 環境
# task-kde             KDE   環境
# task-kde-devel       KDE   開発環境

一連のコマンドでどのようなパッケージがインストールされるのか知りたいときは、次のコマンドで確認できます。

$ urpmq -d task-パッケージ名