私は32ビットアプリケーションと64ビットアプリケーションの両方を含み、両方のモード、つまり32ビットプラットフォームと64ビットプラットフォームにインストールできるRPMパッケージを提供します。
パッケージには両方のアプリケーションが含まれているため、32ビットLinuxシステムにRPMパッケージをインストールしようとすると、64ビットアプリケーションと32ビットアプリケーションへのソフトリンクも作成されます。インストール後のプロセスでは、64ビットアプリケーションを32ビットシステムにインストールできないため、対応するソフトリンクを削除しました。
残念ながら、パッケージは32ビットコンピュータにインストールされ、インストール後に64ビットアプリケーションへのソフトリンクを削除しましたが、コマンドを介してクエリしたときにRPMにはまだこれらの64ビットアプリケーションソフトリンクに関する情報が含まれています。見ることができますが、rpm
実際には存在しません。
rpm
64ビットアプリケーションに関する追加情報を照会して削除する方法は?これは32ビットパッケージのインストール中に実行する必要がありますが、インストール後に実行することもできます。
答え1
確実な解決策は、RPMパッケージ自体にシンボリックリンクを含めることではなく、RPMのインストール後にスクリプトで必要に応じてシンボリックリンクを作成することです。
つまり、インストール後のスクリプトはホストのアーキテクチャを確認する必要があります。 32ビットの場合は32ビットのシンボリックリンクを作成し(必要な場合)、それ以外の場合は64ビットの場合は64ビットのシンボリックリンクを作成します。