我正在尝试更新 Red Hat Enterprise Linux Server 版本 5.6 服务器上的 bash。但它找不到比“3.2-24.el5”更晚的更新。我检查过,它容易受到 shellshock 漏洞的影响。我执行了 yum clean-all、yum update bash、yum reinstall bash。但它总是返回到版本“3.2-24.el5”。
有人可以帮忙吗?
谢谢
答案1
如果你不再订阅,而且这种情况不太可能改变,而且你也不关心失去 Redhat(或其他供应商)对此设备的支持将来,您可以将其切换到 CentOS,并更新您的机器的软件包。这不是理想的选择,但可能还是比拥有一个您无法再更新的机器更好。
你被警告了。
“你所需要做的就是安装 centos-release,删除 redhat-release rpm,然后使用 yum 更新机器,这样应该会带入所有被 CentOS 更改的软件包(因为它们的 EVR 会略高一些)。”—— KaranbirSingh 在 centos-list 上说
您可能还希望从 yum 中删除“rhnplugin”(不是必需的,但会出现错误消息)
或 - 根据 Craig White 于 2007 年 10 月 29 日星期一在 centos-list 上发布的内容(针对 5.8 进行了更新)...
# cp /etc/redhat-release /etc/redhat-release-saved # rpm -e --nodeps redhat-release-notes redhat-release yum-rhn-plugin redhat-logos # rpm -ivh \ http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-5-8.el5.centos.i386.rpm \ http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-notes-5.8-0.i386.rpm \ http://mirror.centos.org/centos/5/os/i386/CentOS/redhat-logos-4.9.99-11.el5.centos.noarch.rpm # yum update
来源: http://wiki.centos.org/HowTos/MigrationGuide
CentOS 中已修复软件包公告的链接: https://www.centos.org/forums/viewtopic.php?f=47&t=48677
答案2
如果你没有有效订阅,你可以自己动手bash 包:
- 安装平均流量
- 下载源文件(http://ftp.gnu.org/gnu/bash/bash-3.2.tar.gz)
- 下载所有补丁(http://ftp.gnu.org/gnu/bash/bash-3.2-patches/)
tar xzvf bash-3.2.tar.gz
- 应用所有补丁,直至最新
patch -p0 <bash32-054
./configure --prefix=/usr
make
mkdir -p /tmp/bash
make install DESTDIR=/tmp/bash
mkdir -p /tmp/bash/bin
mv /tmp/bash/usr/bin/bash /tmp/bash/bin/bash
rm /tmp/bash/usr/share/info/dir
ln -s /bin/bash /tmp/bash/bin/sh
fpm -s dir -t rpm --epoch 1 -n bash -v 3.2.54 -p bash-3.2.54-1.rpm -C /tmp/bash .
yum install bash-3.2.54-1.rpm