欢迎使用CSDN-markdown编辑器

来源:互联网 发布:c语言迷宫最短路径 编辑:程序博客网 时间:2024/06/07 09:45
                    ## 阅读源代码本系列是在阅读《代码阅读方法与实战》这本书的过程中产生的笔记,此书作为指导如何阅读源代码的代表作,非常值得喜欢钻研开源项目的程序员阅读。此书以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:删除空目录

0 0