非正版的AS4無法下載更新包,我們只能自己到FTP://updates.redhat.com/enterprise/4AS/en/os/SRPMS 目錄下去下載src.rpm來自己編譯。多數包都可以順利編譯通過,但是在我編譯過程中有以下幾個包花了些功夫
1 thunderbird-1.0.2-1.4.1.src.rpm 直接rpmbuild --rebuild thunderbird-1.0.2-1.4.1.src.rpm可以順利編譯,但是就是無法安裝提示 error: unpacking of archive failed on file /usr/lib/thunderbird-1.0.2/defaults/pref/all-redhat.js;42ae6fc9: cpio: MD5 sum mismatch 解決辦法: 修改thunderbird.spec文件146-147行: 代碼: %{__cat} %{SOURCE10} %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' %{__sed} -e 's,COMMAND,%{tbdir}/open-browser.sh,g' > rh-default-prefs 為 代碼: %{__cat} %{SOURCE10} %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' %{__sed} -e 's,COMMAND,%{tbdir}/open-browser.sh,g' > rh-default-prefs 然後用rpmbuild -ba thunderbird.spec即可順利安裝
2 comps-4AS-0.20050525.src.rpm 這個文件很麻煩,因為這個文件是redhat發行版的,這個文件記錄了發行版的comps文件(也就是我們在軟件包管理器裡看到的各種分類)以及文件的頭信息,而相信大家的機器上不可能有redhat的編譯打包目錄,所以找不到編譯這個包需要.discnfo,hdlist,hdlist2以及comps.XML,我采用了變通的辦法,利用系統原來的comps文件來編譯新的comps文件,因為我對發行版制作不是很熟悉因此不敢擔保這麼作以後會不會對system-config-packages有影響,至少我升級後我的系統沒發現有什麼問題。 解決方法: cd /usr/share/comps/i386 cp .discinfo ../.. rpm -ivh comps-4AS-0.20050525.src.rpm rpmbuild --define="basedir /usr/share/comps/i386" --define="compsversion 4AS" -ba comps-redhat.spec 即可成功編譯 這個包升級不升級都無所謂,只是我不想看見rh升級提醒那個紅燈
3 rpmdb-redhat-4-0.20050525.src.rpm 這個包需要修改specs文件否則也無法編譯過去 rpm -ivh rpmdb-redhat-4-0.20050525.src.rpm vi /usr/src/redhat/SPECS/rpmdb-redhat-rhel4.spec.in 加入 %define rpmdBTree /usr/src/redhat/RPMS %define rpmdbname redhat %define rpmdbversion 4 此外還得將: 代碼: cat > ${RPM_BUILD_ROOT}%{_sysconfdir}/rpm/macros.solve