Wine 用户指南(二)
翻译:寒蝉退士
译者声明:译者对译文不做任何形式的担保,译者对译文不拥有任何权利并且不负担任何义务。
原文:http://www.winehq.com/Docs/wine-user/
第 2 章. 获得 Wine
目录
2.1. Wine 的多种形式
2.2. 为 Debian 系统获得 Wine
2.3. 为 Redhat 系统获得 Wine
2.4. 为其他发布获得 Wine
2.5. 从 FTP 归档获得 Wine 源代码
2.6. 从 CVS 获得 Wine 源代码
2.7. 用补丁更新 Wine
2.1.Wine 的多种形式
标准 Wine 发布包括许多不同的可执行、库、和配置文件。要使 Wine 良好的工作必须正确的设置所有这些文件。本章将指导你通过必要的步骤把 Wine 安装到你的系统上。
如果你运行的 Linux 的发行使用包来跟踪安装的软件,你可能走运了: Wine 的一个预编译的版本可能已经存在于你的系统中了。前三节将告诉你如何找到最新的 Wine 包并安装它们。你应该小心在不同的发布之间混用包,即使是同一个发布的不同版本之间。经常是一个包只能在它所编译的发布上运行。我们将覆盖 Debian、Redhat 和其他发布。
如果你不够幸运的获得给你的操作系统的一个包,或者你偏好一个新版本的 Wine,它比现存的包要新,你必须下载 Wine 源代码并在你自己的机器上亲自编译它。不要担心,这不是很难,特别是与 Wine 一起的还有许多有用的工具。你无须有任何编程经验来编译和安装 Wine,但有一些 UNIX 管理经验就更好了。我们将覆盖如何从 FTP 归档取回并编译官方源代码,还有如何从 CVS (并发版本系统)获得最新(cutting edge up-to-the-minute fresh)的 Wine 源代码。二者的源代码安装的过程是类似的,并且你一旦掌握了其中一个,你处理另一个应当没有任何问题。
最后,你可能有一天需要知道如何向你的 Wine 版本提供补丁。可能你找到了 Wine 中的一个未发现的缺陷,请向 Wine 邮件列表报告,并从某个开发者接受一个补丁来修理这个缺陷。本章的最后一段将告诉你如何安全的提供补丁以及如果补丁不工作如何复原。
2.2. 为 Debian 系统获得 Wine
在 Debian 系统的多数情况下,你可以用一个简单的命令安装 Wine,作为 root:
# apt-get install wine
apt-get 将通过 Internet 连接到一个 Debian 归档(所以,你必须在线),接着下载 Wine 包并安装到你的系统上。完事了。
当然,Debian 的 Wine 预打包的版本可能不是最新的发行。如果你运行 Debian 的稳定版本,你可以通过从不稳定发布获取包来得到一个稍微新点的 Wine 版本,但这可能有点冒险,依赖于不稳定发布从稳定发布分叉多远。你可以在 www.debian.org 使用包查找引擎找到给各种 Debian 发行的 Wine 二进制包的一个列表。
如果要安装的一个包不是你的发布的一部分,你需要使用 dpkg 而不是 apt-get。因为 dpkg 不为你下载文件,你必须自己下载。依从在包查找引擎上的链接找到所需的包,接着点击 Go To Download 页面按钮并依从指示。保存文件到你的硬盘,接着在其上运行 dpkg。例如,如果你把文件保存到你的主目录中,你可以进行下列动作来安装它:
$ su -
<键入 root 口令>
# cd /home/user
# dpkg -i wine_0.0.20000109-3.deb
你可能还需要安装 wine-doc 包,如果你使用 Wine 的 2.3 发布(Woody),则还需要 wine-utils 包。
2.3. 为 Redhat 系统 获得 Wine
Redhat/RPM 用户可以使用 rpmfind.net 来搜寻可获得的 Wine RPM 二进制包。 这个页面包含以字母"W"开头的所有 rpm 包的一个列表,包括一些 Wine 包。
2.4. 为其他发布获得 Wine
如果你的系统不是 Debian 或 Redhat,第一步是看 WineHQ 下载页。这个页面列出了许多 Wine 的分类混合的(assorted)二进制(预编译)归档文件。
Lycos FTPSearch 是搜寻杂类发布包的另一个有用的资源。
2.5. 从 FTP 归档获得 Wine 源代码
如果你想要的 Wine 的版本没有现存的包,你可以自己下载源代码并在你的机器上编译它。如果以前从未做过,第一次时可能感觉有点恐怖,你将发现这通常是非常顺畅的,特别是在新近的 Linux 发布上。
获得源代码的最安全的方式是从官方 FTP 归档获取。在 Wine 发布中的 ANNOUNCE 文件中(如果你已经下载了它的话)有一个最新列表。下面是(可能过时了)承载 Wine 的 FTP 服务器的一个列表:
ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/
ftp://tsx-11.mit.edu/pub/linux/ALPHA/Wine/development/
ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/
ftp://orcus.progsoc.uts.edu.au/pub/Wine/development/
官方发布加上了"Wine-YYYYMMDD.tar.gz"格式的日期标注。你最好的赌注是获得最新的发布。
FIXME: 解释如何 un-tar、从一个 tarball 编译和安装 Wine。
2.6. 从 CVS 获得 Wine 源代码
Wine CVS 的官方 Web 页是 http://www.winehq.com/dev.html。
首先,你需要使用 CVS 得到最新的 Wine 源代码的一个复件。你可以通过设置 CVSROOT 环境变量来告诉它到那里去找到源代码树。你还必须匿名登录到 wine CVS 服务器上。在 bash 中,过程可能如下:
$ export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine
$ cvs login
Password: cvs
$ cvs checkout wine
这将从 winehq.com 取回整个 Wine 源代码树并把它放置到当前目录中(实际上在‘wine’子目录中 )。 CVS 有大量命令行参数,所以有多种方式从修订历史中的某个地方取回文件。此后,你可以只获取更新的文件:
$ cvs -dP update
cvs update 从源代码树的内部工作。你不需要 CVSROOT 环境变量来运行它。你只需要在代码树中。-d 和 -P 选项确保你的本地 Wine 树目录结构与远程仓库相同步。
在你做了变动之后,你可以通过 cvs diff -u 建立一个补丁,它把输出发送的 stdout(-u 控制这个补丁的格式)。所以,要建立一个 my_patch.diff 文件,你可以这样做:
$ cvs diff -u > my_patch.diff
你可以从树中的任何地方调用 cvs diff(如同 cvs update),并且它将总是从这一点上递归的获取文件。你还可以指定一个单一的文件或子目录:
$ cvs diff -u dlls/winaspi > my_aspi_patch.diff
做点实验,这是非常凭直觉的。
2.7. 用补丁更新 Wine
如果你有 Wine 源代码,与二进制发布相反,你可以选择向源代码树提供补丁来修理缺陷并增加实验性的特征。可能你已经发现了一个缺陷,请向 Wine 邮件列表报告,并接收一个补丁来修理这个缺陷。你可以用 patch 命令运用补丁,它从 stdin 接受补丁:
$ cd wine
$ patch -p0 < ../patch_to_apply.diff
要删除补丁使用 -R 选项:
$ patch -p0 -R < ../patch_to_apply.diff
如果你想要测试一下是否成功的提供了补丁(例如,如果这个补丁是从这个树的(比当前)老或新的版本建立的),你可以使用 --dry-run 参数来运行补丁而不写任何文件:
$ patch -p0 --dry-run < ../patch_to_apply.diff
patch 是从一个文件中提取补丁的聪明的方法,所以如果你保存了一封邮件,其中包含了给你的硬驱动器上的一个文件的内置(inline)的补丁,你可以在其上调用补丁而不须剥除邮件头部和其他文本。 patch 忽略看起来不象补丁的所有东西。
FIXME: 进一步解释 -p0 选项...