3

私はAWSでAWS Linux AMIを実行しています.RHELのようで、yum (kernel 3.4.62-53.42.amzn1.x86_64) を使用しています。Amazonリポジトリには古いnginx 1.4.2が含まれているため、nginx Webサイトで提供されているリポジトリを使用して削除し、再インストールしました。私はこれを次のようにしました:

sudo yum remove nginx*
sudo yum --disablerepo="*" --enablerepo="nginx" install nginx

yum の優先度が無効になっていることに注意してください。リポジトリファイルでpriority =を設定してみましたが、それを読んだ後、優先順位を無効にすることが理にかなっていると判断しました。

/etc/yum.repos.d ファイル: amzn-main.repo には以下が含まれます:

[amzn-main]
name=amzn-main-Base
mirrorlist=http://repo.us-east-1.amazonaws.com/$releasever/main/mirror.list
mirror_expire=300
metadata_expire=300
priority=10
failovermethod=priority
fastestmirror_enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
enabled=1
retries=5
timeout=10
report_instanceid=yes

[amzn-main-debuginfo]
name=amzn-main-debuginfo
mirrorlist=http://repo.us-east-1.amazonaws.com/$releasever/main/debuginfo/mirror.list
mirror_expire=300
metadata_expire=300
priority=10
failovermethod=priority
fastestmirror_enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
enabled=0
retries=5
timeout=10
report_instanceid=yes

nginx.repo には以下が含まれます。

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/6/$basearch/
gpgcheck=0
enabled=1
priority=1

nginx 1.4.3 がインストールされたら更新を実行すると、Amazon メイン リポジトリから古いバージョンをインストールしようとします。

$ sudo yum update
Loaded plugins: update-motd, upgrade-helper
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 0:1.4.3-1.el6.ngx will be updated
---> Package nginx.x86_64 1:1.4.2-1.12.amzn1 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

そのため、古いバージョンを選択する理由がわかりません。バージョンが現在インストールされているものよりも新しい場合にのみ更新するように yum を構成する方法はありますか? 方法がない場合、一般的な更新を行うときにnginxパッケージをスキップしてから、上記のようにすべてのリポジトリを無効にしてnginxリポジトリのみを使用する別のコマンドを使用してnginxを更新する方法はありますか?

sudo yum --disablerepo="*" --enablerepo="nginx" install nginx
4

1 に答える 1