パッケージ管理

yumとは
RedHat系ディストリビューションのパッケージ管理システムの事
パッケージグループ
共通の目的をもったパッケージのまとまりの事
コマンド 説明/使用例
yum list [all | パッケージ名] リポジトリにあるパッケージや、インストールされているパッケージの一覧を確認
# yum list gcc*    ワイルドカードを使って確認
yum list installed [パッケージ名] インストール済みのパッケージだけを一覧表示
# yum list installed gcc*
yum list available [パッケージ名] リポジトリ上の利用可能なパッケージだけを表示
# yum list available gcc*
yum grouplist 全てのパッケージグループを一覧表示
# yum grouplist
yum search パッケージ名や、用語 リポジトリ上のRPMのパッケージ名、詳細、サマリから対象のパッケージを検索
# yum search bind
yum provides ファイル名 ファイル名からパッケージを検索
# yum provides /bin/gawk
rpm -qf ファイル名 ファイル名からインストール済みパッケージを検索
# rpm -qf /bin/gawk
yum install パッケージ名 [パッケージ名2 パッケージ名3...] 任意のパッケージをインストールし、依存関係を自動的に調べて解決してくれる
# yum install php
yum groupinstall グループ名|グループID パッケージグループ単位でインストールし
# yum -v grouplist FTP*   グループ名 (グループID)の確認
利用可能なグループ
   FTP サーバー (ftp-server)  グループ名 (グループID)
# yum groupinstall "FTP サーバー"
yum info パッケージ名… パッケージに関する情報を表示明
# yum info php
yum groupinfo グループID パッケージグループに関する情報を表示
# yum groupinfo ftp-server
yum check-update パッケージに更新があるかどうかを確認
# yum check-update curl
curl.x86_64                7.19.7-53.el6_9         updates
yum update [パッケージ名 [パッケージ名]] 更新が存在するパッケージをアップデートする
# yum update curl
更新:
  curl.x86_64 0:7.19.7-53.el6_9
yum remove パッケージ名 yumでパッケージを削除
# yum remove php-*
yum groupremove パッケージグループ名|グループID パッケージグループを削除する
# yum groupremove "FTP サーバー"
/etc/yum.conf
yum コマンドの関連ユーティリティの動作を決めるための設定ファイル
/etc/yum.repos.d/配下
リポジトリ名.repo の名前でそれぞれのリポジトリを定義することが推奨されている
/etc/yum.repos.d/配下

# ls -l /etc/yum.repos.d/

-rw-r--r--. 1 root root 1991  8月  4 01:13 2015 CentOS-Base.repo

-rw-r--r--. 1 root root  647  8月  4 01:13 2015 entOS-Debuginfo.repo

-rw-r--r--. 1 root root  630  8月  4 01:13 2015 CentOS-Media.repo

-rw-r--r--. 1 root root 6259  8月  4 01:13 2015 CentOS-Vault.repo

-rw-r--r--. 1 root root  289  8月  4 01:13 2015 CentOS-fasttrack.repo

-rw-r--r--  1 root root 1056 11月  5 12:52 2012 epel-testing.repo

-rw-r--r--  1 root root  957 11月  5 12:52 2012 epel.repo

-rw-r--r--  1 root root  422 10月  1 23:58 2015 puppetlabs-pc1.repo

リポジトリを確認

# yum repolist

リポジトリー ID         リポジトリー名                                             状態

base                    CentOS-6 - Base                                           6,706

epel                    Extra Packages for Enterprise Linux 6 - x86_64           12,317

extras                  CentOS-6 - Extras                                            64

puppetlabs-pc1          Puppet Labs PC1 Repository el 6 - x86_64                    121

updates                 CentOS-6 - Updates                                          252

Remiリポジトリの追加

# yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

 

追加されたリポジトリ

# yum repolist

リポジトリー ID        リポジトリー名                                              状態

remi-safe              Safe Remi's RPM repository for Enterprise Linux 6 - x86_64  1,769

 

追加されたリポジトリファイル

# ls -l /etc/yum.repos.d | grep remi

-rw-r--r--  1 root root  457  2月 10 22:27 2017 remi-php54.repo

-rw-r--r--  1 root root 1316  2月 10 22:27 2017 remi-php70.repo

-rw-r--r--  1 root root 1316  2月 10 22:27 2017 remi-php71.repo

-rw-r--r--  1 root root  751  2月 10 22:27 2017 remi-safe.repo

-rw-r--r--  1 root root 2609  2月 10 22:27 2017 remi.repo

yumコマンドで特定のリポジトリだけを動作の対象にする

# yum --disablerepo=* --enablerepo=remi-safe repolist

リポジトリー ID        リポジトリー名                                               状態

remi-safe              Safe Remi's RPM repository for Enterprise Linux 6 - x86_64  1,769

全てのリポジトリを無効にして、remi-safeだけ有効にする

リポジトリを作成
createrepo コマンドを使って、yum のリポジトリを作成。リポジトリのパスに配置されている
rpmパッケージの情報を読み取ってメタデータが作成され、リポジトリとして動作する形になる
# createrepo [オプション] リポジトリのパス
1. yumリポジトリの作成コマンドをインストール

# yum install createrepo

# which createrepo
/usr/bin/createrepo

 

2. rpmパッケージのダウンロードコマンドをインストール

## yum install yum-utils

# which yumdownloader
/usr/bin/yumdownloader

 

3. rpmパッケージの格納先を作成して、rpmパッケージをダウンロード

# mkdir /tmp/rep

# yumdownloader --destdir=/tmp/repo nkf vim-enhanced

# ls /tmp/repo
nkf-2.0.8b-6.2.el6.x86_64.rpm vim-enhanced-7.4.629-5.el6_8.1.x86_64.rpm

 

4. リポジトリの作成

# createrepo /tmp/repo

# ls -d /tmp/repo/*
/tmp/repo/nkf-2.0.8b-6.2.el6.x86_64.rpm /tmp/repo/vim-enhanced-7.4.629-5.el6_8.1.x86_64.rpm
/tmp/repo/repodata

 

5. 作成したリポジトリへアクセス

# vi /etc/yum.repos.d/my_repo.repo

[my_repo]
name=My Repository
baseurl=file:///tmp/repo 

HTTP/HTTPS 経由でアクセスする場合は baseurl=http://servername/repo

 

6. 確認する

# yum repolist my_repo -v

リポジトリー ID : my_repo
リポジトリーの名前 : My Repository
リポジトリーの状態 : 有効

 

7. リポジトリの内容を更新する場合

createrepo コマンドを再実行してメタデータを作成しなおす

# createrepo --update /tmp/repo/

 

8. my_repoリポジトリだけ有効にしてrpmパッケージをインストール

# yum --disablerepo=* --enablerepo=my_repo install nkf -y

インストール:
nkf.x86_64 1:2.0.8b-6.2.el6


基本こちらを参考にさせて頂きました

参考 Linux 基礎知識