ヤムの紹介
ヤム( Yellowdog アップデータが変更されました ) は、RPM パッケージ マネージャーの助けを借りて、Linux OS を実行するシステム用のオープンソースの無料のコマンド ライン パッケージ管理ユーティリティです。 YUM にはコマンドライン インターフェイスが含まれているため、他の多くのツールは GUI to YUM 機能を提供します。
YUM を使用すると、RPM ベースのディストリビューションでの自動更新とパッケージの依存関係管理が可能になります。 YUM は、ローカルで、またはネットワーク接続上で使用できるソフトウェア リポジトリ (パッケージのセット) を実装します。 高度なパッケージツール デビアンから。
- YUM は内部で RPM に依存しています。RPM は、自動的に適用されるソフトウェアのデジタル配布のパッケージ化標準です。 デジタル署名 そして ハッシュ 同じ機能を提供するいくつかのアプリストアとは異なり、RPM も YUM も、エンドユーザーによるパッケージのコピーに関する重要な制限に対する組み込みサポートを提供していません。
- YUM は、コマンドライン インターフェイスを提供するプログラムの小さなコレクションを使用して、Python プログラミング言語のライブラリとして機能します。
- 次のようなグラフィカル ユーザー インターフェイス ベースのラッパー YUM エクステンダー も利用可能であり、バージョン 22 までは Fedora Linux で受け入れられています。
- DNF という名前の YUM 書き換えは、Fedora 22 バージョンのデフォルトのパッケージ マネージャーとして YUM を置き換えました。これは、Fedora が Python 3 に移行しようとしており、YUM がこの変更に耐えられないと指定されていたためです。
- DNF は Python 3 または 2 を使用して実行できます。
- また、DNF は、依存関係の競合の解決とパフォーマンスの向上、他のアプリケーション ソフトウェアとの統合の簡素化など、さまざまな方法で YUM を改善するために確立されました。
YUMの歴史
1999 年から 2001 年にかけて、Yellowdog Updater (または うん ) (実際のパッケージマネージャー) は、によって統合されました。 ダン・バーコウ、トロイ・ベンゲガーデス、スティーヴン・イーディ 、 そして ブライアン・スティルウェル で テラソフトソリューションズ Yellow Dog Linux グラフィカル インストーラーのバックエンドのエンジンとして。
主に、YUM は、デューク大学物理学科で Michael Stenner と Seth Vidal によって完全な YUM の書き換えとして利用されていた Red Hat Linux システムの更新と管理のために進化しました。ビダルは2013年7月8日にノースカロライナ州ダラムの自転車事故で亡くなるまで、YUMに献身し続けた。
Yum は、以前の APT-RPM で予想される欠陥と、ツール (Red Hat up2date パッケージ管理など) の制限の両方を指定することに重点を置きました。 Red Hat Enterprise Linux 5 以降のバージョンでは、YUM は up2date よりも古いものでした。数人の著者が YUM を Yellowdog Update Manager として紹介したり、次のことを推奨したりしています。 「あなたのアップデートマネージャー」 の方が適切でしょう。
YUM の共通知識は、他のライセンス条項が尊重される場合に Linux システム管理者が変更およびロイヤルティなしで配布する必要があるものとして含まれています。 Yum は元々 Linux 用に作成されたものですが、ArcaOS、IBM、AIX など他のいくつかの OS に移植されています。
YUMの運営
YUM は次のような操作を実装できます。
- インストールされているパッケージの一覧表示
- 既存のパッケージの一覧表示
- 利用可能なインストール済みパッケージの更新
- パッケージの削除
- パッケージのインストール
YUMの拡張機能
Python では、YUM 2.x バージョンは、YUM の動作を変更できるようにするいくつかのプログラミング拡張機能用の追加インターフェイスを提供します。いくつかのプラグインがデフォルトでインストールされます。 yum-utils は一般的にインストールされるパッケージで、YUM API といくつかのプラグインを適用するコマンドが含まれています。
グラフィカル ユーザー インターフェイスと呼ばれる 'フロントエンド' により、YUM をより簡単に使用できるようになります。 YUM エクステンダー そして パッケージキット は 2 つの例です。 YUM Extender はしばらく廃止されましたが、Fedora は DNF に移転し、次のように書き直されました。 Gtk3 そして パイソン3 そして開発が進んでいます。この新しい YUM エクステンダーは、Fedora の 34 以降のバージョンに存在します。
YUMのメタデータ
(パッケージ自体とは対照的に) パッケージ情報は、 metadata 。このメタデータは、パッケージ間の依存関係を判断するために、すべてのパッケージの詳細と組み合わされます。希望は、と呼ばれる状況を無視することです。 依存地獄 。孤立したツール、つまり、 リポジトリの作成 YUM のソフトウェア リポジトリを修正し、古典的な XML 形式で重要なメタデータを生成します。の ムレポ ツール (以前はこう呼ばれていました) もの ) リポジトリのメンテナンスと作成に役立ちます。
Javaの匿名関数
YUM の XML リポジトリは、他の数人の開発者からの意見をもとに作成され、RPM ベースのリポジトリの標準になりました。 SUSE Linux 10.1 は、YUM のリポジトリをサポートします。 STの そしてリポジトリ、すなわち、 オープンビルドサービス YUM XMLリポジトリ形式のメタデータを適用します。
YUM は、ユーザーが要求した場合にのみ統合を選択する他のツールとともに、リモート メタデータをローカル クライアントに自動的に統合します。自動同期では、ユーザーが適切な間隔でコマンドの実行に失敗したために YUM が失敗することはないと定義されます。
YUMのコマンドタグ
いくつかの重要なコマンド タグとその説明は次のとおりです。
これは、すべての依存関係が満たされていることを確認しながら、パッケージ セットの最新のパッケージ バージョンをインストールするために使用されます。パッケージは小さな glob であると想定されており、指定されたパッケージ名と一致しない場合には、一致するものがインストールされます。
名前がで始まる場合は、 @ 文字の場合、他の名前はコマンドに渡すことができるように使用されます。 グループインストール 。次のような実装をインストールします ローカルインストール 名前がファイルの場合。名前がどのパッケージにも一致しない場合、そのパッケージは 「提供する」 検索されます。
注: ワイルドカードは、ファイルリストの複数のパッケージに一致します。
update タグは、パッケージなしで実行すると、現在インストールされているすべてのパッケージを更新します。複数のパッケージまたはパッケージ グロブが指定されている場合、YUM は指定されたパッケージのみを更新します。 YUM は、パッケージの更新中にすべての依存関係が満たされることを保証します。説明されているグロブまたはパッケージが現在インストールされていないパッケージと一致する場合、更新タグはそれらをインストールしません。
Update は、コマンドと同様に、ファイルリスト、プロバイダー、ファイル、およびグループに対して機能します。 'インストール' 。フラグの場合、つまり、 - 廃止 が使用可能な場合、またはプライマリの古い構成オプションが true の場合、yum は計算に古いパッケージを追加します。これにより、配布バージョンの修正が容易になります。
これを実装すると、マシンに使用が必要なアップデートがあるかどうかを、対話的に実行せずに知ることができます。を返します 100 更新用のパッケージが存在する場合の終了値。また、 パッケージ リスト形式で更新するリスト。返されるのは、 0 更新用のパッケージが存在しない場合の値。返されるのは、 1 エラーが発生した場合の値。また、冗長モードで実行すると、古いものが表示されます。
これはコマンドと同じです。つまり、フラット セットで更新します。つまり、 - 廃止 。
これは、システムを通じて指定されたパッケージを削除したり、削除されるパッケージに依存するパッケージを削除したりするために使用されます。削除タグは、コマンドと同様にファイルリスト、プロバイダー、ファイル、およびグループに対して機能します。 'インストール' 。
既存のパッケージに関する情報をリストするために使用されます。
これは、どのパッケージがいくつかのファイルや機能を提供するかを見つけるために使用されます。ただ使用してください ファイルグロブ構文 そのファイルまたは機能を提供するインストール済みまたは使用可能なパッケージをリストするためのワイルドカードまたは特定の名前。
これは、rpm のパッケージ、概要、および説明名のフィールド内の文字列と同じパッケージを検索するために使用されます。名前は分からないが、それに対応するいくつかの単語が分かるパッケージを見つけると便利です。
これは、既存のパッケージに関する概要と説明情報をリストするために使用されます。
これは、時間の経過とともに yum のキャッシュ ディレクトリに集まるいくつかのものをクリーンアップするために使用されます。
これは、現在アクティブ化されている yum リポジトリに使用可能なメタデータを作成およびダウンロードするために使用されます。
これは、説明されているタイプのグループ内のすべての個別のパッケージをインストールするために使用されます。構成オプション、つまり、 グループパッケージタイプ どのタイプがインストールされるかを説明します。
groupinstall の場合、これは正しいものを実装するエイリアスにすぎません。 「おいしいアップデートX」 そして 「yum インストール X」 コマンドも同様のことを行います。 X がすでにインストールされている場合。
これは、yum のすべてのリポジトリから既存のグループをリストするために使用されます。グループは次のようにみなされます。 「インストールされました」 必要なパッケージがすべてインストールされている場合、またはグループに必要なパッケージがない場合は、デフォルトまたはオプションのパッケージのいずれかがインストールされていればインストールされます。また、オプションの引数、つまり、 '隠れた' 存在しないとみなされるグループをリストします 「ユーザーに見える」 。の グループID を渡すと表示されます -で 詳細モードを有効にするオプション。
を入力するために使用されます。 「ヤムシェル」 ファイル名が記述されている場合、ファイルの内容は yum シェル モードで実行されます。
これは、記述された依存関係を与えるパッケージをリストするために使用されます。最大で 1 つのパッケージがリスト/依存関係として表示されます。
これは、ローカル rpm ファイルのグループをインストールするために使用されます。有効なリポジトリは、必要に応じて依存関係を解決するために使用されます。
注: ファイル名が指定されている場合、インストール コマンドはローカル インストールを実装します。
ローカルの rpm ファイルを記述してシステムを更新するために使用されます。以前のバージョンがインストールされている説明された rpm ファイルのみがインストールされ、他の説明されたパッケージは回避されます。有効なリポジトリは、必要に応じて依存関係を解決するために使用されます。
注: ファイル名が指定されている場合、更新コマンドはローカル インストールを実装します。
バージョン管理されたパッケージも同様に再インストールされます。カーネルと同様、次の目的では動作しません。 'インストールのみ' パッケージ。再インストール タグは、ファイルリスト、プロバイダー、ファイル、およびグループに対して機能します。 'インストール' 指示。
パッケージを現在インストールされているリリースから古い最新バージョン (または説明されているバージョン) にダウングレードしようとします。カーネルと同様、次の目的では動作しません。 'インストールのみ' パッケージ。 downgrade タグは、「install」コマンドと同様に、ファイルリスト、プロバイダー、ファイル、およびグループに対して機能します。
構成されたリポジトリのリストが生成されます。デフォルトでは、有効なすべてのリポジトリがリストされます。合格したら -で オプションを使用すると、冗長モードの詳細がリストされます。
すべての依存関係のリストと、提供されたパッケージに対してどのパッケージがそれらの依存関係を提供するのかのリストが生成されます。
すべてのコマンドのヘルプが生成されるか、コマンドの名前が指定されている場合は、その特定のコマンドのヘルプが表示されます。
YUM の一般オプション
コマンドラインのほとんどのオプションは、構成ファイルを使用して修正できます。説明は、修正する必要がある必須の構成オプションを表しています。
ヘルプメッセージが表示されて終了します。
競合ファイルの場所を指定します。ローカル ファイル、FTP URL、および http パスを使用できます。
昇格される質問に対する答えは「はい」であると仮定します。構成オプションは次のとおりです そうだと仮定します 。
出力せずに実行されます。
重要: -y オプションも適用したいと思われます。
デバッグのレベルを数値に設定します。印刷されるものの量を増減します。実際の範囲は 0 ~ 10 で、構成オプションは次のとおりです。 デバッグレベル 。
これは、いくつかのデバッグ出力を使用して実行されます。
エラーのレベルを数値で設定します。実際の範囲は 0 ~ 10 です。 0 は、通知が必要な重大なエラーのみを出力することを汚します。 1 は、あまり重要でないエラーも含め、すべてのエラーを出力します。 1+ を指定すると、より多くのエラーが出力されます。構成オプションは次のとおりです エラーレベル 。
コマンドを実装する前に yum が待機する最大時間を設定します。
yum に完全にキャッシュから実行するように指示します。要求されたアクションを実装する必要がない限り、ヘッダーの更新やダウンロードは行われません。
検索コマンド、リスト、および情報でパッケージを現在のバージョンに制限するものではありません。
yum のバージョン番号を通知して終了します。
代替案について説明します インストールルート 。
これは、enabled=0 オプションを使用して、構成ファイル内で無効になっている特定のリポジトリを glob または ID によって有効にします。構成オプションは次のとおりです 有効 。
glob または id によって特定のリポジトリを無効にします。構成オプションは次のとおりです 有効 。
アップデートのみに影響します。これにより、yum の廃止された処理ロジックが有効になります。構成オプションは次のとおりです 廃止 。
各リポジトリの更新から、グロブまたは名前によって特定のパッケージを除外します。構成オプションは次のとおりです 除外する 。
出力端子に応じて、色分けされた出力が自動的に、または常に表示されます。構成オプションは次のとおりです 色 。
注: カラーが有効になっている場合、いくつかのコマンドが少し余分に機能します。
1 つ以上のプラグインを無効にしなくても実行されます。引数は、プラグインの名前と照合するためのカンマで区切られたワイルドカード リストです。
すべてのプラグインを無効にした状態で実行されます。設定オプションはプラグインです。
GPG 署名チェックを無効にして実行します。構成オプションは次のとおりです gpgチェック 。
解決します デソルブ トランザクションの問題の原因となっているパッケージを削除することで問題を解決します。構成オプションは次のとおりです スキップ_壊れた。
現在、このオプションは何も行いません。
Ubuntu への YUM のインストール
ステップ 1 - システムを更新する
最新のパッケージ情報を取得し、パッケージ リポジトリを更新するには、update コマンドを実行する必要があります。
$ sudo apt update
ステップ 2 - YUM をインストールする
パッケージとその依存関係をすばやくインストールするには、install コマンドを実行する必要があります。
$ sudo apt-get install yum