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

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

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

2878閲覧

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

ruuusaamarki

総合スコア468

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2017/10/09 03:11

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

###該当のソースコード

[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で開発環境を構築しております。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/09 03:50

何がわからないのでしょうか?削除のコマンドがわからない?何を削除していいかわからない?
退会済みユーザー

退会済みユーザー

2017/10/09 03:54

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

2017/10/09 05:31 編集

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

回答1

0

ベストアンサー

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 03:51

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ruuusaamarki

2017/10/09 06:53

ご回答ありがとうございます! remi-php70とremi-safeというリポジトリが2種類あるんですね。 この辺りもよく理解できておりませんでした。 rpm -e --test コマンドで依存関係を確認し rpm -eコマンドで一つずつ削除し 無事整理することができました。 リポジトリに関する理解が少しだけ深まりましたありがとうございます。 作業をしていて関連する疑問が出てしまったのですが remi-php70からインストールしたパッケージが remi-safeからインストールしたパッケージに依存する というケースはほとんどないのでしょうか。 この辺りもrpm -e --test コマンドで確認すれば 依存関係を抽出できるのでしょうか。
退会済みユーザー

退会済みユーザー

2017/10/09 08: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などでインストール履歴を確認するといった対応で確認頂くとよいのかと思います。
ruuusaamarki

2017/10/09 09:23

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問