タグ: リポジトリ

CentALTリポジトリからForbiddenが返される…

CentALTをenableにしてアップデートしようとしても、Forbiddenが返されることに気づいた。
しかたがないので、CentALTをミラーしている[ sysadminguide.net ]に鞍替えする。
しかもそこにはリポジトリインストール用のRPMまで置いてあった…

  1. wget http://mirror.sysadminguide.net/centalt/repository/centos/6/x86_64/centalt-release-6-1.noarch.rpm
  2. rpm -ivh centalt-release-6-1.noarch.rpm
  3. vi /etc/yum.repos.d/centalt.repo
    [CentALT]
    name=CentALT Packages for Enterprise Linux 6 - $basearch
    baseurl=http://mirror.sysadminguide.net/centalt/repository/centos/6/$basearch/
    enabled=0
    gpgcheck=0

これで今までどおり[ enablerepo=CentALT ]を付ければ動く。

CentALTリポジトリの追加

httpdのバージョンをCentOSデフォルトで配布される2.2.15よりも
上にあげなくてはならないということで、このリポジトリからアップデートします。

リポジトリファイルとしてどこかにあるわけではないので、作成します。

# vi /etc/yum.repos.d/centalt.ru.repo
[CentALT]
# CentOS 6 の場合
name=CentALT Packages for Enterprise Linux 6 - $basearch
baseurl=http://centos.alt.ru/repository/centos/6/$basearch/
# CentOS 5 の場合
#name=CentALT Packages for Enterprise Linux 5 - $basearch
#baseurl=http://centos.alt.ru/repository/centos/5/$basearch/
# CentOS 5 / 6 共通
enabled=0
gpgcheck=0

で、作成。

# yum --enablerepo=CentALT update httpd

でアップデート。
途中、
警告: /etc/httpd/conf/httpd.conf は /etc/httpd/conf/httpd.conf.rpmnew として作成されました。
とか出てくるので、現状に合わせて httpd.conf を適宜修正する。

# /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]
# httpd -v
Server version: Apache/2.2.27 (Unix)
Server built:   Apr  9 2014 23:22:50

うむ。

リポジトリの優先順位

デフォルトで入っているリポジトリと、RPMFORGEとかepelがかち合った時はどうなるのかな?と思ったら優先順位を指定する設定があった。

[base]
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-5
priority=1

[priority=**] をつければいいみたい。
1が一番優先される。指定無しの場合は99が割り当てられているらしい。

5.6.14 では auto_increment がリセットされない?

5.6.14 を使用していて、データを全削除した後に

ALTER TABLE `hoge` AUTO_INCREMENT=1;

で、カウンタを元に戻そうと思っても次に生成されるIDが今までのものから継続される。
どうやら 5.6.14 でのバグっぽい。
最新版ということで 5.6.16 が出ていた。

前にMySQLのリポジトリを入れているので

yum –enablerepo=mysql-community update

でアップデートかけたのだが、5.6.14 で最新ですよ~と言われてしまう。

なんやかんや考えてもう一度リポジトリ取り直してみようとサイトからrpmファイルを落としてみたら
中身が違ってた。
前に導入した時は

  • mysql-community-release-el6-3.noarch.rpm

だったのに、今日見てみたら

  • mysql-community-release-el6-5.noarch.rpm

になってた。
入れなおして、

yum –enablerepo=mysql56-community update

で無事 5.6.16 インストール完了。

nginxリポジトリの追加

nginx は通常のリポジトリには入っていない。
nginxのサイトにリポジトリ用のRPMがあるので、これを入れておく。
nginx: Linux packages

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

で、ダウンロードしたら

rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm

でインストール。
enabled=1
になっているので、

vi /etc/yum.repos.d/nginx.repo

で、
enabled=0
に変更しておく。

MySQLリポジトリの追加

MySQL 用のリポジトリがあったので、入れてみることにする。
これで 5.6 とかも楽に入れられる。

Download MySQL Yum Repository というページが公式の中にあるので、
ここからrpmファイルをダウンロードしてくる。
ダウンロードするファイルは
Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package
mysql-community-release-el7-5.noarch.rpm
Red Hat Enterprise Linux 6 / Oracle Linux 6 (Architecture Independent), RPM Package
mysql-community-release-el6-5.noarch.rpm
Red Hat Enterprise Linux 5 / Oracle Linux 5 (Architecture Independent), RPM Package
mysql-community-release-el5-5.noarch.rpm
から適宜選択。
ファイルのダウンロードには、オラクルのアカウントでログインしないといけない。
一度ログインしてしまえばダウンロードアドレスはわかるので、そのアドレスに対してwgetをかけても良い。

