您的位置:首页 > 其它

欢迎使用CSDN-markdown编辑器

2015-10-19 12:03 260 查看
## 阅读源代码
本系列是在阅读《代码阅读方法与实战》这本书的过程中产生的笔记,此书作为指导如何阅读源代码的代表作,非常值得喜欢钻研开源项目的程序员阅读。
此书以netbsd作为实例,因此要想读此书,首先需要下载netbsd的源码。当然,本书中的源码版本和我们下载的版本肯定不一样,不过没有关系,在阅读的时候,我们可以看到新老版本之间有什么变化,从而可以提高我们对代码演进的认识。


下载netbsd源码

有三种方式:

1. 使用lftp下载单个目录

下载整个netbsd需要的时间较长,如果只想下载某个子文件夹下的源码来研究时,可以用lftp。lftp可以看作ftp++,它有以下几个亮点:

- 支持断点续传;

- 支持多种协议:ftp, ftps, http, https, file, fish, sftp;

- 支持BitTorrent协议, 可以下载种子所对应的文件

2. 使用ftp下载tarball(tar包)

如果想下载全部的源码,可以下载相对应的tarball包,下载方法如以下链接:http://www.netbsd.org/docs/guide/en/chap-fetch.html中的 “Downloading sources for a NetBSD release”一节,现摘录如下,方便日后查看:

- ftp -i ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-current/tar_files/src

“-i”的作用是在传输多个文件时,关闭交互信息;

然而我自己用ftp(ubuntu 14.04)时,却报告如下错误:

ftp: ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-current/tar_files/src: Name or service not known

查到stackoverflow上有人说需要把”ftp://”去掉,试了一下还是不行,又有人说要把目录去掉,然后又试了一下可以,然后输入用户名“anonymous”(这是一个极其容易输错的单词,不知道ftp软件的作者为何要选用这个单词,如果你发现输入之后提示“530 User anonoymous may not use FTP.

Login failed.”类似这样的消息,多半是拼写错误)

可问题并没有这么简单,当我登录ftp切换到正确的目录下面时(ftp切换目录时注意大小写,在浏览器中输入ftp目录时同样要注意大小写),ls, mget, get这些命令都不能使用,错误提示如下:

** ftp> ls

500 Illegal PORT command rejected

ftp> mget *.gz

Illegal PORT command rejected

**

这个问题原因是什么,不理了,反正官网给出的这个方法并不靠谱。靠谱的方法还是直接用浏览器打开如下网址:

ftp://ftp.kaist.ac.kr/NetBSD/NetBSD-current/tar_files/

选择”src.tar.gz”下载解压即可。

3. 使用CVS下载:

export CVSROOT=”anoncvs@anoncvs.NetBSD.org:/cvsroot”

ovs checkout -r netbsd-6-1-5-RELEASE -P src

-r:使源文件只读

-P:删除空目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: