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