リポジトリの追加
リポジトリの追加は、どこにでも記載がありますので、それほどの解説は不要でしょう。ここでは、備忘録程度にEPEL,IUS をそれぞれ追加してみます。
( IUS は、EPELに依存していますので、先にEPELをインストールする必要があります。)
IUS のリポジトリを追加する
$ rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-1.0-8.ius.el5.noarch.rpm
|
IUS のリポジトリをインストールする際は、同じディレクトリにEPELのリポジトリもあります。まとめてインストールすると良いでしょう。
EPEL のリポジトリを追加する
$ rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
|
また、ダウンロード先のURLが、
http://download.fedora.redhat.com → http://dl.fedoraproject.org へ変更になったようです。
Repoforge のリポジトリを追加する
$ rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
|
上記では、rpm を直接URL指定でインストールしていますが、各リポジトリの公開サイトはミラーサイトも多いので、エラーになる場合もあります。
その場合は、一旦、wgetでrpmをダウンロードしてから、インストールしましょう。
$ rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm を取得中
エラー: http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm をスキップします - 転送に失敗 - 不明または予期せぬエラー
$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
--2011-11-21 14:34:55-- http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
pkgs.repoforge.org をDNSに問いあわせています... 78.46.17.228
pkgs.repoforge.org|78.46.17.228|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: http://rpmforge.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm [続く]
--2011-11-21 14:34:57-- http://rpmforge.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rpmforge.sw.be をDNSに問いあわせています... 78.46.17.228
rpmforge.sw.be|78.46.17.228|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 301 Moved Permanently
場所: http://tree.repoforge.org/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm [続く]
--2011-11-21 14:34:58-- http://tree.repoforge.org/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
tree.repoforge.org をDNSに問いあわせています... 78.46.17.228
tree.repoforge.org|78.46.17.228|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 301 Moved Permanently
場所: http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm [続く]
--2011-11-21 14:34:59-- http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
apt.sw.be をDNSに問いあわせています... 193.1.193.67
apt.sw.be|193.1.193.67|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 12649 (12K) [application/x-redhat-package-manager]
'rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm' に保存中
100%[================================================>] 12,649 22.4K/s 時間 0.6s
2011-11-21 14:35:02 (22.4 KB/s) - 'rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm' へ保存完了 [12649/12649]
$ rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
警告: rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 6b8d79e6
準備中... ########################################### [100%]
1:rpmforge-release ########################################### [100%]
|
リポジトリの無効・有効の設定
リポジトリの無効・有効の設定は、リポジトリを追加した時点で、
/etc/yum.repos.d/
に設定ファイルが追加されます。そのファイルを編集することで無効・有効の設定を行います。
ここでは、備忘録程度にEPEL,IUS をそれぞれ無効・有効の設定を行ってみます。
IUS の無効・有効の設定
IUS のリポジトリを追加することで、以下の2つのファイルが追加されます。
- /etc/yum.repos.d/ius.repo
- /etc/yum.repos.d/ius-dev.repo
- /etc/yum.repos.d/ius-testing.repo
IUS のリポジトリを無効にするには、ius.repoを編集します。
/etc/yum.repos.d/ius.repo
1
2
3
4
5
6
7
8
9
10
11
| [ius]
name=IUS Community Packages for Enterprise Linux 6 - $basearch
mirrorlist=http://dmirr.iuscommunity.org/mirrorlist?repo=ius-el6&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY
...
|
6行目 : 有効設定
7行目 : 無効設定
となります。ここでは、7行目が有効になっていますので、iusは無効となっています。
つまり、yumで特にパラメータを指定しない限りは、iusのリポジトリを参照しないことになります。
以下のパラメータをyumに指定することで、上記のように無効に設定していてもiusのリポジトリを参照することになります。
–enablerepo=ius
EPEL の無効・有効の設定
EPEL のリポジトリを追加することで、以下の2つのファイルが追加されます。
- /etc/yum.repos.d/epel.repo
- /etc/yum.repos.d/epel-testing.repo
EPEL のリポジトリを無効にするには、epel.repoを編集します。
/etc/yum.repos.d/epel.repo
1
2
3
4
5
6
7
8
9
10
11
| [epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
...
|
6行目 : 有効設定
7行目 : 無効設定
となります。ここでは、7行目が有効になっていますので、epelは無効となっています。
つまり、yumで特にパラメータを指定しない限りは、epelのリポジトリを参照しないことになります。
以下のパラメータをyumに指定することで、上記のように無効に設定していてもepelのリポジトリを参照することになります。
–enablerepo=epel
Repoforge の設定
Repoforge のリポジトリを追加することで、以下の2つのファイルが追加されます。
- /etc/yum.repos.d/rpmforge.repo
- /etc/yum.repos.d/mirrors-rpmforge
- /etc/yum.repos.d/mirrors-rpmforge-extras
- /etc/yum.repos.d/mirrors-rpmforge-testing
Repoforge のリポジトリ定義は、rpmforge.repoです。
mirrors-xxxxxファイルは、ミラーサイトのURLを定義したものです。ここでは使用しません。
- yum-prioritiesをインストールしましょう。
Repoforge のリポジトリをインストールする際は、yum-priorities も同時インストールしましょう。
yum-prioritiesを使うことで、yumでパッケージインストールする際に複数のリポジトリで検出した同一パッケージについてのインストールの優先順位を設定することができます。
$ yum install yum-priorities
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: data.nicehosting.co.kr
* extras: www.ftp.ne.jp
* updates: www.ftp.ne.jp
base | 3.7 kB 00:00
extras | 3.0 kB 00:00
updates | 3.5 kB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package yum-plugin-priorities.noarch 0:1.1.26-11.el6 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Installing:
yum-plugin-priorities noarch 1.1.26-11.el6 base 12 k
Transaction Summary
==========================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 12 k
Installed size: 9.9 k
Is this ok [y/N]: y
Downloading Packages:
yum-plugin-priorities-1.1.26-11.el6.noarch.rpm | 12 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : yum-plugin-priorities-1.1.26-11.el6.noarch 1/1
Installed:
yum-plugin-priorities.noarch 0:1.1.26-11.el6
Complete!
|
- OSで提供されている基本リポジトリにプライオリティを設定しましょう。
OSで提供されている基本リポジトリに関してはプライオリティを最上位に設定しておきましょう。
CentOSの場合 : /etc/yum.repos.d/CentOS-Base.repo
Scientific Linuxの場合 : /etc/yum.repos.d/sl.repo
...
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1
|
プライオリティは、1から99の範囲で設定します。大きい値(or 未設定)ほど優先順位は下がります。
- Repoforgeのリポジトリにプライオリティを設定しましょう。
できれば、Repoforgeのリポジトリは、無効にし、優先順位は最下位99にしておきましょう。
/etc/yum.repos.d/rpmforge.repo
...
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
priority = 99
[rpmforge-extras]
name = RHEL $releasever - RPMforge.net - extras
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/extras
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-extras
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
priority = 99
[rpmforge-testing]
name = RHEL $releasever - RPMforge.net - testing
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/testing
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-testing
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
priority = 99
|
以下のパラメータをyumに指定することで、上記のように無効に設定していてもRepoforgeのリポジトリを参照することになります。
–enablerepo=rpmforge
リポジトリの削除
リポジトリの削除は、rpm -e で単純に削除するだけです。ここでは、備忘録程度に先にインストールしたEPEL,IUS をそれぞれ削除してみます。
( IUS は、EPELに依存していますので、先にIUSを削除する必要があります。)
IUS のリポジトリを削除する
$ rpm -e ius-release-1.0-8.ius.el6.noarch
|
EPEL のリポジトリを削除する
$ rpm -e epel-release-6-5.noarch
|
Repoforge のリポジトリを削除する
$ rpm -e rpmforge-release-0.5.2-2.el6.rf.i686
|
このようにリポジトリは、簡単に追加・削除できます。
ただ、無闇にリポジトリを追加・削除して良いものかどうかは、よくよく注意した方が良いでしょう。
EPEL,IUSは、比較的信頼性が高いと言われていますが、それでもCentOS,Scientific Linuxの正式なパッケージではありません。
特にカーネルを含めて基本的なパッケージのアップデートやインストール時は、注意が必要でしょう。
EPEL,IUS,Repoforge については、通常は、無効にしておいて、本当に必要な場合は、yumのパラメータを指定することが良いと思われます。特にRepoforgeについては、無効にしておく方が無難でしょう。
コメントを投稿 :