質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.22%

現在使用していないパッケージを削除したい

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 1,085

ruuusaamarki

score 415

前提

これまで開発環境を作ってきたのですが
よくわかっていないまま色々な形でインストールを行っていたため
パッケージが混在している状態だと思います。
それらを整理したいのですが現状を把握できずにおります。

該当のソースコード

[vagrant@localhost html]$ rpm -qa | grep php
php72-runtime-1.0-0.1.el7.remi.x86_64
php-cli-7.0.23-1.el7.remi.x86_64
php-mbstring-7.0.23-1.el7.remi.x86_64
php72-php-common-7.2.0-0.23.RC2.el7.remi.x86_64
php-mysqlnd-7.0.23-1.el7.remi.x86_64
php72-php-pecl-xdebug-2.6.0-0.4.20170601.d82879d.el7.remi.x86_64
php-devel-7.0.23-1.el7.remi.x86_64
php-pecl-xdebug-2.5.5-1.el7.remi.7.0.x86_64
php-7.0.23-1.el7.remi.x86_64
php72-php-json-7.2.0-0.23.RC2.el7.remi.x86_64
php-json-7.0.23-1.el7.remi.x86_64
php-pdo-7.0.23-1.el7.remi.x86_64
php-common-7.0.23-1.el7.remi.x86_64
php-gd-7.0.23-1.el7.remi.x86_64

[vagrant@localhost html]$ php -v
Cannot load Xdebug - it was already loaded
PHP 7.0.23 (cli) (built: Aug 29 2017 17:27:07) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans

[vagrant@localhost html]$ yum list installed | grep php
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
php.x86_64                             7.0.23-1.el7.remi              @remi-php70
php-cli.x86_64                         7.0.23-1.el7.remi              @remi-php70
php-common.x86_64                      7.0.23-1.el7.remi              @remi-php70
php-devel.x86_64                       7.0.23-1.el7.remi              @remi-php70
php-gd.x86_64                          7.0.23-1.el7.remi              @remi-php70
php-json.x86_64                        7.0.23-1.el7.remi              @remi-php70
php-mbstring.x86_64                    7.0.23-1.el7.remi              @remi-php70
php-mysqlnd.x86_64                     7.0.23-1.el7.remi              @remi-php70
php-pdo.x86_64                         7.0.23-1.el7.remi              @remi-php70
php-pecl-xdebug.x86_64                 2.5.5-1.el7.remi.7.0           @remi-php70
php72-php-common.x86_64                7.2.0-0.23.RC2.el7.remi        @remi-safe
php72-php-json.x86_64                  7.2.0-0.23.RC2.el7.remi        @remi-safe
php72-php-pecl-xdebug.x86_64           2.6.0-0.4.20170601.d82879d.el7.remi
php72-runtime.x86_64                   1.0-0.1.el7.remi               @remi-safe

sudo yum list installed | grep php | grep xdebug | less
php-pecl-xdebug.x86_64                 2.5.5-1.el7.remi.7.0           @remi-php70
php72-php-pecl-xdebug.x86_64           2.6.0-0.4.20170601.d82879d.el7.remi

試したこと

phpinfoを確認したところPHP Version 7.0.23とでていました。
これはphp72のほうは使っていないということなのでしょうか。
またxdebugに関してもsudo yum list installed | grep php | grep xdebug | lessを
実行した際に2つ表示されました。この2つも削除したいのですが
やり方がよくわからずまず現状を確認したいと考えてこちらにまいりました。

また下記ページを確認すると
https://qiita.com/bezeklik/items/74106f3ed528584293c3
remiリポジトリでもパッケージ名がphpだったりphp72だったりというパターンがあるようですが
私の環境の場合もこれを見るとremiリポジトリの中の違う2つのリポジトリから
インストールしたのかなとも予想していますが認識が間違っていますでしょうか。

実現したいこと

現在使用しているphpと関連パッケージのみを残し
使用していないものに関しては一旦削除したい。
上記が出来たらさらにxdebugだけ削除し
ext-simplexmlをインストールしたいです。

補足情報(言語/FW/ツール等のバージョンなど)

