回答編集履歴
5
表現を修正
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
判明した原因に合わせて、以下の説明を修正してあります。
|
4
4
|
|
5
|
-
原因は「**yumのリポジトリデータベースのupdatesリポジトリが
|
5
|
+
原因は「**yumのリポジトリデータベースのupdatesリポジトリの設定を間違えたために、updatesリポジトリが使われていない**」ためでした。通常は、`sudo yum update`とするだけで、すでにインストール済みのパッケージの更新チェックをする前に、リポジトリデータベースが最新の状態になります。
|
6
6
|
|
7
7
|
ところが、質問者の設定ミスにより、updatesリポジトリのbaseurl(リポジトリ基準URL)がbaseリポジトリと同じURLに設定されていました。おそらく、yumは同一のbaseurlを持つリポジトリに対しては、最初の1個だけ処理するように作られており、baseリポジトリと同じbaseurlを持つupdatesリポジトリの処理は飛ばされることになります。
|
8
8
|
|
4
誤字を修正
answer
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
判明した原因に合わせて、以下の説明を修正してあります。
|
4
4
|
|
5
|
-
原因は「**yumのリポジトリデータベースの
|
5
|
+
原因は「**yumのリポジトリデータベースのupdatesリポジトリが更新されていない**」ためでした。通常は、`sudo yum update`とするだけで、すでにインストール済みのパッケージの更新チェックをする前に、リポジトリデータベースが最新の状態になります。
|
6
6
|
|
7
|
-
ところが、質問者の設定ミスにより、
|
7
|
+
ところが、質問者の設定ミスにより、updatesリポジトリのbaseurl(リポジトリ基準URL)がbaseリポジトリと同じURLに設定されていました。おそらく、yumは同一のbaseurlを持つリポジトリに対しては、最初の1個だけ処理するように作られており、baseリポジトリと同じbaseurlを持つupdatesリポジトリの処理は飛ばされることになります。
|
8
8
|
|
9
|
-
実際のupdatesリポジトリには、httpdやhttpd-devel、openldapなどの更新されたパッケージが含まれています。実際、こちらの手元にあるCentOS7でhttpd-develをインストールしたところ、httpdやhttpd-develのバージョンは**2.4.6-97**、openldap-develのバージョンは**2.4.44-24**でした。どちらも、質問者がyumでインストールしようとしているものより新しいバージョンです。しかし、質問者のCentOS7では、yumが正しいbaseurlを知らないため、
|
9
|
+
実際のupdatesリポジトリには、httpdやhttpd-devel、openldapなどの更新されたパッケージが含まれています。実際、こちらの手元にあるCentOS7でhttpd-develをインストールしたところ、httpdやhttpd-develのバージョンは**2.4.6-97**、openldap-develのバージョンは**2.4.44-24**でした。どちらも、質問者がyumでインストールしようとしているものより新しいバージョンです。しかし、質問者のCentOS7では、yumが正しいbaseurlを知らないため、これらは取得できない状態になっています。
|
10
10
|
|
11
11
|
この状態を修正するには、管理者権限でテキストエディターを起動して、`/etc/yum.repos.d/CentOS-Base.repo`を開き、**`[updates]`以下にある`baseurl=`で始まる行を削除するか、先頭に`#`を付けてコメントにしてください**。
|
12
12
|
また、そのすぐ上にある`#mirrorlist=`で始まる行の先頭の`#`だけを削除して、コメントを解除してください。
|
3
判明した原因に合わせて全体を書き替えた
answer
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
依存性のチェックに失敗していますね。
|
2
2
|
|
3
|
-
原因
|
3
|
+
判明した原因に合わせて、以下の説明を修正してあります。
|
4
4
|
|
5
|
-
|
5
|
+
原因は「**yumのリポジトリデータベースのupdateリポジトリが更新されていない**」ためでした。通常は、`sudo yum update`とするだけで、すでにインストール済みのパッケージの更新チェックをする前に、リポジトリデータベースが最新の状態になります。
|
6
6
|
|
7
|
-
|
7
|
+
ところが、質問者の設定ミスにより、updateリポジトリのbaseurl(リポジトリ基準URL)がbaseリポジトリと同じURLに設定されていました。おそらく、yumは同一のbaseurlを持つリポジトリに対しては、最初の1個だけ処理するように作られており、baseリポジトリと同じbaseurlを持つupdatesリポジトリの処理は飛ばされることになります。
|
8
8
|
|
9
|
-
|
10
|
-
`yum repolist updates -v`を実行すると、リポジトリの状態を確認できます。
|
11
|
-
~~もし状態が「無効」になっていたら、`sudo yum-config-manager --enable updates`で有効にしてから、`sudo yum update`してみてください。~~
|
9
|
+
実際のupdatesリポジトリには、httpdやhttpd-devel、openldapなどの更新されたパッケージが含まれています。実際、こちらの手元にあるCentOS7でhttpd-develをインストールしたところ、httpdやhttpd-develのバージョンは**2.4.6-97**、openldap-develのバージョンは**2.4.44-24**でした。どちらも、質問者がyumでインストールしようとしているものより新しいバージョンです。しかし、質問者のCentOS7では、yumが正しいbaseurlを知らないため、まったく使われないままになっています。
|
12
10
|
|
13
|
-
|
11
|
+
この状態を修正するには、管理者権限でテキストエディターを起動して、`/etc/yum.repos.d/CentOS-Base.repo`を開き、**`[updates]`以下にある`baseurl=`で始まる行を削除するか、先頭に`#`を付けてコメントにしてください**。
|
12
|
+
また、そのすぐ上にある`#mirrorlist=`で始まる行の先頭の`#`だけを削除して、コメントを解除してください。
|
14
13
|
|
15
14
|
```diff
|
16
15
|
#released updates
|
2
修正方法を追加
answer
CHANGED
@@ -8,4 +8,21 @@
|
|
8
8
|
|
9
9
|
補足: おう、本当だ。ログを見るとupdatesが読まれていませんね。
|
10
10
|
`yum repolist updates -v`を実行すると、リポジトリの状態を確認できます。
|
11
|
-
もし状態が「無効」になっていたら、`sudo yum-config-manager --enable updates`で有効にしてから、`sudo yum update`してみてください。
|
11
|
+
~~もし状態が「無効」になっていたら、`sudo yum-config-manager --enable updates`で有効にしてから、`sudo yum update`してみてください。~~
|
12
|
+
|
13
|
+
原因がはっきりしましたね。管理者権限でテキストエディターを起動して、`/etc/yum.repos.d/CentOS-Base.repo`を開き、**`[updates]`以下にある`baseurl=`で始まる行を削除するか、先頭に`#`を付けてコメントにしてください**。また、そのすぐ上にある`#mirrorlist=`で始まる行の先頭の`#`だけを削除して、コメントを解除してください。
|
14
|
+
|
15
|
+
```diff
|
16
|
+
#released updates
|
17
|
+
[updates]
|
18
|
+
name=CentOS-$releasever - Updates
|
19
|
+
-#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
|
20
|
+
+mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
|
21
|
+
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
|
22
|
+
-baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch
|
23
|
+
gpgcheck=1
|
24
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
25
|
+
```
|
26
|
+
|
27
|
+
`baseurl=`はリポジトリーの基準となるURLですが、**設定内容がupdates用ではなく、base用のURLになっています**。
|
28
|
+
あなたは、fastestmirrorプラグインを使っている(はずな)ので、本来ならbaseurlを指定しなくても、最寄りの一番速いミラーサイトが選択され、baseurlがよろしく設定されるのです。実際、baseやextraの設定はそうなっており、yumで「ftp.riken.jp」が選択されていますね。これと同様の設定をすればいいのです。
|
1
補足を追加
answer
CHANGED
@@ -4,4 +4,8 @@
|
|
4
4
|
|
5
5
|
その後、httpd-develのインストールを行なえば、最新のリポジトリデータベースに基づいて問題なくインストールされるはずです。
|
6
6
|
|
7
|
-
実際、こちらの手元にあるCentOS7でhttpd-develをインストールしたところ、httpdやhttpd-develのバージョンは**2.4.6-97**、openldap-develのバージョンは**2.4.44-24**でした。どちらも、あなたがyumでインストールしようとしているものより新しいバージョンです。
|
7
|
+
実際、こちらの手元にあるCentOS7でhttpd-develをインストールしたところ、httpdやhttpd-develのバージョンは**2.4.6-97**、openldap-develのバージョンは**2.4.44-24**でした。どちらも、あなたがyumでインストールしようとしているものより新しいバージョンです。
|
8
|
+
|
9
|
+
補足: おう、本当だ。ログを見るとupdatesが読まれていませんね。
|
10
|
+
`yum repolist updates -v`を実行すると、リポジトリの状態を確認できます。
|
11
|
+
もし状態が「無効」になっていたら、`sudo yum-config-manager --enable updates`で有効にしてから、`sudo yum update`してみてください。
|