Yum Repository
CentOSにおけるPackage管理システムはRHEL系標準のyumとなっている。
このyumは、複数のRepositoryをまとめて管理することが出来るので、様々重宝する。
ここには、筆者が使っているYum Repositoryとその投入方法を記載する。
yumでエラーが出る
yum check-updateを実行した際に、以下のようなエラーが出た。
http://ftp.kddilabs.jp/Linux/packages/fedora/epel/6/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml does not match metalink for epel
これは、思うに、自身が持っているmirrorリストの情報と、上記のmirrorリストの情報が違ってしまった(きっと更新された)せいと考えられる。(他にも原因があるかもしれないが、追いかけていない)
これに対処するには、
- エラーが出たRepositoryの設定ファイル(今回であれば、epelなので、/etc/yum.repos.d/epel.repo)をEditorで開く
- enableされている設定内のmirrorlist行をコメントアウト
- enableされている設定内のbaseurlを生かす
- 保存して、yum check-updateを実行
- 元に戻す
- 再度yum check-updateを実行して、問題が無い事を確認
すればよい。はず。
Yum Repositoryの優先順位付け
yumで複数のRepositoryを利用している場合、Repositoryの優先順位を付けたくなる。 そのような場合には、yum-prioritiesをinstallするとよい。
yum -y install yum-priorities
- /etc/yum.repos.d/CentOS-Base.repo内の各エントリーに
priority=1
を割り当てる- 何も設定しなければPriority=99。
- あとは、各Repository毎に、優先順位を設定する。
- 何も設定しなければPriority=99。
なお、yum.repos.d/CentOS-Base.repo内のBaseやUpdateにexclude=php* mysql* …
等と書くと優先度に関わらずBaseに起因する更新からphpやmysqlが省かれるようになる
EPEL
- EPEL(Extra Packages for Enterprise LinuxからHow can I use these extra packages?内にあるLinkを手繰って、必要なRPMを入手する。
sudo rpm -Uvh http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-?-?.noarch.rpm
- ファイル名に注意すること。2014/01/21時点では、6-8だった。
/etc/yum.repos.d
にepel.repo
が出来ていればOK。
- 内容を確認して、
[epel]
セクションでenabled=1
になっていることを確認する。
Remi
Remi Repositoryは、EPELを必要とする。PHP5.5を利用したい場合にRemiを使うとよいだろう。
- REMIから
Repository Configuration
を手繰って、必要なRPMを入手する sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
/etc/yum.repos.d
にremi.repo
が出来ていればOK。
/etc/yum.repos.d/remi.repo
内の[remi]
セクションと[remi-php55]
セクションでenabled=1を設定する。- php5.5を使わない場合には、
[remi-php55]
セクションのenableは0でよい
Zabbix
Zabbixも、本家から持ってくる方がよいだろう。
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
/etc/yum.repos.d/zabbix.repo
があればOK
/etc/yum.repos.d/zabbix.repo
内の[zabbix]
セクションにenabled=1があればOK。無ければ加える。
NGiNX
NGiNXは非常に高速なかつ高機能なWeb Serverである。
特にWebServerとしてだけで無くLoadBalancerやProxyとしても動作するので、うまく利用すると非常に便利である。
NGiNXも、基本的にはCentOS公式なYum Repositoryに含まれているが、NGiNXはまだ更新が比較的早いので、やはりNGiNX公式の物を利用したい。
- http://wiki.nginx.org/Installを確認し、NGiNXのRepository(/etc/yum.repos.d/nginx.repo)を作成する。
- nginx.repo
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
MariaDB
RHEL7/CentOS7以降、RHEL6/CentOS6までで提供されていたMySQLはMariaDBに変わる事になっている模様。
従って、標準のYum RepositoryでもそのうちMariaDBは配布されるはずではある。 しかし、特にDB系は性能面やSecurity面の問題や、Packageの公開までの時間を考えると、(筆者は)公式に公開されているRepositoryを利用したい。 というわけで、MariaDBの公式RepositoryをInstallする
- https://downloads.mariadb.org/mariadb/repositories/#mirror=yamagata-universityからMariaDBのyum repositoryを確認し、作成する
- 今回は、CentOS6(64bit)で、 MariaDB 5.5を選択した
# vi /etc/yum.repos.d/MariaDB.repo ========== # MariaDB 5.5 CentOS repository list - created 2014-01-10 09:44 UTC # http://mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/5.5/centos6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 ==========
- MariaDB用の yum のGPG Key を Import する
rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB