VMware Photon Linux では、Red Hat Linux などでおなじみの RPM でパッケージ管理されています。
yum の RPM がインストールされていれば、yum コマンドも使用できます。
VMware Photon
http://vmware.github.io/photon/
「Photon Full OS (All) 」インストールの Photon Linux 1.0 TP1 には
yum がインストールされるので、yum repolist を見てみました。
root [ ~ ]# cat /etc/photon-release
VMware Photon Linux 1.0 TP1
root [ ~ ]# rpm -q yum
yum-3.4.3-1.noarch
root [ ~ ]# yum repolist
repo id repo name status
photon VMware Photon Linux 1.0(x86_64) 427
photon-iso VMWare Photon Linux 1.0(x86_64) 427
photon-updates VMware Photon Linux 1.0(x86_64)Updates 0
repolist: 854
リポジトリには 427 とパッケージ数が表示されていますが、
All インストールでは、260 個 の RPM がインストールされています。
※本当に ALL というわけではないようです。
root [ ~ ]# rpm -qa | wc -l
260
All インストールでも RPM は少ないですが、
最小限の「Photon OS (Micro) 」インストールだと更に少なく
60 個くらいしか RPM がインストールされていません。
root [ ~ ]# rpm -qa | wc -l
61
Micro インストールでは、Docker どころか、vi、grep などのほぼ必須のコマンドも入っていません。
そして yum コマンドも入っていません。
root [ ~ ]# vi
-su: vi: command not found
root [ ~ ]# grep
-su: grep: command not found
root [ ~ ]# yum
-su: yum: command not found
しかし Micro インストールでも、「tdnf」はインストールされていました。
root [ ~ ]# tdnf --version
tdnf: 1.0.0
tdnf とは。
tdnf は Yum と同等の RPM パッケージ管理コマンドです。
Photon と同じく、GitHub にも公開されています。
vmware/tdnf
https://github.com/vmware/tdnf
※「Tiny Dandified Yum」だそうです。
root [ ~ ]# rpm -qi tdnf
Name : tdnf
Version : 1.0
Release : 1
Architecture: x86_64
Install Date: Tue Apr 21 16:51:07 2015
Group : Applications/RPM
Size : 124586
License : VMware
Signature : (none)
Source RPM : tdnf-1.0-1.src.rpm
Build Date : Wed Apr 15 23:40:09 2015
Build Host : discus-test
Relocations : (not relocatable)
Vendor : VMware, Inc.
URL : http://www.vmware.com
Summary : dnf/yum equivalent using C libs
Description :
tdnf is a yum/dnf equivalent
which uses libhawkey and librepo
tdnf は、yum コマンドと同じように使えるようです。
root [ ~ ]# tdnf --help
usage: tdnf [options] COMMAND
List of Main Commands
autoerase
check-local Checks local rpm folder for problems
check-update Check for available package upgrades
clean Remove cached data
distro-sync Synchronize installed packages to the latest available versions
downgrade downgrade a package
erase Remove a package or packages from your system
group Display, or use, the groups information
help Display a helpful usage message
history Display, or use, the transaction history
info Display details about a package or group of packages
install Install a package or packages on your system
list List a package or groups of packages
makecache Generate the metadata cache
provides Find what package provides the given value
reinstall reinstall a package
repolist Display the configured software repositories
repository-packages Run commands on top of all packages in given repository
search Search package details for the given string
updateinfo Display advisories about packages
upgrade Upgrade a package or packages on your system
upgrade-to Upgrade a package on your system to the specified version
設定ファイルを見ると、Yum と同じリポジトリを見に行っているようです。
/etc/tdnf/tdnf.conf ファイルの repodir が
Yum のリポジトリ設定ファイルの場所を指定しています。
root [ ~ ]# cat /etc/tdnf/tdnf.conf
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=true
repodir=/etc/yum.repos.d
cachedir=/var/cache/tdnf
Yum リポジトリの参照設定はこうなっています。
root [ ~ ]# cat /etc/yum.repos.d/photon
photon-iso.repo photon-updates.repo photon.repo
root [ ~ ]# cat /etc/yum.repos.d/photon.repo
[photon]
name=VMware Photon Linux 1.0(x86_64)
baseurl=https://dl.bintray.com/vmware/photon_release_1.0_TP1_x86_64
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
gpgcheck=0
enabled=1
skip_if_unavailable=True
root [ ~ ]# cat /etc/yum.repos.d/photon-updates.repo
[photon-updates]
name=VMware Photon Linux 1.0(x86_64)Updates
baseurl=https://dl.bintray.com/vmware/photon_updates_1.0_TP1_x86_64
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
gpgcheck=0
enabled=1
skip_if_unavailable=True
root [ ~ ]# cat /etc/yum.repos.d/photon-iso.repo
[photon-iso]
name=VMWare Photon Linux 1.0(x86_64)
baseurl=file:///media/cdrom/usr/src/photon/RPMS
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
gpgcheck=0
enabled=1
skip_if_unavailable=True
上記の photon~.repo ファイルに記載された URL からもわかりますが、
RPM は Bintray のサイトから個別ダウンロードすることもできます。
https://dl.bintray.com/vmware/photon_release_1.0_TP1_x86_64/
tdnf での Yum リポジトリの一覧表示。
tdnf コマンドで Yum リポジトリを表示してみます。
Yum リポジトリとして ISO イメージも参照しているようなので、
あらかじめ「/media/cdrom」ディレクトリにマウントしておきます。
root [ ~ ]# mount /dev/cdrom /media/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
root [ ~ ]# ls /media/cdrom/
PHOTON_VMWARE_CD boot etc home lib media opt root sbin sys usr
bin dev fake isolinux lib64 mnt proc run srv tmp var
ちなみに ISO の中には、このあたりに RPM ファイルがあります。
root [ ~ ]# ls /media/cdrom/usr/src/photon/RPMS/
noarch repodata x86_64
root [ ~ ]# ls /media/cdrom/usr/src/photon/RPMS/*/*.rpm | wc -l
427
tdnf コマンドで Yum リポジトリを表示してみました。
yum コマンドと同様に repolist で見ることができます。
root [ ~ ]# tdnf repolist
repo id repo name status
photon-updates VMware Photon Linux 1.0(x86_64)Updates enabled
photon VMware Photon Linux 1.0(x86_64) enabled
photon-iso VMWare Photon Linux 1.0(x86_64) enabled
tdnf での RPM インストール。
ためしに、Micro インストールの Photon Linux に vim(vi)をインストールしてみます。
root [ ~ ]# tdnf list vim
vim.x86_64 7.4-1 photon
vim.x86_64 7.4-1 photon-iso
root [ ~ ]# tdnf install vim
Installing:
perl-DBI x86_64 1.633-1
perl-DBIx-Simple noarch 1.35-1
gdbm x86_64 1.11-1
perl-DBD-SQLite x86_64 1.46-1
grep x86_64 2.21-1
tcsh x86_64 6.18.01-1
perl x86_64 5.18.2-1
gawk x86_64 4.1.0-1
vim x86_64 7.4-1
Is this ok [y/N]:y
Downloading 9662601.00 of 9662601.00
Downloading 688103.00 of 688103.00
Downloading 17945701.00 of 17945701.00
Downloading 262177.00 of 262177.00
Downloading 219679.00 of 219679.00
Downloading 2080877.00 of 2080877.00
Downloading 155696.00 of 155696.00
Downloading 37693.00 of 37693.00
Downloading 800209.00 of 800209.00
Testing transaction
Running transaction
root [ ~ ]#
これで vim がインストールされました。
root [ ~ ]# tdnf list vim
vim.x86_64 7.4-1 @System
vim.x86_64 7.4-1 photon
vim.x86_64 7.4-1 photon-iso
root [ ~ ]# rpm -q vim
vim-7.4-1.x86_64
root [ ~ ]# vi --version | head -1
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Apr 15 2015 20:19:49)
以上、Photon Linux の RPM パッケージ管理についてでした。