CentOS,Red Hat Enterprise Linuxを使っていると
避けて通れないのがyumコマンドです
パッケージに関わる諸々はyumコマンドを利用して操作します。
今回はyumコマンドだけでは操作できない部分を補ってくれる
yum-utilsを導入します
yum-utilsにはパッケージ(rpm)のみダウンロードすることができる
yumdownloaderなどのコマンドが含まれます
目次
install
それでは早速インストール
コマンドはyum install yum-utilsです。
yum-utilsをyumコマンドでインストールする
再帰的な感じが,なんともLinux(Linux Is Not Unix)らしくて好きです。
[root@centos73 ~]# yum install yum-utils 読み込んだプラグイン:fastestmirror base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 Loading mirror speeds from cached hostfile * base: ftp.tsukuba.wide.ad.jp * extras: ftp.tsukuba.wide.ad.jp * updates: ftp.tsukuba.wide.ad.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ yum-utils.noarch 0:1.1.31-42.el7 を インストール --> 依存性の処理をしています: python-kitchen のパッケージ: yum-utils-1.1.31-42.el7.noarch --> 依存性の処理をしています: libxml2-python のパッケージ: yum-utils-1.1.31-42.el7.noarch --> トランザクションの確認を実行しています。 ---> パッケージ libxml2-python.x86_64 0:2.9.1-6.el7_2.3 を インストール ---> パッケージ python-kitchen.noarch 0:1.1.1-5.el7 を インストール --> 依存性の処理をしています: python-chardet のパッケージ: python-kitchen-1.1.1-5.el7.noarch --> トランザクションの確認を実行しています。 ---> パッケージ python-chardet.noarch 0:2.2.1-1.el7_1 を インストール --> 依存性解決を終了しました。 依存性を解決しました ======================================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ======================================================================================================================== インストール中: yum-utils noarch 1.1.31-42.el7 base 117 k 依存性関連でのインストールをします: libxml2-python x86_64 2.9.1-6.el7_2.3 base 247 k python-chardet noarch 2.2.1-1.el7_1 base 227 k python-kitchen noarch 1.1.1-5.el7 base 267 k トランザクションの要約 ======================================================================================================================== インストール 1 パッケージ (+3 個の依存関係のパッケージ) 総ダウンロード容量: 857 k インストール容量: 4.3 M Is this ok [y/d/N]: y Downloading packages: (1/4): yum-utils-1.1.31-42.el7.noarch.rpm | 117 kB 00:00:00 (2/4): python-kitchen-1.1.1-5.el7.noarch.rpm | 267 kB 00:00:00 (3/4): libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm | 247 kB 00:00:00 (4/4): python-chardet-2.2.1-1.el7_1.noarch.rpm | 227 kB 00:00:00 ------------------------------------------------------------------------------------------------------------------------ 合計 1.0 MB/s | 857 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : python-chardet-2.2.1-1.el7_1.noarch 1/4 インストール中 : python-kitchen-1.1.1-5.el7.noarch 2/4 インストール中 : libxml2-python-2.9.1-6.el7_2.3.x86_64 3/4 インストール中 : yum-utils-1.1.31-42.el7.noarch 4/4 検証中 : libxml2-python-2.9.1-6.el7_2.3.x86_64 1/4 検証中 : yum-utils-1.1.31-42.el7.noarch 2/4 検証中 : python-kitchen-1.1.1-5.el7.noarch 3/4 検証中 : python-chardet-2.2.1-1.el7_1.noarch 4/4 インストール: yum-utils.noarch 0:1.1.31-42.el7 依存性関連をインストールしました: libxml2-python.x86_64 0:2.9.1-6.el7_2.3 python-chardet.noarch 0:2.2.1-1.el7_1 python-kitchen.noarch 0:1.1.1-5.el7 完了しました! [root@centos73 ~]#
yum-utilsに含まれるファイルを探す(repoquery)
さらにさらに再帰的にyum-utilsに含まれるコマンド
repoqueryコマンドでyum-utilsに含まれる
ファイルの一覧を出力してみましょう
コマンドはrepoquery --list yum-utilsです。
実行結果の中に ”/usr/bin/repoquery”が含まれていますね^^
[root@centos73 ~]# repoquery --list yum-utils /etc/bash_completion.d /etc/bash_completion.d/yum-utils.bash /usr/bin/debuginfo-install /usr/bin/find-repos-of-install /usr/bin/needs-restarting /usr/bin/package-cleanup /usr/bin/repo-graph /usr/bin/repo-rss /usr/bin/repoclosure /usr/bin/repodiff /usr/bin/repomanage /usr/bin/repoquery /usr/bin/reposync /usr/bin/repotrack /usr/bin/show-changed-rco /usr/bin/show-installed /usr/bin/verifytree /usr/bin/yum-builddep /usr/bin/yum-config-manager /usr/bin/yum-debug-dump /usr/bin/yum-debug-restore /usr/bin/yum-groups-manager /usr/bin/yumdownloader /usr/lib/python2.7/site-packages/yumutils /usr/lib/python2.7/site-packages/yumutils/__init__.py /usr/lib/python2.7/site-packages/yumutils/__init__.pyc /usr/lib/python2.7/site-packages/yumutils/__init__.pyo /usr/lib/python2.7/site-packages/yumutils/i18n.py /usr/lib/python2.7/site-packages/yumutils/i18n.pyc /usr/lib/python2.7/site-packages/yumutils/i18n.pyo /usr/sbin/yum-complete-transaction /usr/sbin/yumdb /usr/share/doc/yum-utils-1.1.31 /usr/share/doc/yum-utils-1.1.31/COPYING /usr/share/doc/yum-utils-1.1.31/README /usr/share/doc/yum-utils-1.1.31/yum-util-cli-template /usr/share/locale/da/LC_MESSAGES/yum-utils.mo /usr/share/man/man1/debuginfo-install.1.gz /usr/share/man/man1/find-repos-of-install.1.gz /usr/share/man/man1/needs-restarting.1.gz /usr/share/man/man1/package-cleanup.1.gz /usr/share/man/man1/repo-graph.1.gz /usr/share/man/man1/repo-rss.1.gz /usr/share/man/man1/repoclosure.1.gz /usr/share/man/man1/repodiff.1.gz /usr/share/man/man1/repomanage.1.gz /usr/share/man/man1/repoquery.1.gz /usr/share/man/man1/reposync.1.gz /usr/share/man/man1/repotrack.1.gz /usr/share/man/man1/show-changed-rco.1.gz /usr/share/man/man1/show-installed.1.gz /usr/share/man/man1/verifytree.1.gz /usr/share/man/man1/yum-builddep.1.gz /usr/share/man/man1/yum-config-manager.1.gz /usr/share/man/man1/yum-debug-dump.1.gz /usr/share/man/man1/yum-debug-restore.1.gz /usr/share/man/man1/yum-groups-manager.1.gz /usr/share/man/man1/yum-utils.1.gz /usr/share/man/man1/yumdownloader.1.gz /usr/share/man/man8/yum-complete-transaction.8.gz /usr/share/man/man8/yumdb.8.gz [root@centos73 ~]#
おすすめyumリンク
最後にyumコマンドについておすすめのリンクを2つ紹介。
YUM コマンド チートシート for Red Hat Enterprise Linux
① https://access.redhat.com/ja/articles/1354533
② https://access.redhat.com/sites/default/files/attachments/rh_yum_cheatsheet_1214_jcs_print-ja.pdf
yum installで学ぶ! yum の仕組み
※文中の図がyumとrpmの関係をわかりやすく図示されています
http://tech-blog.rakus.co.jp/entry/2017/12/14/105052
参考になれば幸いです
試した環境
HW
Product Name ProLiant DL160 Gen8 CPU 4 CPUs x Intel(R) Xeon(R) CPU E5-2603 0 @ 1.80GHz Memory 16GB iLO Firmware Version 2.44 Jul 19 2016
仮想化基盤
OS vmware ESXi 6.0.0 (Build 3620759) 操作環境 VMware Host Client iMac (27-inch, Mid 2010) macOS High Sierra
ゲストOS
[root@centos73 ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@centos73 ~]# uname -a Linux centos73 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [root@centos73 ~]#