구 CentOS 4.9 서버를 패치해야했기 때문에 Red Hat FTP에서 최신 소스 RPM을 가져 와서 GNU FTP에서 업스트림 패치를 추가했습니다. 단계는 다음과 같습니다.
먼저 http://bradthemad.org/tech/notes/patching_rpms.php 의 "Setup"절차를 따르십시오 .
echo "%_topdir /home/$(whoami)/src/rpm" > ~/.rpmmacros
mkdir -p ~/src/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS
mkdir -p ~/src/rpm/RPMS/{i386,i486,i586,i686,noarch,athlon}
그런 다음 % _topdir에서 다음 명령을 실행하십시오.
cd ~/src/rpm
wget http://ftp.redhat.com/redhat/linux/updates/enterprise/4ES/en/os/SRPMS/bash-3.0-27.el4.src.rpm
rpm -ivh bash-3.0-27.el4.src.rpm
cd SOURCES
wget http://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-017
cd ..
이 diff로 SPECS / bash.spec을 패치하십시오.
4c4
< Release: 27%{?dist}
---
> Release: 27.2%{?dist}
28a29
> Patch17: bash30-017
110c111,112
< #%patch16 -p0 -b .016
---
> %patch16 -p0 -b .016
> %patch17 -p0 -b .017
그런 다음 다음 명령으로 완료하십시오.
rpmbuild -ba SPECS/bash.spec
sudo rpm -Uvh RPMS/i386/bash-3.0-27.2.i386.rpm
편집 : Red Hat Bugzilla의 최신 의견은 패치가 불완전하다고 말합니다. 새로운 ID는 CVE-2014-7169입니다.
편집 : gnu.org에는 두 가지 추가 패치가 있으므로 동일한 소스 디렉토리로 다운로드하십시오.
wget http://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-018
wget http://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-019
그런 다음 SPECS / bash.spec도 다음과 같이 편집하십시오 ( "릴리스"번호 매기기 옵션).
4c4
< Release: 27%{?dist}
---
> Release: 27.2.019%{?dist}
28a29,31
> Patch17: bash30-017
> Patch18: bash30-018
> Patch19: bash30-019
110c113,116
< #%patch16 -p0 -b .016
---
> %patch16 -p0 -b .016
> %patch17 -p0 -b .017
> %patch18 -p0 -b .018
> %patch19 -p0 -b .019