以下を使用してAIXシステムをアップグレードした後NIMによるmksysbの移行、AIX-rpm 仮想パッケージは前の AIX レベルにとどまります。
$ oslevel -r
7100-04
$ rpm -q AIX-rpm
AIX-rpm-6.1.7.0-7
これは、特定のAIX-rpmバージョンに依存する他のRPMのインストールを防ぎます。たとえば、次のようになります。
$ sudo rpm -Uvh libgcc-6.3.0-2.aix7.1.ppc.rpm
error: failed dependencies:
AIX-rpm >= 7.1.0.0 is needed by libgcc-6.3.0-2
パッケージの依存関係を照会して、この状況を事前にテストできます。
$ rpm -qp --requires libgcc-6.3.0-2.aix7.1.ppc.rpm
AIX-rpm >= 7.1.0.0
AIX-rpm < 7.2.0.0
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
...またはrpm--test
オプションを使用してください。
$ sudo rpm -Uvh --test libgcc-6.3.0-2.aix7.1.ppc.rpm
error: failed dependencies:
AIX-rpm >= 7.1.0.0 is needed by libgcc-6.3.0-2
他のRPMを強制的にインストールせずにインストールできるように、AIX-rpmを正しいレベルにインストールまたはアップグレードするにはどうすればよいですか--nodeps
。
答え1
AIX-rpm 仮想パッケージを正しいオペレーティング・システム・レベルに更新するには、以下を実行します。
$ sudo /usr/sbin/updtvpkg
Please wait...
その後、AIX-rpm 仮想パッケージがアップグレードされます。
$ rpm -q AIX-rpm
AIX-rpm-7.1.4.31-8
答え2
AIX-rpmは、システムにインストールされているinstallpを反映する「ダミー」パッケージです。これはrpm.rteがインストールされたときに/ usr / sbin / updtvpkgスクリプトによって生成され、管理者が選択した場合はいつでも実行できます(通常はRPMパッケージの特定の依存関係を満たすためにinstallpを使用して何かをインストールした後)。
AIX-rpmにはいくつかのバージョン番号が必要であるため、/usr/sbin/updtvpkgを実行しているシステムのbos.rteレベルのみが反映されます。これは情報提供のみです。 AIX-rpmレベルを確認しないでください。
AIXは、多くのソフトウェアがインストールされているいくつかの遅いシステムで/ usr / sbin / updtvpkgに時間がかかる可能性があるため、何かがインストールまたは削除されるたびに/ usr / sbin / updtvpkgを自動的に実行しません。
コマンドを手動で実行するには、次のようにします。
/usr/sbin/updtvpkg
updtvpkg を実行するときに「照会のために 20760 でヘッダーを読み込めません」に似たエラーが発生した場合は、rpm を実行してデータベースを再構築します。
rpm --rebuilddb
updtvpkgを実行した後、rpm -qaを実行して新しいAIX-rpmパッケージを表示できます。