ダウンロードしてきたらサーバの適当なところにコピーする。

# rpm -ivh mysql-community-release-el6-3.noarch.rpm

で、mysql-community.repo がインストールされる。

# vi /etc/yum.repos.d/mysql-community.repo

を確認すると、

[mysql-community]
enabled=1

になっているので、これを

enabled=0

に変更して保存。

使用する時は

# yum update --enablerepo=mysql-community

のように、enablerepo で指定して使う。

Remiリポジトリの追加

※ Remi をインストールするには事前に epel をインストールしておく必要があります。
CentOS6用のRemiリポジトリをインストールするファイルは Les RPM de Remi にあります。
remi-release-6.rpmを使用します。

wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -ivh remi-release-6.rpm

ここで

警告: remi-release-6.rpm: ヘッダ V3 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
エラー: 依存性の欠如:
	epel-release >= 6 は remi-release-6-1.el6.remi.noarch に必要とされています

と言われてしまったので、

yum --enablerepo=epel install epel-release

で、epel-release をインストールして、再度実行。
これでリポジトリファイルとGPG-KEYが作成されます。

Remiリポジトリはデフォルトでは無効に設定されているので、このままで。
使うときは

yum --enablerepo=remi install mysql

みたいなカンジで。

RPMforgeリポジトリの追加

http://pkgs.repoforge.org/rpmforge-release/に RPMforge の RPMファイルがあるので環境に対応したものを持ってくる。
今回は CentOS6 の 64bit なので、rpmforge-release-0.5.3-1.el6.rf.x86_64.rpmになります。
CentOS5 の 32bit なら、rpmforge-release-0.5.3-1.el5.rf.i386.rpmで。

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

これでだけで リポジトリファイルとGPG-KEYが作成される。

このままだと RPMforge がデフォルトで有効になっているので

vi /etc/yum.repos.d/rpmforge.repo

で[rpmforge]の設定値を
enabled = 0
に変更しておく。
[rpmforge-extras]と[rpmforge-testing]はデフォルトでオフになっているので変更しなくて大丈夫。

ここまでやったら

yum --enablerepo=rpmforge update

rpmforge                                                   | 1.9 kB     00:00
rpmforge/primary_db                                        | 2.5 MB     00:02

のようなカンジで読み込まれているか確認する。

epelリポジトリの追加

Extra Packages for Enterprise Linuxという便利なパッケージ集があるので、このリポジトリを追加してみる。

まず、GPG-Keyを/etc/pki/rpm-gpg/にダウンロードする。
EPELのGPG-Keyはrikenのサイトの中にあるのでここから。

cd /etc/pki/rpm-gpg/
wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6

取り込んだら/etc/yum.repos.d/にEPEL用のファイルを作成する。

vi /etc/yum.repos.d/epel.repo
#Extra Packages for Enterprise Linux (EPEL)
[epel]
name=Extra Packages for Enterprise Linux (EPEL)
baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

ファイル名 … *****.repoであれば好きなもので。
[*****] … 適当に。他のリポジトリ名とかぶらなければOK。
name … 適当に。これも他のリポジトリとかぶらなければ大丈夫だと。
baseurl … ダウンロードしに行くところ。「$basearch」は「x86_64」だったり「i386」だったりのアーキテクチャが自動で入る。
HTTPでもFTPでも大丈夫なので

http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/$basearch/

とか

ftp://ftp.kddilabs.jp/Linux/distributions/fedora/epel/6/$basearch/

でもOK。
enabled … 有効/無効。デフォルトは1(有効)。デフォルトで入っているリポジトリ以外のものを有効にしていると予期しないアップデートが入っちゃったりするので自分で追加したものは基本は0(無効)にしておく。
gpgcheck … GPG-Keyをチェックするか否か。デフォルトは0(無効)。せっかく取り込んでいるので1(有効)に設定。
gpgkey … ダウンロードしたGPG-Keyの位置。この指定方法がいけるならHTTPでもいけそう。

gpgkey=http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6

でもいけました…。

ファイル作成まで終了したら

yum --enablerepo=epel update

とかで

epel                                                       | 3.7 kB     00:00
epel/primary_db                                            | 3.1 MB     00:02

のようなカンジで読み込まれているか確認する。

もし、何がしかのエラーが出るということであれば、
yum clean metadata
yum clean all
rpm –rebuilddb
あたりを試してみる。