我使用的是 Fedora 13 VM,我需要安装一些旧的 rpm,但只有源 rpm 文件。我知道我可以用来rpmbuild --rebuild
构建二进制文件,但无论出于何种原因,rpm-build 都没有与 yum 一起安装,而且我只能找到 fc13 的 rpm-build 的源 rpm 文件。所以这是一个有点递归的问题。
我需要的特定 rpm 是 libvncserver,显然还有 rpm-build,但最好了解如何从通用 SRPM 开始并使其在 Fedora 13 上工作,以满足未来出现的任何需求。
我该如何解决这个问题?我愿意接受任何建议,但我必须使用 Fedora 13。
答案1
您也许可以使用yum
完整 DVD ISO 中包含的存储库。我将 ISO 下载到 RHEL6 服务器,将其安装在环回上并在 中创建了以下内容/etc/yum.repos.d/fedora.repo
:
[root@vlp-xxx tmp]# cat /etc/yum.repos.d/fedora.repo
[fedora]
name='Fedora base sur DVD - monter le dvd dans /repo/dvd'
baseurl=file:///mnt/tmp
enabled=0
gpgcheck=0
然后给了我所有的 Fedora 13 rpm:
[root@vlp-xxx tmp]# yum list available --disablerepo='*' --enablerepo=fedora | head
Loaded plugins: product-id, security, subscription-manager
Available Packages
BackupPC.noarch 3.1.0-13.fc13 fedora
ConsoleKit.i686 0.4.1-5.fc13 fedora
ConsoleKit-libs.i686 0.4.1-5.fc13 fedora
ConsoleKit-x11.i686 0.4.1-5.fc13 fedora
DeviceKit-power.i686 1:0.9.0-1.fc13 fedora
GConf2.i686 2.28.1-1.fc13 fedora
GConf2-devel.i686 2.28.1-1.fc13 fedora
GConf2-gtk.i686 2.28.1-1.fc13 fedora
[...snip...]
你的包裹似乎就在那里:
[root@vlp-xxx tmp]# yum info rpm-build --disablerepo='*' --enablerepo=fedora
Loaded plugins: product-id, security, subscription-manager
Installed Packages
[...snip...]
Available Packages
Name : rpm-build
Arch : i686
Version : 4.8.0
Release : 14.fc13
Size : 125 k
Repo : fedora
Summary : Scripts and executable programs used to build packages
URL : http://www.rpm.org/
License : GPLv2+
Description : The rpm-build package contains the scripts and executable programs
: that are used to build packages using the RPM Package Manager.
答案2
我首先制作一个可行的版本rpmbuild
:
- 获取源rpm
unrpm
使用、rpm2cpio
等解压源文件。- 查看规范文件,手动应用补丁
- 使用与规范文件部分
configure
中相同(或等效)的选项。%configure
- 安装结果。
- 使用该版本
rpmbuild
从其源 RPM 进行构建。 - 安装那转速。
之后,您应该准备好在 Fedora13 上构建软件包了。
答案3
旧的 Fedora 版本存档于http://archive.fedoraproject.org/pub/archive/fedora/linux/— 您可以编辑文件以/etc/yum.repos.d/
指向适当的版本。或者,只需下载您需要的各个 RPM。
不过,请确保您的此类系统与 Internet 隔离(即使使用它访问 Internet 服务也要小心),因为 Fedora 13 大约五年前就停止接收安全更新。