articles:yum

dnf/yum(とrpm)コマンド

yum list '*php*'

インストールされているパッケージの検索

yum list installed [glob]
dnf list --installed [glob]

RHEL8系

インストールされていなくてもdnf listで表示されるパッケージなら実行可能。

dnf rq -l <package>

CentOS 6/CentOS 7

インストールされているかパッケージか、ダウンロードしたrpmファイルが対象。

rpm -ql <package>
yum provides '*/php'

CentOS 7以降は */php ではなく php での指定も可。

有効なリポジトリの一覧

yum repolist

全てのリポジトリの一覧

yum repolist all
dnf repolist --all
yum repo-pkgs <repoid> list

listの代わりにinstallremoveで一括操作が可能。

RHEL8系からdnfで実行可能。

dnf config-manager --set-enabled <repoid>
dnf config-manager --set-disabled <repoid>
yum group list

listの代わりにinstall <group>remove <group>で一括操作が可能。

例えばセキュリティバグがフィックスされたバージョンがあるはずなのに、yum updateをしても更新されずyum listの一覧にも出てこない場合。

yum cleanyumのキャッシュをクリアしてから更新すると成功する場合がある。

yum clean all
yum update

/etc/yum.conf に以下を追加する。

proxy=http://proxy.example.com:8080
proxy_username=username_for_auth
proxy_password=password_for_auth

EPEL

dnf config-manager --set-enabled powertools
dnf install epel-release.noarch

RPM Fusion (free)

dnf install rpmfusion-free-release

ELRepo

dnf install elrepo-release.noarch

centos-release-系のリポジトリはCentOS 8.xのサポートが終了していることもあり、 インストールするとエラーが発生する場合がある。

The Software Collections ( SCL ) Repository

yum install centos-release-scl

EPEL

yum install epel-release
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

IUS

yum install https://repo.ius.io/ius-release-el7.rpm
rpm --import /etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

Ansible

yum install centos-release-ansible-29.noarch

QEMU/KVMの新しい版

yum install centos-release-qemu-ev

Open Stack/Open vSwitch

yum install centos-release-openstack-train.noarch

EPEL

yum install epel-release
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

extrasにepel-releaseがある。 epel-releaseがない場合はyum intall https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

IUS

yum install https://repo.ius.io/ius-release-el6.rpm
rpm --import /etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

国外のミラーに接続しに行ってしまう場合などに設定すると便利。

/etc/yum/pluginconf.d/fastestmirror.conf に以下を追加する。

include_only=.jp

または特定のミラーサイトを指定する。

prefer=ftp.somewhere.com

例として、 fastestmirror を無効化したい場合。

実行時に無効化する

yum --disableplugin=fastestmirror ...

設定で無効化する

/etc/yum/pluginconf.d/fastestmirror.conf を編集し無効化する。

enabled=0

プラグインを削除する

yum erase yum-fastestmirror

インターネット接続が無い環境でDVDイメージファイルのリポジトリでyumを使用する方法。

一時的に利用する場合

mkdir /media/CentOS
mount -t iso9660 -o loop CentOS-6.7-x86_64-bin-DVD1.iso /media/CentOS
yum --disablerepo=\* --enablerepo=c6-media

常に利用する場合

DVDメディアの中身をディレクトリにコピーして、そのディレクトリをリポジトリにする。

ファイルのコピー。

mkdir /media/CentOS
mount -t iso9660 -o loop CentOS-6.7-x86_64-bin-DVD1.iso /mnt
tar cf - -C /mnt . | tar xf - -C /media/CentOS/
umount /mnt
mount -t iso9660 -o loop CentOS-6.7-x86_64-bin-DVD1.iso /mnt
tar cf - -C /mnt . | tar xf - -C /media/CentOS/
umount /mnt

/etc/yum.repos.d/CentOS-Base.repo を編集して、インターネットのリポジトリを無効化。

enabled=0

/etc/yum.repos.d/CentOS-Media.repo を編集して、ローカルのリポジトリを有効化。

enabled=1

DVDのイメージファイルをマウントする。

# mkdir -p /mnt/rhel-6.4
# mount -o loop rhel-server-6.4-x86_64-dvd.iso /mnt/rhel-6.4

RedHatにはメディア用のリポジトリ定義ファイルが無いので、 定義ファイル /etc/yum.repos.d/rhel6.4-dvd.repo を作成する。

[rhel6.4-dvd]
name=Red Hat Enterprise Linux 6.4 - x86_64 - DVD
baseurl=file:///mnt/rhel-6.4
enabled=0
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

yum の使用方法。

# yum --disablerepo=\* --enablerepo=rhel6.4-dvd
  • 最終更新: 2022-05-18 21:35
  • by nabium