新しいバージョンの依存ソフトウェアが存在する場合の yum 依存関係チェックのオーバーライド

StackOverflow https://stackoverflow.com/questions/660398

  •  20-08-2019
  •  | 
  •  

質問

CentOS 5.1 で yum を使用しています。PHP 5.2.8 をソースから手動でコンパイルしましたが、他のパッケージは yum を使用してインストールされています。pecl 経由で PHP 拡張機能をインストールする必要があり、phpize もインストールする必要があります。ただし、次の操作を行うと依存関係エラーが発生します。

sudo yum install php-devel

エラー:依存関係が欠落しています:php = 5.1.6-20.el5_2.1 はパッケージ php-devel で必要です

実際には新しいバージョンの PHP がすでにインストールされているのですが、yum にこれを無視させるにはどうすればよいでしょうか?pecl/phpize をソースから手動でコンパイルする必要がありますか?確かに、これまで問題が発生したことはありませんでしたが、コンパイルと yum インストールの組み合わせが原因のようです。

何かご意見は?

ありがとう、カイル

役に立ちましたか?

解決

あなたはRPMSのすべてをパッケージ化し、yumを経由して、それを管理したほうが良いでしょうので、

経験則として、それは、システム内の1つのパッケージ管理を持っている方が良いでしょう。これは、長期的にあなたの時間の多くを保存します。

あなたは絶対に手でソースから何か(FE PHP)コンパイラを持っているしたい場合は、使用ストウ/のcheckinstall / ...またはソースコンパイルもののための基本的なパッケージ管理を行うことができますでしょう他のソリューション。

yumを強制インストールに任意のオプションを持っていないので、

あなたの質問をRegerding、あなたは、「RPM -i --force file.rpm」やって必要なパッケージのRPMをダウンロードして、依存性チェックを無効にしようとすることができます。

他のヒント

一般的には:

あなたはそれを自分でビルドする場合は、

、それが/usr/localに入り、/usrで他のものにのみアクセス可能です。

あなたはRPM /ヤムからインストールする場合は、

は、それが~/rpmに入り、rpmbuild --showrcにアクセス可能であると.src.rpm

あなたが家にコンパイルされたPHPを使用してPHPツールをインストールしたい場合は、

だから、だけでなく~/rpm/BUILD/WHATEVER-PACKAGE/にそれらをインストールします:

:一般的に、GNU型ソフトウェアで、そのようなものになるだろう
   ./configure --prefix=/usr/local && make && sudo make install

または

   make prefix=/usr/local all && sudo make prefix=/usr/local install

...ただし、の最ものソフトウェアを使用すると、その接頭辞の設定を上書きしない限り<=>するデフォルトで設定される必要があります。

あなたはRPMのに基づいていると、「手のビルド」のパッケージをしたい場合は、使用することができます。

   yumdownloader --source WHATEVER-PACKAGE
   rpm -i WHATEVER-PACKAGE.rpm
   rpmbuild -bp ~/rpm/SPECS/WHATEVER-PACKAGE.spec

(<=>へのパスと同等は変更される場合があります。<=>はあなたを教えてくれる場所)

これは、上流(原作者の)ソース(通常はtarボール)だけでなく、OS固有のパッチが含まれている<=>パッケージを、ダウンロードし; <=>(またはあなたのrpmbuildのプレフィックス)にソースをインストールします。その後、ソースをアンパックし、<=>

にパッチを適用します

は、そこから、あなたは<=>接頭辞で、手順を自分で作る/設定を行うことができます。

もちろん、単にRPMのインストールからは、はるかに簡単です: - )

yum 手動でコンパイルされた php のバージョンについては何も知りません。次のコマンドを使用してパッケージをインストールすることにより、RPM の依存関係の解決をバイパスすることができます。 rpm --nodeps そしてそれがうまくいくことを願っています。

または、自分でコンパイルした php バージョンを別のディレクトリにインストールすると、yum の古いバージョンと共存できるため、誰もが満足できます (それが可能かどうかはわかりません。アプリが php へのハードコードされたパスを使用するかどうかによって異なると思います) 。

または、運が良ければ、次のようなサードパーティのリポジトリ エペル または RPMフォージ 新しい php パッケージが含まれている可能性があるため、独自にコンパイルする必要はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top