Apache 2.2.15を、2.2系の最新へアップグレードしたいがうまくいかない


**環境**  
・CentOS 6.8

> # httpd -v
[code]

    Server version: Apache/2.2.15 (Unix)
    
[/code]

* * *

**試したこと**

> # cat /etc/yum.repos.d/centos.alt.ru.repo
[code]

    [CentALT]
    name=CentALT Packages for Enterprise Linux 6 - $basearch
    baseurl=http://centos.alt.ru/repository/centos/6/$basearch/
    #baseurl=http://mirror.sysadminguide.net/centalt/repository/centos/6/$basearch/
    #baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/
    #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
    enabled=0
    gpgcheck=0
    
[/code]

> cat /etc/yum.repos.d/epel.repo

・esplは以前導入していました  
・ネットの情報を見て、[epel]部分だけ書き換えました

[code]

    [epel]
    name=EPEL RPM Repository for Red Hat Enterprise Linux
    baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/
    gpgcheck=1
    enabled=0
    
    #[epel]
    #name=Extra Packages for Enterprise Linux 6 - $basearch
    #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
    #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
    #failovermethod=priority
    #enabled=1
    #gpgcheck=1
    #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
    
    [epel-debuginfo]
    name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
    #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch/debug
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
    failovermethod=priority
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
    gpgcheck=1
    
    [epel-source]
    name=Extra Packages for Enterprise Linux 6 - $basearch - Source
    #baseurl=http://download.fedoraproject.org/pub/epel/6/SRPMS
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
    failovermethod=priority
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
    gpgcheck=1
    
[/code]

* * *

**この状態でアップデートしたのですが、**

> yum --enablerepo=CentALT --skip-broken update httpd
[code]

    更新と設定されたパッケージがありません
    
[/code]

**確認しても変化はありませんでした**

> # httpd -v
[code]

    Server version: Apache/2.2.15 (Unix)
    
[/code]

* * *

**下記で検索しても、httpd-2.2.23などが表示されないのはナゼでしょうか？**  
・CentALTが認識されていない？  
・あるいは、以前導入していたepelがおかしい？？

> yum list --enablerepo=CentALT | grep httpd | grep CentALT




すべてのリポジトリで常に最新のパッケージが配布されているわけでは無いので、参照したリポジトリに必要なパッケージ(バージョン)が存在しない場合もあります。

有効になっているリポジトリを確認するにはrepolistオプションを指定します。

[code]

    # yum repolist
    
[/code]

リポジトリの情報はメタデータという形でローカルに保存されているので、設定変更の直後等はキャッシュを削除することで最新のデータに更新することができます。

[code]

    # yum clean all
    # yum check-update
    
[/code]

上記を踏まえた上で、`yum list
httpd`を実行しても"更新と設定されたパッケージがありません"と出るならCentALTには既にシステムにインストールしているものとバージョンが同じか、もしくはもっと古いバージョンのパッケージしか用意されていないのではないでしょうか。

* * *

余談ですが、CentALTリポジトリにブラウザからアクセスすると私の環境(firefox)では危険なサイトとしてブロックされるので、実際のファイルは確認していません。

* * *

2.2系を最新版にアップグレードする代替案としては

  * 公式サイトからソースコードをダウンロードしてコンパイル
  * 公式サイトからソースコードをダウンロードして自分でrpmパッケージを作成(rpmbuild)
  * 他のリポジトリを探してみる (例:[RPM Search](http://rpm.pbone.net/), [rpmseek](http://www.rpmseek.com/))

などになるかと思います(なるべく信頼できる配布元から入手することをお勧めします)。

Apache公式で配布されているアーカイブ(tar.gz)にはspecファイルが含まれていたので、比較的簡単にrpmパッケージを作成できる可能性があります。

[code]

    # rpmbuild -ta httpd-2.2.34.tar.gz
    
[/code]

参考:
[tarボールからRPMファイルを作成するには](http://www.atmarkit.co.jp/flinux/rensai/linuxtips/486mkrpmfromtar.html)




すべてのリポジトリで常に最新のパッケージが配布されているわけでは無いので、参照したリポジトリに必要なパッケージ(バージョン)が存在しない場合もあります。

有効になっているリポジトリを確認するにはrepolistオプションを指定します。

[code]

    # yum repolist
    
[/code]

リポジトリの情報はメタデータという形でローカルに保存されているので、設定変更の直後等はキャッシュを削除することで最新のデータに更新することができます。

[code]

    # yum clean all
    # yum check-update
    
[/code]

上記を踏まえた上で、`yum list
httpd`を実行しても"更新と設定されたパッケージがありません"と出るならCentALTには既にシステムにインストールしているものとバージョンが同じか、もしくはもっと古いバージョンのパッケージしか用意されていないのではないでしょうか。

* * *

余談ですが、CentALTリポジトリにブラウザからアクセスすると私の環境(firefox)では危険なサイトとしてブロックされるので、実際のファイルは確認していません。

* * *

2.2系を最新版にアップグレードする代替案としては

  * 公式サイトからソースコードをダウンロードしてコンパイル
  * 公式サイトからソースコードをダウンロードして自分でrpmパッケージを作成(rpmbuild)
  * 他のリポジトリを探してみる (例:[RPM Search](http://rpm.pbone.net/), [rpmseek](http://www.rpmseek.com/))

などになるかと思います(なるべく信頼できる配布元から入手することをお勧めします)。

Apache公式で配布されているアーカイブ(tar.gz)にはspecファイルが含まれていたので、比較的簡単にrpmパッケージを作成できる可能性があります。

[code]

    # rpmbuild -ta httpd-2.2.34.tar.gz
    
[/code]

参考:
[tarボールからRPMファイルを作成するには](http://www.atmarkit.co.jp/flinux/rensai/linuxtips/486mkrpmfromtar.html)

