CentO 6にwinswitchをインストールしようとしています。「nxagent」が必要です。しかし、centosでは、パッケージ名は「nx」です。 「nxagent」依存関係のチェックをスキップするようにyumに指示する方法はありますか(私はすでに「nx」をインストールしています)? --skip-brokenを指定すると、すべてがスキップされます
通常、yum
には、依存関係から単一のパッケージを無視するオプションはありません。オプション--skip-broken
は、未解決の依存関係をすべて無視します。
あなたが試すことができます yum --exclude=packagename
ただし、依存関係からではなく、すべてのリポジトリの更新から、名前またはグロブによって特定のパッケージを除外します。
rpm
コマンドには、使用できる--nodeps
オプションがあります。課題は、rpm
自体はyumリポジトリーを認識しないことです。次のコマンドは、パッケージをインストールまたは更新し、依存関係を無視しますが、yum-utils
にあるrepoquery
を使用してリポジトリからダウンロードURLを自動的に検索します。
rpm -Uvh --nodeps $(repoquery --location winswitch)
その後、通常のyum update
は、依存関係エラーなしで成功する可能性があります。
OS用に設計されていないパッケージをインストールしようとしているようです。つまり、CentOS用に設計されている場合、nx
が正しく必要です。
この問題の別の回避策は、ファイルを含まない小さなシムRPMパッケージを作成してインストールすることですが、スペックファイルには(特に)次の行が含まれています。
requires: nx
provides: nxagent
このようにして依存関係は満たされる必要がありますが、ファイルがインストールされると予想されるnxagent
パッケージとCentOSが提供するnx
パッケージとの間で異なる場所にあると想定される場合があります。
rpmrebuildを使用して、新しいパッケージ名を指すようにrpmメタデータを変更することもできます。これは「あなたの」パッケージになりますが、rpmの依存関係に関してはよりクリーンです。私が思うに--nodepsを使用することに不利な点はありません。