获取源代码
对于我们的编译练习,我们将从 GNU 项目中编译一个名为 指示. 这是一个方便的小程序,可以检查文本文件的书写质量和风格。 随着程序的进行,它相当小且易于构建。
按照惯例,我们首先要为我们的源代码创建一个名为
src,然后使用 ftp 将源代码下载到其中:
[我@linuxbox ~]$ 目录 src [我@linuxbox ~]$ 光盘源 [我@linuxbox 源]$ FTP ftp.gnu.org 连接到 ftp.gnu.org。
220 GNU FTP 服务器准备就绪。
姓名 (ftp.gnu.org:me): 匿名
230 登录成功。 远程系统类型是 UNIX。
使用二进制方式传输文件。 ftp> cd gnu/字典
250 目录更改成功。 ftp> ls
200 PORT 命令成功。 考虑使用 PASV。
150 目录列表来了。
-rw-r--r-- | 1 | 1003 | 65534 | 68940 | 八月 | 28 | 1998 | 字典-0.7.tar.gz |
-rw-r--r-- | 1 | 1003 | 65534 | 90957 | 三月 | 04 | 2002 | 字典-1.02.tar.gz |
-rw-r--r-- | 1 | 1003 | 65534 | 141062 | 九月 | 17 | 2007 | 字典-1.11.tar.gz |
226 目录发送正常。
ftp> 得到 dict-1.11.tar.gz
本地:diction-1.11.tar.gz 远程:diction-1.11.tar.gz
200 PORT 命令成功。 考虑使用 PASV。
150 为 diction-1.11.tar.gz(141062 字节)打开 BINARY 模式数据连接。
226 文件发送正常。
在 141062 秒内收到 0.16 个字节 (847.4 kB/s) ftp> 再见
221 再见。 [me@linuxbox src]$ ls 字典-1.11.tar.gz
请注意: 由于我们在编译时是此源代码的“维护者”,因此我们会将其保存在 〜/ src. 您的发行版安装的源代码将安装在 / usr / src,而我们维护的供多个用户使用的源代码通常安装在 /usr/本地/源.
正如我们所见,源代码通常以压缩 tar 文件的形式提供。 有时称为 压缩包, 该文件包含 源树,或构成源代码的目录和文件的层次结构。 到达 ftp 站点后,我们检查可用的 tar 文件列表并选择最新版本进行下载。 使用 得到 命令内 FTP,我们把文件从ftp服务器复制到本地机器上。
下载 tar 文件后,必须将其解压缩。 这是通过 焦油 程序:
[我@linuxbox 源]$ tar xzf 字典-1.11.tar.gz
[我@linuxbox 源]$ tar xzf 字典-1.11.tar.gz
[我@linuxbox 源]$ ls
字典-1.11 字典-1.11.tar.gz
[我@linuxbox 源]$ ls
字典-1.11 字典-1.11.tar.gz
提示: 这个 指示 与所有 GNU 项目软件一样,程序遵循特定的源代码打包标准。 Linux 生态系统中可用的大多数其他源代码也遵循此标准。 该标准的一个要素是,当解压源代码 tar 文件时,将创建一个包含源代码树的目录,并将该目录命名为 项目-x.xx,因此包含项目的名称及其版本号。 此方案允许轻松安装同一程序的多个版本。 然而,在解包之前检查树的布局通常是一个好主意。 有些项目不会创建目录,而是将文件直接传送到当前目录中。 这会让你原本井井有条的 SRC 目录。 为避免这种情况,请使用以下命令检查 tar 文件的内容:
焦油 tar文件 | 头