Quantcast
Channel: VMware Communities : Blog List - All Communities
Viewing all articles
Browse latest Browse all 3135

Photon Linux の RPM パッケージ管理。(yum / tdnf)

$
0
0

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/

photon-rpm-01.png

 

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 パッケージ管理についてでした。


Viewing all articles
Browse latest Browse all 3135

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>