■yum-prioritiesのインストール
yum-plugin-prioritiesとは、サードパーティ製のリポジトリを追加した際にどちらを優先するか優先順位をつけるプラグイン。
[root@server1 ~]# yum -y install yum-plugin-priorities
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.fairway.ne.jp
* extras: mirror.fairway.ne.jp
* updates: mirror.fairway.ne.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ yum-plugin-priorities.noarch 0:1.1.31-25.el7_0 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
====================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
====================================================================================================
インストール中:
yum-plugin-priorities noarch 1.1.31-25.el7_0 updates 23 k
トランザクションの要約
====================================================================================================
インストール 1 パッケージ
総ダウンロード容量: 23 k
インストール容量: 28 k
Downloading packages:
警告: /var/cache/yum/x86_64/7/updates/packages/yum-plugin-priorities-1.1.31-25.el7_0.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY
yum-plugin-priorities-1.1.31-25.el7_0.noarch.rpm の公開鍵がインストールされていません
yum-plugin-priorities-1.1.31-25.el7_0.noarch.rpm | 23 kB 00:00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
Package : centos-release-7-0.1406.el7.centos.2.3.x86_64 (@anaconda)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : yum-plugin-priorities-1.1.31-25.el7_0.noarch 1/1
検証中 : yum-plugin-priorities-1.1.31-25.el7_0.noarch 1/1
インストール:
yum-plugin-priorities.noarch 0:1.1.31-25.el7_0
完了しました!
設定ファイル/etc/yum/pluginconf.d/priorities.confを変更
[root@server1 ~]# vi /etc/yum/pluginconf.d/priorities.conf
[main]
enabled = 1
check_obsoletes = 1 ← 追加
■CentOS-Base.repoの編集
CentOS-Base.repoは優先度を高く(priority=1)しておく。
[root@server1 ~]# vi /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]
priority=1 ← 追加 priorityとは優先度で、1の方が優先度は高くなる。(未設定の場合は99)
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
priority=1 ← 追加
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
priority=1 ← 追加
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
priority=1 ← 追加
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1 ← 0から1に変更
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
■EPELリポジトリのインストール
[root@server1 ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
--2015-03-15 17:00:31-- http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
dl.fedoraproject.org (dl.fedoraproject.org) をDNSに問いあわせています... 209.132.181.24, 209.132.181.27, 209.132.181.25, ...
dl.fedoraproject.org (dl.fedoraproject.org)|209.132.181.24|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 14524 (14K) [application/x-rpm]
`epel-release-7-5.noarch.rpm' に保存中
100%[======================================>] 14,524 --.-K/s 時間 0.1s
2015-03-15 17:00:31 (118 KB/s) - `epel-release-7-5.noarch.rpm' へ保存完了 [14524/14524]
[root@server1 ~]# rpm -ivh epel-release-7-5.noarch.rpm
警告: epel-release-7-5.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 352c64e5: NOKEY
準備しています... ################################# [100%]
更新中 / インストール中...
1:epel-release-7-5 ################################# [100%]
[root@server1 ~]# rm -f epel-release-* ← ダウンロードしたファイルを削除
■epel.repoを確認
[root@server1 ~]# vi /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1 ← 1 に設定
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
EPELリポジトリからインストールする場合
[root@server1 ~]# yum --enablerepo=epel -y install パッケージ
■Repoforgeリポジトリのインストール
[root@server1 ~]# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
[root@server1 ~]# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm を取得中
準備しています... ################################# [100%]
更新中 / インストール中...
1:rpmforge-release-0.5.3-1.el7.rf ################################# [100%]
[root@server1 ~]# rm -f rpmforge-release-* ← ダウンロードしたファイルを削除
■Repoforgeを確認
[root@server1 ~]# vi /etc/yum.repos.d/rpmforge.repo
### Name: RPMforge RPM Repository for RHEL 7 - dag
### URL: http://rpmforge.net/
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el7/en/$basearch/rpmforge
mirrorlist = http://mirrorlist.repoforge.org/el7/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled=0 ← 1 に設定
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgchecki = 1
[rpmforge-extras]
name = RHEL $releasever - RPMforge.net - extras
baseurl = http://apt.sw.be/redhat/el7/en/$basearch/extras
mirrorlist = http://mirrorlist.repoforge.org/el7/mirrors-rpmforge-extras
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
[rpmforge-testing]
name = RHEL $releasever - RPMforge.net - testing
baseurl = http://apt.sw.be/redhat/el7/en/$basearch/testing
mirrorlist = http://mirrorlist.repoforge.org/el7/mirrors-rpmforge-testing
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-testing
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
Repoforgeリポジトリからインストールする場合
[root@server1 ~]# yum --enablerepo=rpmforge -y install パッケージ
■yumのデータベース情報更新
ローカルに保存されているrpmヘッダ情報を最新の情報に更新。
yumのデータベース情報更新
[root@server1 ~]# yum list
インストールパッケージの確認
[root@server1 ~]# yum list installed
■アップデート情報の確認
アップデート情報の確認
[root@server1 ~]# yum check-update
■一括アップデート
インストールされているパッケージを全てアップデート。
パッケージの一括アップデート
[root@server1 ~]# yum update
アップデートしてよいかの問い合わせに全て” y “で回答するためには -y オプションを指定。
パッケージの一括アップデート
[root@server1 ~]# yum -y update
■yumによるパッケージ更新時にエラーが表示される場合
yumコマンドでパッケージの更新を行った際に、エラーが表示されることがある。これはyumのデータベースが壊れていることが考えられるので、以下のコマンドを実行してyumのデータベースをクリアしてみる。
[root@server1 ~]# yum clean all
[root@server1 ~]# yum update
■その他のコマンド
[root@server1 ~]# /bin/yum --help
読み込んだプラグイン:fastestmirror, langpacks, priorities
Usage: yum [options] COMMAND
List of Commands:
check rpmdb の問題を確認する
check-update 更新に利用できるパッケージを確認する
clean キャッシュデータを削除する
deplist パッケージの依存性の一覧を表示する
distribution-synchronization 最新の利用可能なバージョンへインストール済みパッケージを同期する
downgrade パッケージのダウングレード
erase システムから削除するパッケージ
fs Creates filesystem snapshots, or lists/deletes current snapshots.
fssnapshot Creates filesystem snapshots, or lists/deletes current snapshots.
groups グループ情報の表示または使用
help 役立つ使い方のメッセージを表示する
history トランザクション履歴を表示、使用する
info パッケージもしくはパッケージのグループについての詳細を表示する
install システムにパッケージをインストールする
langavailable Check available languages
langinfo List languages information
langinstall Install appropriate language packs for a language
langlist List installed languages
langremove Remove installed language packs for a language
list パッケージグループの一覧を表示する
load-transaction filename から保存済みトランザクションを読み込む
makecache メタデータキャッシュを生成する
provides 指定値を提供するパッケージを検索する
reinstall パッケージの再インストール
repo-pkgs Treat a repo. as a group of packages, so we can install/remove all of them
repolist ソフトウェアリポジトリーの構成を表示する
search 指定した文字列でパッケージの詳細を検索する
shell 対話型の yum シェルを実行する
swap Simple way to swap packages, instead of using shell
update システムのパッケージを更新する
update-minimal Works like upgrade, but goes to the 'newest' package match which fixes a problem that affects your system
updateinfo Acts on repository update information
upgrade 不要になったパッケージを考慮しながらパッケージを更新する
version ホストの利用できるリポジトリーのバージョンを表示する
Options:
-h, --help このヘルプ メッセージを表示して終了する
-t, --tolerant エラーを黙認する
-C, --cacheonly キャッシュから完全に実行し、キャッシュを更新しません
-c [config file], --config=[config file]
構成ファイルの場所
-R [minutes], --randomwait=[minutes]
コマンドの最大待ち時間
-d [debug level], --debuglevel=[debug level]
デバッグ情報の出力レベル
--showduplicates 一覧/検索コマンドのリポジトリーの重複の表示
-e [error level], --errorlevel=[error level]
エラー出力レベル
--rpmverbosity=[debug level name]
rpm のデバッグ情報の出力レベル
-q, --quiet 静かに処理をする
-v, --verbose 冗長に処理をする
-y, --assumeyes すべての問い合わせに「yes」で答える
--assumeno すべての質問にいいえを回答します
--version Yum のバージョンを表示して終了する
--installroot=[path] インストールのベース ディレクトリーを設定する
--enablerepo=[repo] ひとつ以上のリポジトリーを有効にする (ワイルドカード許可)
--disablerepo=[repo] ひとつ以上のリポジトリーを無効にする (ワイルドカード許可)
-x [package], --exclude=[package]
名前かワイルドカードでパッケージを除外する
--disableexcludes=[repo]
main、あるリポジトリー、またはすべてからの除外を無効にします。
--disableincludes=[repo]
disable includepkgs for a repo or for everything
--obsoletes 更新中に不要な処理を有効にします
--noplugins Yum プラグインを無効にする
--nogpgcheck GPG 署名の確認を無効にする
--disableplugin=[plugin]
名前でプラグインを無効にする
--enableplugin=[plugin]
名前でプラグインを有効にする
--skip-broken 依存性関連に問題があるパッケージを飛ばす
--color=COLOR 色を使うかどうか制御する
--releasever=RELEASEVER
yum 設定と repo ファイルに $releasever の値を設定する
--downloadonly don't update, just download
--downloaddir=DLDIR specifies an alternate directory to store packages
--setopt=SETOPTS 全体設定とリポジトリー オプションの任意に設定する
--bugfix Include bugfix relevant packages, in updates
--security Include security relevant packages, in updates
--advisory=ADVS, --advisories=ADVS
Include packages needed to fix the given advisory, in
updates
--bzs=BZS Include packages needed to fix the given BZ, in
updates
--cves=CVES Include packages needed to fix the given CVE, in
updates
--sec-severity=SEVS, --secseverity=SEVS
Include security relevant packages matching the
severity, in updates
プラグインのオプション:
--samearch-priorities
Priority-exclude packages based on name + arch
■yumのパッケージ自動更新設定
yum-cron のインストール
[root@server1 ~]# yum -y install yum-cron
読み込んだプラグイン:fastestmirror, langpacks, priorities
base | 3.6 kB 00:00:00
centosplus | 3.4 kB 00:00:00
epel/x86_64/metalink | 5.9 kB 00:00:00
epel | 4.4 kB 00:00:00
extras | 3.4 kB 00:00:00
rpmforge | 1.9 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/3): epel/x86_64/group_gz | 250 kB 00:00:00
(2/3): centosplus/7/x86_64/primary_db | 1.8 MB 00:00:00
(3/3): epel/x86_64/primary_db | 3.1 MB 00:00:01
(1/3): epel/x86_64/updateinfo | 1.7 kB 00:00:00
(2/3): epel/x86_64/pkgtags | 1.1 MB 00:00:00
(3/3): rpmforge/primary_db | 125 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: mirror.fairway.ne.jp
* centosplus: mirror.fairway.ne.jp
* epel: mirror.premi.st
* extras: mirror.fairway.ne.jp
* rpmforge: ftp.kddilabs.jp
* updates: mirror.fairway.ne.jp
61 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ yum-cron.noarch 0:3.4.3-118.el7.centos を インストール
--> 依存性解決を終了しました。
依存性を解決しました
====================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
====================================================================================================
インストール中:
yum-cron noarch 3.4.3-118.el7.centos base 53 k
トランザクションの要約
====================================================================================================
インストール 1 パッケージ
総ダウンロード容量: 53 k
インストール容量: 50 k
Downloading packages:
yum-cron-3.4.3-118.el7.centos.noarch.rpm | 53 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告: RPMDB は yum 以外で変更されました。
インストール中 : yum-cron-3.4.3-118.el7.centos.noarch 1/1
検証中 : yum-cron-3.4.3-118.el7.centos.noarch 1/1
インストール:
yum-cron.noarch 0:3.4.3-118.el7.centos
完了しました!
■yum-cron設定
[root@server1 ~]# vi /etc/yum/yum-cron.conf ← yum-cron設定
# Whether updates should be applied when they are available. Note
# that download_updates must also be yes for the update to be applied.
apply_updates = no
↓
apply_updates = yes
■パッケージ自動更新 yum-cron の起動
[root@server1 ~]# systemctl start yum-cron
■パッケージ自動更新 yum-cron の自動起動設定
[root@server1 ~]# systemctl enable yum-cron
[root@server1 ~]# systemctl status yum-cron
yum-cron.service - Run automatic yum updates as a cron job
Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled)
Active: active (exited) since 火 2014-07-15 21:21:52 JST; 1min 45s ago
Main PID: 5382 (code=exited, status=0/SUCCESS)
7月 15 21:21:52 server2.yokensaka.com systemd[1]: Started Run automatic yum updates as a cron job.
Hint: Some lines were ellipsized, use -l to show in full.
■サーバ管理に必要なベースパッケージ群と開発ツールパッケージ群をインストール
[root@server1 ~]# yum -y groupinstall base "Development tools"
yum updateでのエラーメッセージ
/etc/cron.hourly/0yum-hourly.cron:
Not using downloaded repomd.xml because it is older than what we have:
Current : Wed Oct 29 11:09:46 2014
Downloaded: Tue Sep 23 20:43:25 2014
Not using downloaded repomd.xml because it is older than what we have:
Current : Wed Oct 29 08:44:59 2014
Downloaded: Thu Oct 23 21:18:58 2014
対応策
[root@server1 ~]# yum clean all
読み込んだプラグイン:fastestmirror, langpacks, priorities
リポジトリーを清掃しています: base centosplus epel extras rpmforge updates
Cleaning up everything
Cleaning up list of fastest mirrors
これで解決するはず