3

我在 AWS 中运行 AWS Linux AMI,它似乎是 RHEL 并使用 yum (kernel 3.4.62-53.42.amzn1.x86_64) 。amazon repo 包括 nginx 1.4.2,它已经过时了,所以我删除了它并使用 nginx 网站上给出的 repo 重新安装。我这样做了:

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

请注意,yum 优先级已禁用。我尝试在 repo 文件中设置 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 main repo 安装旧版本:

$ 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

0

要忽略单个 yum 存储库中的任何特定包,可以将以下行添加到其 /etc/yum.repos.d/${amazonreponame}.repo 配置文件中:

 exclude=package_name*

例子:

[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
exclude=nginx*

exclude=*选项也可以全局添加(即所有 repos)到 /etc/yum.conf

于 2014-10-25T21:30:28.253 回答