インストール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-パッケージ名