CentOSにソフトウェアをインストールするために使用されるパッケージマネージャを識別する方法は?

CentOSにソフトウェアをインストールするために使用されるパッケージマネージャを識別する方法は?

私のCentOS 7.2サーバーでは:

[root@localhost data]# which php
/usr/local/bin/php
[root@localhost data]# ll /usr/local/bin/php
lrwxrwxrwx. 1 root root 29 Jun 25 08:13 /usr/local/bin/php -> /usr/local/php-7.1.16/bin/php

CentOS 7.2でPHPを実行していますが、dpkg --statusパッケージマネージャを使用してPHPをインストールするにはどうすればよいですか? installyumまたはmakeを使用してインストールされていますか?

答え1

ランニングrpm -qf /usr/local/php-7.1.16/bin/php

答えた場合:

file /usr/local/php-7.1.16/bin/php is not owned by any package

これにより、RPMパッケージ管理ツールを使用してファイルがインストールされていないことを確認できます。

他の人が言ったように、以下にインストールされているという事実は、ディストリビューション/usr/localの標準パッケージには確実にインストールされていないことを示しています。を使用してインストールするか、makeサードパーティのRPMを使用できます。

ファイルがインストールされているかどうかを確認する唯一の方法makeは、システムに.o他のオブジェクトコードファイルが存在するか存在するPHP 7.1.16ソースツリーとその時間を見つけることです(=ソースが実際にコンパイルされたことを示します)。 /usr/local/php-7.1.16/bin/phpにあるPHPバイナリのタイムスタンプに近いスタンプを撮ります。

答え2

この質問は答えかもしれませんし、できないかもしれません。

まず、yumPHPバイナリがインストールされているパッケージに属していることを確認するには、次の手順を実行します。yum whatprovides '*bin/php'

パッケージが見つからない場合は、インストールされていyumない可能性がありますyum。最も可能性が高いのは、yumデータベースが破損していることです。

yum経由でインストールされていない場合、viayum経由でインストールされているかどうかはわかりません。通常makemakeファイルは必要な場所にコピーされますが、記録は残らないためです。

答え3

私の考えでは、あなたがphpそれをインストールしたと思いますmake

まず、CentOSには公式リポジトリにphp7バイナリがありません(「Remi」や「Webtatic」などの他のリポジトリにはphp7バイナリがあります)/usr/local/FHS:

この/usr/local階層は、システム管理者がソフトウェアをローカルにインストールするときに使用されます。システムソフトウェアが更新されたら上書きしないでください。ホストグループ間で共有できるプログラムやデータに使用できますが/usr

IMHO、あなたのPHPはmakeを使ってローカルに構築されているようです。

関連情報