/usr/sbin/updtvpkg

/usr/sbin/updtvpkg

以下を使用して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パッケージを表示できます。

https://unixhealthcheck.com/blog?id=305

関連情報