yumでインストールした時にどのディレクトリに何がインストールされるか調べる方法
掲載日:2020年12月28日
INFOMARTION > yumでインストールした時にどのディレクトリに何がインストールされるか調べる方法
概要
yumコマンドを実行した際にどのディレクトリに何がインストールされるか調べる方法についてです。
知っているソフトウェアであれば何となく経験からダウンロードされる位置が分かると分かると思いますが、ソフトウェアのバージョンが変わる度に場合によってはインストールされるファイルも変更されます。
気付かない間に知らないファイルがインストールされないようにインストールされるファイルを調べる方法を記載します。
目次
1. yumとは
yumでインストールされるファイルを調べる方法を説明する前にそもそもyumとはについて説明したいと思います。yumの仕組みが分からないと調べる方法を理解することも難しいです。yumの仕組みを理解しましょう。
1-1. yumはどう動いているのか
こちらの記事でも説明していますがyumは外部のサーバにファイルを取得しにいきます。その際、取得するファイルとしては「RPMファイル」(拡張子が.rpmのファイル)となります。RPMファイルはソフトウェアのパッケージファイルです。yumコマンドを実行するとこのRPMファイルを取得します。
yumはRPMファイルを取得するために内部的にはrpmコマンドを実行しています。そしてこのRPMファイルの中にインストールされるファイルの情報があります。つまり、インストールされるファイルの情報を調べるためには、RPMファイルを特定し、特定したRPMファイルに対してコマンドを実行する必要があります。
2. インストールされるファイルを調べる方法
よく使われそうな「yum install httpd」を実行した際にインストールされるファイルを調べていきたいと思います。
2-1.対象のRPMファイルを特定
yumでどこからrpmファイルを取得しているか特定します。まずは、yumのレポジトリ情報を確認します。
yumのレポジトリ情報が何かよく分からない場合はこちらを参照してください。
[root@localhost ~]# cat /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
~省略~
※「CentOS-Base.repo」はご自身の環境に合わせて読み替えてください。
取得先は「mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra」となっています。「$releasever」「$basearch」「$infra」は変数となりますので、値を調べます。
[root@localhost ~]# yum info centos-release
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
インストール済みパッケージ
名前 : centos-release
アーキテクチャー : x86_64
バージョン : 7
リリース : 9.2009.1.el7.centos
容量 : 44 k
リポジトリー : installed
提供元リポジトリー : updates
要約 : CentOS Linux release file
ライセンス : GPLv2
説明 : CentOS Linux release files
「$infra」は空白で問題無いようです。「$releasever」は「7」、「$basearch」は「x86_64」となります。
私の環境に合わせると実際のURLは「http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=」となります。
このURLに対してcurlでもブラウザでもなんでも良いですが、アクセスすると以下の情報が返ってきます。
[root@localhost ~]# curl 'http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra='
http://ftp.jaist.ac.jp/pub/Linux/CentOS/7.9.2009/os/x86_64/
http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/
http://ty1.mirror.newmediaexpress.com/centos/7.9.2009/os/x86_64/
http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/7.9.2009/os/x86_64/
http://ftp.riken.jp/Linux/centos/7.9.2009/os/x86_64/
http://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/7.9.2009/os/x86_64/
http://ftp.nara.wide.ad.jp/pub/Linux/centos/7.9.2009/os/x86_64/
http://mirrors.cat.net/centos/7.9.2009/os/x86_64/
http://centos.usonyx.net/main/7.9.2009/os/x86_64/
http://mirror.vastspace.net/centos/7.9.2009/os/x86_64/
上記がRPMファイルの取得先の候補となります。「yum install httpd」を実行することにより、上記のどこから取得しているか確認します。
[root@localhost ~]# yum info httpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
インストール済みパッケージ
名前 : httpd
アーキテクチャー : x86_64
バージョン : 2.4.6
リリース : 97.el7.centos
容量 : 9.4 M
リポジトリー : installed
提供元リポジトリー : updates
要約 : Apache HTTP Server
URL : http://httpd.apache.org/
ライセンス : ASL 2.0
説明 : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
上記より「ftp.iij.ad.jp」。つまり、「http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/」からダウンロードしていることが分かります。
「http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/」にアクセスすると対象のRPMファイルがあることが分かります。
少し長くなりましたが、これで対象のRPMファイルの格納先、ファイル名が「http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm」であることが分かりました。
2-2. RPMファイルからインストールされるファイルを確認
RPMファイルの特定が完了したので、後はRPMコマンドにより確認するだけです。
[root@localhost ~]# rpm -qlp http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d
~省略~
/var/cache/httpd
/var/cache/httpd/proxy
/var/lib/dav
/var/log/httpd
/var/www
/var/www/cgi-bin
/var/www/html
上記の一覧がインストールされるファイルとなります。
3. まとめ
yum実行時にインストールされるファイルの確認方法について記載させていただきました。
何がどのディレクトリにインストールされるかや、想定外のファイルがインストールされていないかチェックするための参考にしてみてください。
最後までご覧いただきありがとうございました。