CentOS 7にPostgreSQL 9.5をインストールしようとしています。
オンラインで検索して9.5RPMにアクセスするには、次のコマンドでpgdg95をインストールする必要があります。
sudo rpm -ivh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
私はPostgreSQL RPMを介してPostgreSQL 9.5をインストールしています。私がインストールするRPMには独自のスクリプトが含まれており、rpm-maven-pluginを使用してサーバーにマップします。また、このプラグインを使用してPostgreSQL 9.5パッケージを<requires>
POM.xml設定セクションに追加してインストールします。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.1.5</version>
<extensions>true</extensions>
<configuration>
<license>GPL (c) 2005, SWWDC</license>
<distribution>distro</distribution>
<group>group</group>
<requires>
<require>postgresql95-server</require>
<require>postgresql95-contrib</require>
<require>postgresql95-plpython</require>
</requires>
<mappings>
</mappings>
<prepareScriptlet>
<scriptFile>src/scripts/prepinstall.sh</scriptFile>
</prepareScriptlet>
<preinstallScriptlet>
<scriptFile>src/scripts/preinstall.sh</scriptFile>
</preinstallScriptlet>
<postinstallScriptlet>
<scriptFile>src/scripts/postinstall.sh</scriptFile>
</postinstallScriptlet>
</configuration>
</plugin>
ご覧のように、パッケージのYUMのインストール中に自動的に実行されるプリインストールスクリプトとプリインストールスクリプトをパッケージに追加しました。問題は、requireがこれら2つのスクリプトの前に実行され、pgdg95 RPMがインストールされていないために失敗することです。
必要なRPMをインストールする前に、質問の冒頭でコマンドを実行するにはどうすればよいですか? prep / preinstallスクリプトは、要件が以前に実行されたため機能しないようです。
ベストアンサー1
私が実装したソリューションは、キックスタートで次の行を使用してインストールするときにリポジトリを追加することでした。
repo --name="PostgreSQL" --baseurl="http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/"
次に、POM.xmlを追加します。
<requires>pgdg-centos95-9.5-2.noarch.rpm</requires>