yum Tips

yumを利用する場合のTips集です。

 

特定パッケージのアップデート禁止設定

yum updateコマンド発行時に、アップデートさせないパッケージを設定します。

設定は、/etc/yum.confの最下行にexclude=で設定します。

yum.confの例

exclude=kernel* postfix*<---kernelとpostfixの全バージョンに対して、更新不可としています。

 


プロキシ経由でyumを利用する

一時的にプロキシ経由でyumを利用するには、以下のコマンドでプロキシサーバを指定します。

export http_proxy=http://IPアドレス:ポート

 

永続的にプロキシ経由でアクセスする場合は、/etc/yum.confに以下を追加します。

proxy=http://IPアドレス:ポート

 


ソースパッケージ(SRPM)の取得

ソースリポジトリの設定

デフォルトでは、ソースパケージのリポジトリは設定されていませんので、まずは、この設定から行います。

設定するファイルは、/etc/yum.repos.d/CentOS-Base.repoです。

このファイルに、以下の行を追加します。

CentOS-Base.repo

[base-source]
name=CentOS-$releasever - Base Source
baseurl=http://mirror.centos.org/centos/$releasever/os/SRPMS/
gpgcheck=1
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[update-source]
name=CentOS-$releasever - Update Source
baseurl=http://mirror.centos.org/centos/$releasever/updates/SRPMS/
gpgcheck=1
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[addons-source]
name=CentOS-$releasever - Addons Source
baseurl=http://mirror.centos.org/centos/$releasever/addons/SRPMS/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[extras-source]
name=CentOS-$releasever - Extras Source
baseurl=http://mirror.centos.org/centos/$releasever/extras/SRPMS/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[centosplus-source]
name=CentOS-$releasever - Plus Source
baseurl=http://mirror.centos.org/centos/$releasever/centosplus/SRPMS/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[contrib-source]
name=CentOS-$releasever - Contrib Source
baseurl=http://mirror.centos.org/centos/$releasever/contrib/SRPMS/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

CentPlusとContribは、バイナリリポジトリがデフォルトで無効の為、ソース側も無効にしてあります。enabled=0

追加したら、以下のコマンドでエラーが出ないか確認します。

yum update

 

SRPMダウンロード用コマンドのインストール

インストール形態によっては、SRPMをダウンロードするコマンド、yumdownloaderがインストールされていないかも知れませんので、これをインストールします。

yum install yum-utils

 

SRPMのダウンロードは、以下の通りです。コマンド発行後、カレントディレクトリにSRPMがダウンロードされます。

yumdownloader --source [パッケージ名]

 

なお、無効になっているリポジトリ(enabled=0)から、SRPMが欲しい場合は以下のようにします。

yumdownloader --enablerepo=centosplus-source --source [パッケージ名]

 


非公式リポジトリを追加

RHELやその互換OSのCentOSやScientific Linux(SL)では、RHEL用の非公式リポジトリが利用出来ます。

良く利用する物では、rpmforge(DAG)EPELなどです。

EPELの利用方法

EPELは、RHELやその互換OSのCentOSやScientific Linux(SL)向けにFedoraプロジェクトで有志によって作成されたパッケージです。

RHELやその互換OSのCentOSやSLを利用しているなら、これを使うのは良い選択だと思います。

EPELを利用するには、以下の手順で設定ファイル用のRPMをインストールします。*RHEL,CentOS,SLの5系(i386)の場合

rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

 

あとは、updateしてリポジトリを読み込みます。

yum update

 


updateをcronなどで自動実行する

yum updateなどを実行すると、Yes,Noで確認を求められますが、cronなどで定期手に実行する場合は、-yオプションを利用し、全て自動でYesの返答をするようにしてください。

yum update -y

 


updateで取得した保存ファイルを削除する

yum updateなどでダウンロードしたパッケージファイルは、ローカルシステムに保存されディスク容量を圧迫します。

出来れば定期的にこれを削除してください。

yum clean packages

 


updateに失敗する時の対処

updateに失敗する理由はいくつかありますが、以下のようなメッセージが出た場合は、metadataの情報が不正であることが考えられます。

以下のコマンドを発行しメタデータを一旦削除してください。

yum clean metadata

 

[Errno -1] Metadata file does not match checksum Trying other mirror.

 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.

ちなみに、ここで指定される対処をしても治りません。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">