windows10上にvirtualbox+centos7+vagrantで開発環境を構築しております。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Kosuke_Shibuya

    2017/10/09 12:50

    何がわからないのでしょうか?削除のコマンドがわからない?何を削除していいかわからない?

    キャンセル

  • m6u

    2017/10/09 12:54

    7.0系を消したいのか、7.2系を消したいのかもわからない

    キャンセル

  • ruuusaamarki

    2017/10/09 14:16 編集

    説明に不備がありまして申し訳ございません。何を削除していいかわからないです。現在使用していないphpとパッケージをまず把握したいです。

    キャンセル

回答 1

checkベストアンサー

+1

yum listの実行結果の3列目は、そのパッケージがどのリポジトリから取得されたかを表しています。
提示頂いた内容だと、@remi-php70@remi-safeの2つがあることがわかります。

このうち、今回削除するのはremi-safe由来のパッケージとなるかと思います。
3列目が@remi-safeとなっているパッケージをyum remove等で削除すればよいでしょう。

また、もしyum以外でパッケージを導入していた場合等あれば、下記でphp関連の別のパッケージのインストール状況を確認する必要もあるかもしれません。

rpm -qa | grep php

remiリポジトリでもパッケージ名がphpだったりphp72だったりというパターンがあるようですが
私の環境の場合もこれを見るとremiリポジトリの中の違う2つのリポジトリから
インストールしたのかなとも予想していますが認識が間違っていますでしょうか。

ご認識の通りかと思います。
/etc/yum.repos.d配下のconfファイルの中に、[remi-php70][remi-safe]の2つのリポジトリ定義があるのではないかと思います。
そのそれぞれからyumでパッケージをインストールしたものと考えられます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/09 15:53

    ご回答ありがとうございます!

    remi-php70とremi-safeというリポジトリが2種類あるんですね。
    この辺りもよく理解できておりませんでした。

    rpm -e --test コマンドで依存関係を確認し
    rpm -eコマンドで一つずつ削除し
    無事整理することができました。

    リポジトリに関する理解が少しだけ深まりましたありがとうございます。

    作業をしていて関連する疑問が出てしまったのですが
    remi-php70からインストールしたパッケージが
    remi-safeからインストールしたパッケージに依存する
    というケースはほとんどないのでしょうか。
    この辺りもrpm -e --test コマンドで確認すれば
    依存関係を抽出できるのでしょうか。

    キャンセル

  • 2017/10/09 17:54

    > remi-php70からインストールしたパッケージが
    > remi-safeからインストールしたパッケージに依存する
    > というケースはほとんどないのでしょうか。
    remiさんの作成されているリポジトリに限ればば、そのような依存関係はおそらく発生しないのではないかと思います。

    ただし、あるリポジトリのパッケージが別のリポジトリのパッケージに依存していることはあります。
    例えばEPELのxscreensaverをyumからインストールしようとした場合、baseリポジトリのパッケージも同時にインストールされるかと思います。
    "rpm -e --test パッケージ名"や"rpm -q --whatrequires パッケージ名"では、これから削除しようとしているパッケージに依存している他のパッケージがないかをチェックしているため、逆に削除しようとしているパッケージを導入する際に追加でインストールされたパッケージはわかりません。

    対象のパッケージが何に依存しているかは、"rpm -qR パッケージ名"で調べることが可能です。
    こちらはたくさん出てくると思いますが、パッケージ削除に同時に不要になると思われるパッケージがあるようであれば、合わせて削除されてもよいかと思います。
    他に依存しているパッケージがあれば"rpm -e --test"時に警告されるかと思いますが、それでも削除が心配ということであれば、インストール時に一緒に導入されたパッケージを控えておくか、/var/log/yum.logなどでインストール履歴を確認するといった対応で確認頂くとよいのかと思います。

    キャンセル

  • 2017/10/09 18:23

    度々のご回答ありがとうございます!

    知識のない私でもわかりやすくご教授いただきとても勉強になりました。
    /var/log/yum.logこのファイルも知りませんでした。
    教えていただいたコマンドにて色々確認してみたいと思います。
    ありがとうございました!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.22%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る