インストールCDを用いてインストールを行った直後は、参照可能なリポジトリーはCDメディアのみです。外部のリポジトリーを追加しないことには、パッケージ管理ツール URPMI は本来の機能を発揮できません。Fedora/RedHat Linux ではインストール直後には初期設定がすんでいて、直ちに利用可能となっているのに対して、Mandriva Linux の場合はこの点が異なっています。
リポジトリーの追加は [デスクトップ] > [アプリケーション] > [システム] > [設定] > [RPMの管理] > [RPMのメディアを管理] から、グラフィカルな設定が可能です。 Easy urpmi config というWEBブラウザーから設定コマンドを自動生成できる便利なツールもあります。
[Easy URPMI 手順と設定例] (コマンドラインからの設定)
# 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
# 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 という英語ページを参照してください。
使い方:
--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 - 詳細モード。
使い方:
--help - このヘルプを表示
--auto - 複数の選択肢から自動的にパッケージを選択
--test - 問題なく削除できるかどうかテストする
--force - 足りないパッケージがあっても強制的に実行する
--parallel - urpmiをエイリアスの複数のマシンに使う
--root - RPMの削除に他のルートを使う
--use-distrib - ディストリビューションのツリーからurpmiをオンザフライで
設定。chrootを'--root'オプション付きで(アン)インストール
する際に使用。
-v - 詳細モード。
-a - 指定した表現を含むすべてのパッケージを選択
使い方:
--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](ファジー検索)
デフォルトでは、追加したいパッケージがインストールCDに含まれる場合、インストールCD (1-3) の利用を優先します。すべての作業をネットワーク経由で行いたいときには、次のコマンドを実行してください。
# urpmi.removemedia cdrom1 cdrom2 cdrom3 メディア Installation CD1 (cdrom1) を削除 メディア Installation CD2 (cdrom2) を削除 メディア Installation CD3 (cdrom3) を削除 ...設定ファイル[/etc/urpmi/urpmi.cfg]を作成
有名なサードパーティが配布している RPM パッケージの多くが Red Hat, Fedora Linux 用に最適化されています。そのため、Mandrakelinux にインストールしても、確実に動作するとは限りません。source RPM から rebuild する方が動作する可能性が高いといえます。
ただし一例として、ATrpms からは特定のディストリビューションに依存しないとされるパッケージ (distribution independent packages) も配布されています。もし関心があるのなら、http://atrpms.net/dist/common/ を見てください。 また、以下のサイトからも Mandrakelinux 用のRPMパッケージが多数配布されています。
おちゅ〜しゃの公式サイト で公開されている RPM バイナリーは Fedora Core 用なので、そのままでインストールすることは無理です。http://ecololi.plala.jp/linux/mandrake/ というサイトより Mandriva 用バイナリーRPMが公開されています。これをダウンロードし、次のコマンドでインストールすれば簡単です。
# urpmi ochusha-0.5.7.2-1mdk101.i586.rpm
(変更前) mozilla -raise -remote "openURL(%s,new-window)" (変更後) mozilla-firefox %s
KDE 環境では、替わりに konqueror %s と指定すれば対処できます。
rpmbuild -ta ochusha-0.5.8.1.tar.bz2
2006 Official には、Conectiva より導入された下記メタパッケージが利用できます。関連パッケージ一式を一括してインストールするためのものです。
# task-c-devel C 開発環境 # task-c++-devel C++ 開発環境 # task-gnome GNOME 環境 # task-kde KDE 環境 # task-kde-devel KDE 開発環境
一連のコマンドでどのようなパッケージがインストールされるのか知りたいときは、次のコマンドで確認できます。
$ urpmq -d task-パッケージ名