版权 © 2006 本文档遵从GNU自由文档协议,欢迎转载和传播
摘要
Dr.com是城市热点公司开发的宽带计费系统,在全国高校,企业,政府机关广泛使用,但是遗憾的是这么大的企业居然没有开发Linux下的客户端,所以造成了部分linux用户不能正常上网的问题,但是有linux爱好者们开发了for linux版本,本文将详细叙述在几大主要发行版下安装方法。
目录
第一版的作者易灿因为工作关系无法继续更新此文档,我呢是个大懒人,本来是不想更新的,但是最近被问得烦了所以想写个东西你们自己去看吧。易灿用的docbook标签与我的很不相同,可能是docbook更新的原因。小部份我改掉了,部份改到我不想改了,也为了保持他的文章的原样,但是很多已经过时的东西又不得不说一下,所以这些地方我用了脚注来指出来。
第二版与之前最大的不同是因为内核升级到了2.6.16之后,原方法已经不能使用了,我会在原文的后面加入新的方法。2.6.15之前的内核可以继续使用旧方法编译安装。
这篇文章将同时保存在两个地方http://www.qhang.cn/~yuanl | http://q-drcom.gro.clinux.org前者可能访问很慢,但我可以及时的更新,后者就没那么方便更新但可能更快一些。
Dr.com是城市热点公司开发的宽带计费系统,在全国高校,企业,政府机关广泛使用,但是遗憾的是这么大的企业居然没有开发Linux下的客户端,虽然Dr.com可以在web浏览器下完成登陆验证注销等工作,但是很多学校和ISP取消了这样的功能,而取而代之是windows下专用的客户端。
由于没有客户端,所以Linux上网成了问题,通常的解决方案是利用代理服务器接入,利用wine模拟运行drcom的官方客户端,但是这样做并不是完美的解决方案,例如使用代理服务器对于端口有限制,并且某些软件并不提供设置代理的功能,而利用wine模拟运行在Dr.com 2.95版本不能成功,至少我还没有看到有成功的案例,在本人学校没有,在网上也没有看到有例子。为了解决此问题,有爱好者对Dr.com的联网原理进行分析,开发了 Dr.com的客户端,我记得最早是在2004年就有相关的文章来分析了,具体情况可以Google一下,在这里再次要感谢这些先驱们。本人的学校从去年开始才正式的运行Dr.com进行校园网络的控制和管理,我也是到了今年才开始关注这个,我想做一个Linux的客户端,上网查到了drcom-client。drcom-client现在是sourceforge上的一个项目,以GPL协议发布,它包括window平台下的版本drcom-client-win32和Linux下的版本drcomsuite,它的主页地址是: http://sourceforge.net/projects/drcom-client。本文主要介绍Linux下的版本drcomsuite在Linux几个主流发行版的使用,它的主要作者是wpyh,drcomsuite到现在已经比较成熟了[1],可以应用于2.4.x内核和2.6.x内核。但是wpyh的第一语言不是汉语,所有的文档是以英文发布的;另外使用文档也不完善,这样对于开发者或者熟悉linux的人也许不成问题,但是对于使用Linux的普通用户和Linux的新手们就有些困难了。还有就是这个客户端是在北京海淀区的宽带接入应用环境开发的,它的测试区在北京海淀宽带联盟论坛,这是一个内部网站,仅面向海淀宽带的用户,而且关闭了注册,我现在得到的消息是借助google搜索提供的零星的片段(要登陆论坛才可以查看全文内容),所以我现在连wpyh其人也不是很了解。
我准备在drcom-client的基础上开发更人性化功能的Dr.com客户端,并且提供基于GTK的图形界面版本,现在windows下的版本已经比较好用了,但是也缺乏一个用户指南,用这个开源的版本带来的好处是:支持共享上网,不会默认打开某些网站(我就特反感这个,本人机器比较慢,原来用windows的时候自动打开IE连到校主页,要等好几秒的时间,不爽)而Linux下的版本能用了,但是还存在某些bug,比如有的时候不稳定,不能登陆成功;有的时候退出的时候,进程会无法正常中止;这些都还不是大问题;现在最大的问题是安装使用起来有点困难,特别是对于Linux新手,或者说只是普通用户而言。我在http://www.gro.clinux.org上申请开通了一个项目,叫做q-drcom,项目主页就是https://gro.clinux.org/projects/q-drcom;名字中q的意义一方面是本人在学校所在的工作组名字的首字母,所以开发的东西会叫做q-xxx;另外q是cute的意思,cute在英文中意为灵巧的,漂亮的,惹人喜爱的意思,这是我做东西的一个原则:,它能怎么样跑得最快?怎么让人喜欢它?解释了这么多,就是想让你记住它,如果你对使用drcom有什么问题你就能到项目主页上寻求答案了:);说实在的,本人也不是什么开发高手,并且对于Linux下的编程,特别是内核模块方面的也是在学习中,drcom-suite的源代码我正在消化,但是我有信心不久之后[2]就推出q-drcom的beta版本;所以目前q-drcom项目暂时只是提供drcom-client的用户支持,除了文档而没有自己的东西出来,并且从用户的反馈和问题,也能让我更好的发展q-drcom,---A cute version of Dr.com's client!所以也请大家有使用上的问题及时反馈,更希望有更多的志愿者加入到其中来。看到城市热点的官方主页上说在高校的应用有300多家,按我的理解就是:有多少在高校的成功案例,就有多少个高校里的linuxer被奴役!
这一部分内容是为linux新手准备的,其他人可以跳过这一章,如果在ubuntu下没有编译成功的用户,请浏览这一部分的内容
Linux从源代码安装软件的一般过程是Configure,make,make install;configure是一个shell脚本,负责根据机器或用户的的设置生成一个叫Makefile的文件。而make命令就是让编译器(gcc等)根据Makefile文件自动的编译和连接以生成目标代码(可执行文件,在windows下就是exe文件);make install就是根据Makefile的表述把目标代码以及相关的文件拷贝的设定的目录。简单说,make就是Unix,Linux平台下的工程管理器,它能自动编译和安装软件。对于某些软件的安装,也就是最后一步(这里假设你在自己的家目录中完成了前面两步)需要root用户权限,因为make install可能要把一些文件拷贝到之有root用户有权限写入的目录,对于本文中要安装的drcom-suite就是如此,它要将一些文件拷贝到/sbin ,/etc等目录中,另外,在本例中drcomsuite的安装不要用Configure,它也没有提供这个脚本,它已经提供了Makefile,直接运行make,make install就可以了。
软件是有相关性的,一些程序为另外的程序提供服务,所以软件的安装是有顺序的,并且有的时候不能颠倒(有新手要不耐烦了,发难了,windows下怎么没有那么麻烦阿?windows下有dll文件,叫做动态连结库,你双击安装的exe程序已经把它要用的那些库打包到exe文件里面,安装时就提取出来放到它的安装目录了,写过vb的知道,你写个程序但是不把一些dll文件打包安装,它在没有装VB的机器上就不能运行,基本道理一样,另外一般windows下的软件都是以二进制可执行文件的形式发布,而不是源代码,“Linux is not windows ”,所以请不要总是把时间花在它们的比较之上。我之前不用windows是我买不起正版windows,我对自己的要求是:如果我还写代码,那么我就尽可能不用盗版软件,我必须尊重其他的软件作者。当然,为什么尽可能呢,如果老师让我交AutoCAD的课程设计,那我该怎么办呢?:)但是,请你相信,当你开始了解了linux,并且尝试用它来解决你的学习工作的问题,而不是把它当玩物,那么你会象我一样对它如痴如醉的,这让我想起了一句名言:学一点点知识是一件可怕的事情 :)。当然,整天打游戏的人除外,呵呵,整天打游戏的人也不会看这篇文章了),具体来说,在本例中一定要先安装libdrcom,只有先安装了libdrcom,drcomsuite才可能编译成功,因为drcomsuite的编译需要libdrcom,不完善的说法是编译drcomsuite时需要libdrcom的一个drcom.h的头文件,安装了libdrcom之后,drcom.h文件会被拷贝到/usr/include文件夹中,这样编译drcomsuite时编译器才能找到drcom.h;这是drcomsuite在一般发行版本上的需要注意的地方,另外对于特定的发行版本还有其他的东西,比如在ubuntu 5.10的安装,还要依赖其他的东西,这个在后面特定的发行版的说明中具体讨论。
开源软件之所以这么有活力的一个原因就是来自全世界的黑客们都在持续的改进它们的程序,版本会不断的升级,会越来越趋向于完美。版本的更新换代太快,但是这也是被某些商业软件的支持者指责的地方,版本的更新太快造成维护上的成本增加。这简直是跟强奸了某女然后把责任推托说是“怪你过分美丽”上一样没有道理!(不好意思,偏激了,我不恨微软,甚至有些同意某些人说的,不知道对不对,我只是引用不加评论,“如果没有微软,计算机就不会如此老少皆宜”,微软提供了漂亮的界面,易用的操作方式,在中国更是如此,拿三块钱买一张盗版光盘,马上就有一个可用的系统了;但我转向linux之后,我惊喜的发现linux可以跟window xp一样漂亮,甚至更漂亮,而我居然开始喜欢了命令行的操作方式,这个可以更高效!唉,废话有点多,见谅)不同的gcc版本用于编译的参数可能不一样,它可能不支持某个Makefile中给的gcc编译参数,在本例中就是如此,造成了在某些发行版本上不做某些改动就不能编译成功。还有,如果你要编译内核的模块,那么一定要用和当前内核相同的gcc的版本,系统上缺乏编译内核所用的gcc版本,就可能造成编译drcomsuite中就可能不成功,这个问题在ubuntu 5.10上体现了,后面会详细提到。
现在经过测试安装的linux发行版本有Redhat9,Fedora core4,gentoo 2005,ubuntu 5.10,如果有其他发行版只要注意本文中提到的一些问题,应该安装也不成问题。
首先从drcom-client的项目主页http://sourceforge.net/projects/drcom-client上下载libdrcom-0.0-20050423-2.tar.bz2和drcomsuite-0.1.12.tar.bz2两个文件[3], 记得要先安装libdrcom,解压缩:
tar -xjvf libdrcom*.bz2 tar -xjvf drcomsuite*.bz2
转换到root用户完成编译和安装:
su #输入你的root用户密码
进入libdrcom的目录
cd libdrcom*
redhat9会由于默认的gcc版本的原因[4],需要稍微修改Makefile文件,用你喜欢的编辑器打开Makefile
vi Makefile
注意到其中有这样的一行,第三行
WARN = -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic
把-Wextra改成 -W 然后运行make和make install编译
make
等待,你应该可以编译成功,然后安装
make install
按照同样的作法,进入到drcomsuite的目录,然后make ,make install编译安装drcomsuite,所不同的是 drcomsuite中的Makefile 本来就是带的-W,所以不需要改。如果这都没有出现错误的话,那么恭喜你,你已经成功了一半了,现在我们来看配置文件。drcom的配置文件是/etc/drcom.conf,安装drcomsuite时已经把一个叫做drcom.conf.new的文件拷贝到你的/etc目录下,所以你需要把它改名为drcom.conf,然后完成相应的配置,里面有简单的英文提示,应该不成问题,有下面是一个示例配置文件:
username=ylli1_04 #用户名 password=******* #你的密码 mac= #mac地址,可以通过运行ifconfig命令查得本机的mac地址,类似如 00:00:E8:18:07:69的形式 nic0=10.1.43.190 #你的IP地址,一般都是单网卡用户,后面的空白 nic1= nic2= nic3= dnsp=202.113.32.6 #主dns dnss=202.113.32.6 #次dns,这个必须填,不填程序会出错,如果没有次dns,填一个合法的ip地址 dhcp= #一般都不是由dhcp指配的ip,所以这里也留空 hostip= servip=192.168.100.251 #输入你用drcom时打开浏览器被自动引导如提示你登陆的那个地址就可以了,这个是我们学校的登陆地址,其他的留空默认 hostport= servport= #后面的四项是用来假冒windows xp主机的,不填就可以了。 hostname= winver= winbuild= servicepack=
这样配置文件就好了,接下来就可以来上网了,下面的命令都需要你用root用户来运行 su切换到root用户,因为你是以普通用户运行的,所以你的搜索目录里面可能没有/sbin,所以你运行source来读取root的环境变量设置
source /etc/profile modprobe drcom drcomcd #运行drcom的守护进程
如果提示类似于下面的这样的信息,那么就表示启动成功了,如果不是,你需要检查你的配置文件drcom.conf是否有语法错误:
1139480048 DEBUG drcomcd: Redirecting stderr to /var/log/drcomcd...
登陆,在终端输入命令:
drcomc login
提示这样的信息:
1139480181 DEBUG drcomc: Creating socket... 1139480181 DEBUG drcomc: Connecting... 1139480181 DEBUG drcomc: Sending login command... 1139480181 DEBUG drcomc: Receiving reply (login)... Login succeeded
表示你登陆成功了,这样你就可以上网了! 如果有提示出错信息,比如你就要确认你的帐户是不是用完了,然后再杀掉drcomcd并且再次启动,或者从新引导一次系统试试,一般是不需要的。但是有可能有不稳定,随机的情况出现。
#杀掉drcomcd killall drcomcd #同样需要你以根用户的身份运行
用redhat9基本会成功的,本来它的开发就是基于2.4内核,redhat 9基于2.4.20内核。drcom.o是2.4内核的内核模块,当你安装drcomsuite时它被安装到了/lib/modules/{kerner_version}/kernel/misc中[5];{kernel_version}代表你的内核版本号。
用fedora core4的差不多,只是fedora的gcc比较新,所以编译的时候Makefile文件是不用修改的,其他的过程一个样,2.6内核的后缀名为 .ko; drcom.ko被安装到了/lib/modules/{kernel_version}/kernel/extra目录中。
我自己的机器在宿舍里锁着了,装的是gentoo2005.1,现在工作室里没有gentoo的机器,安装过程也一个样,但是我记得刚刚考完研放寒假时我安装之后的gentoo联网不成功,提示说failed,reason 0;但是那个时候可能是学校网络的原因,我觉得应该可以成功的,毕竟这边三台机器全部成功了。
面具体说一下在ubuntu的安装过程[6],可能要稍微复杂一点,因为ubuntu是开发来用做服务器或者桌面应用的,但是在开发方面可能就要考虑少一点,但是不是说它不合适做开发,有了apt,有了“新立得”什么拿不到呢?并且我们的工作站就是装ubuntu,只不过你在做内核方面的东西时要装些东西上来,让它具有这个环境,ubuntu的设计理念是“Linux for human beings”,所以预装的软件包不会包括编译环境。ubuntu非常的漂亮,没有其他的一些复杂的东西要设置,放上去就能用,所以选它做事情是非常合适的,我很喜欢它!具体的安装我就不说了,在ubuntu中文网站上有详细的教程,http://www.ubuntu.org.cn, ubuntu中文上的资料非常的好而且多, ubuntu很适合新手,我觉得在这个方面比fedora还好(那个yumex真的有够“郁闷”的,运行慢,与“新立得”比差远了,还有源就清华还有个freshrpms的镜像,个人意见)。
首要因素是你要安装 build-essential 如果你没有安装过,请利用下面的命令安装 sudo apt-get install build-essential 当然你可以用“新立得”,我就很喜欢新立得!
你需要做的第二件事就是安装libssl-dev,这个包包括了drcom需要用到的用于认证加密的md5函数,它需要一个md5.h的头文件,而这个文件在libssl-dev中有,另外libssl-dev还包括了其他好多的用于加密的头文件哦。
第三,你需要安装对应内核版本的头文件,这个用 uname -r命令可以得到关于你机器的信息,比如我的:
uname -r 2.6.12-10-686
这是我的内核版本,我用的是Intel P4的CPU,所以我安装的是这个内核,ubuntu默认安装的是 2.6.12-9-386,当你第一次系统更新时就会安装 2.6.12-10-386,然后一般人都会根据自己的CPU类型选择合适的内核版本,AMD用户会选择 2.6.12-10-k7;
另外你得到信息的方法就是查看/proc/version文件,这里有你机器的一般信息,包括编译内核采用的gcc版本,这也是呆会要用的。
cat /proc/version
比如我机器的信息显示为:
Linux version 2.6.12-10-686 (buildd@rothera) (gcc version 3.4.5 20050809 (prerelease) (Ubuntu 3.4.4-6ubuntu8)) #1 Mon Jan 16 17:58:04 UTC 2006
它不但告诉了我内核版本还告诉了我gcc的版本是3.4.5,因为你编译新的内核模块时要用到和编译内核同样版本的gcc版本。
那么就在你的“新立得”里面搜索“linux-headers”找到你需要版本的linux头文件 Linux-header-file-{yourversion},比如我的就安装linux-header-2.6.12-10-686
虽然你刚才已经安装了编译的环境build-essential,但是安装的gcc版本是更新的4.0版本,它在用来编译内核模块时是不合适的。
在你的“新立得”搜索gcc,安装gcc3.4,至此你就建立了一个可以编译drcomsuite的环境了,按照前面的方法编译安装。
ubuntu有它的一套,它不能su到root帐户,你可能愿意开启一个root shell,那么就运行sudo -s -H[7]; 完成你的编译安装,如果你按照在“在redhat中的安装”这一节详细介绍的,编译安装了,配置了。但是你可能当运行modprobe时提示找不到drcom模块[8],至少在我这里是这样;这个不用着急,你用root权限,把drcomsute编译目录下的/modules/Linux/2.6.x/下的drcom.ko文件复制到/lib/modules/{kernel_version}/kernel/drivers/net下就可以了,复制到其他目录也可以,在这里我认为它是一个网络驱动。所以我复制到这里driver/net文件夹中
还差一步:运行如下的命令自动建立模块的依赖关系:
depmod -a
如果你不运行上面的命令,可能当要载入模块时就会提示找不到模块。接下来,你就可以modprobe drmod把drcom载入内存了。然后就是正常的使用步骤了,具体操作参照“在redhat 9下的安装”这一节。
内核2.6.16及更高就无法使用之前介绍的方法了。幸运的是早在写第二版之前的一年已经开发出了更新的软件。而且比以前的更稳定,安装也更方便,因为它只有一个包。我尽量不针对发行版写具体的方法,主要是对不同的情况写出解决的方法,希望这样文章的有效时间能长一点。
源代码在sourceforge.net下载,在这里下载名字如drcom-1.3.2.tar.gz的包。如果链接失效你可能要到sourceforge.net或google自己搜索一下。
这个软件去内核的一个选项有要求,可以检查内核的配置文件。这样做。
$fgrep -i CONFIG_SECURITY /boot/config-x.y.z 一定要有下面这两行 CONFIG_SECURITY=y CONFIG_SECURITY_NETWORK=y
如果是自己配置的内核,配置文件可能不在这里,检查一下内核源代码目录下的.config文件。
下载完后解压
$tar zxvf drcom-1.3.2.tar.gz $cd drcom-1.3.2
这时你可以试着make一下。在不大可能出现的最理想情况下就能完成编译。成功编译看起来是这样的。
... make[2]: Entering directory `/usr/src/linux-source-2.6.18' CC [M] /home/yuanl/download/tarball/drcom-1.3.2/kmod/init.o CC [M] /home/yuanl/download/tarball/drcom-1.3.2/kmod/proc.o CC [M] /home/yuanl/download/tarball/drcom-1.3.2/kmod/proto.o LD [M] /home/yuanl/download/tarball/drcom-1.3.2/kmod/drcom.o Building modules, stage 2. MODPOST CC /home/yuanl/download/tarball/drcom-1.3.2/kmod/drcom.mod.o LD [M] /home/yuanl/download/tarball/drcom-1.3.2/kmod/drcom.ko make[2]: Leaving directory `/usr/src/linux-source-2.6.18' make[1]: Leaving directory `/home/yuanl/download/tarball/drcom-1.3.2/kmod'
如上所说通常最理想的情况是极少见的。主要的少了很多文件。下文将介绍可能会出现的情况,一一处理完后就能达到编译所需条件。
如果没有GCC在上一节中的make结果看起来像这样
make -C drcomc make[1]: Entering directory `/home/yuanl/download/tarball/drcom-1.3.2/drcomc' gcc -Wall -W -Wstrict-prototypes -Wmissing-prototypes -pedantic -I/home/yuanl/download/tarball/drcom-1.3.2/include -O2 -c -o drcomc.o drcomc.c make[1]: gcc: Command not found make[1]: *** [drcomc.o] Error 127 make[1]: Leaving directory `/home/yuanl/download/tarball/drcom-1.3.2/drcomc' make: *** [drcomc] Error 2
会提示没有gcc这个命令。
这种情况最常出现在Ubuntu发行版上,原因易灿之前说过了。这个时候就要用各发行版的软件包管理工具安装gcc[9]。可以参考已前的内容。最好还是参考各个发行的手册,里面有更为详细的内容。
装好gcc之后继续make。看还会出什么状况。一般也不大可能马上成功。
没有md5开发包make的结果看起来像这样
... -Wall -W -Wstrict-prototypes -Wmissing-prototypes -pedantic -I/home/yuanl/download/tarball/drcom-1.3.2/include -O2 -c -o login.o login.c login.c:23:25: error: openssl/md5.h: No such file or directory login.c: In function ‘drcom_login’: login.c:50: warning: unused parameter ‘timeout’ login.c: In function ‘_build_login_packet’: login.c:105: warning: implicit declaration of function ‘MD5’ make[1]: *** [login.o] Error 1 make[1]: Leaving directory `/home/yuanl/download/tarball/drcom-1.3.2/drcomd' make: *** [drcomd] Error 2
会看说找不到openssl/md5.h这个文件
这个时候一般这个文件在libssl-dev这个开发包里面。你可以到各个发行版的主页去,比如Ubuntu和Debian具体找一下这个文件在哪一个软件包中,再将这个软件包及其依赖的软件包通过别的方式下载回来,传到Linux上。再用各个发行版的不同方法将它们安装到系统上。具体请参考各个发行版的手册页。
接下来你可以继续运行make,如果你足够幸运你以经可以成功编译了[10]。
看起来像这样
... make[1]: Leaving directory `/home/yuanl/download/tarball/drcom-1.3.2/drcomd' make -C kmod make[1]: Entering directory `/home/yuanl/download/tarball/drcom-1.3.2/kmod' make -C /lib/modules/2.6.18/build M=/home/yuanl/download/tarball/drcom-1.3.2/kmod modules make: Entering an unknown directory make: *** /lib/modules/2.6.18/build: No such file or directory. Stop. make: Leaving an unknown directory make[1]: *** [default] Error 2 make[1]: Leaving directory `/home/yuanl/download/tarball/drcom-1.3.2/kmod' make: *** [kmod] Error 2
也就是提示/lib/modules/x.y.z/目录中某个文件或目录不存在。
为什么会要内核头文件?这个软件太特别了,这是我在Linux安装过的极少数几个需要编译内核模块的软件。编译内核模块需要有当前内核的头文件。如果使用了不同于当前内核的头文件我也不是很清楚会发生什么。我就见过有的人不知道在哪里看来的方法,明明用的内核是2.6.18却下载安装了2.6.15的头文件用之前的老方法来安装,听说竟然还成功了。这种方法是绝对不推荐的,因为用了之后谁也不知道哪一天会有什么灾难性的后果。
这个时候就一定要看清楚自己当前内核的版本。可以用uname -r命令查看。内核头文件一般会在安装系统时的CD里面有,默认可能没有安装。最好使用这一个,不要到网上搜索,这想可能找到的不是合适的。
一般来说,内核头文件的包会这样命名:linux-headers-x.y.z也可以安装内核原代码或内核开发包,它们看起来像这样:linux-devel-x.y.z和linux-source-x.y.z安装它们中的其中一个。也有的可能有的发行版把名字中的linux换成kernel
有可能还需要一个步骤,告诉当前内核头文件在哪里。
头文件通常装在/usr/src/linux-x.y.z用具体数字填入,比如我的。 #ln -s /usr/src/linux-source-2.6.18 /lib/modules/2.6.18/build
完成后再make这时多数人已经可以成功编译了。
在我处理的情况中出现的问题我已经写上了。但Linux下的情况千变万化,重要的是了解基本的原理,这就是为什么易灿要写"基础"小节的原因。对了加上一个我没想明白的问题。我自己的内核不是系统默认的内核,我自己编译的,我发现有时候你在对内核make clean之后就无法编译drcom?这时只要重新编译一次内核,问题就没有了。可能是drcom还有参考其中的上些中间文件还是别的什么。(易灿注:关于自己编译了源代码所造成的问题,Ubuntu包括很多个发行版本自己编译内核之后,位于/lib/modules/{kernel-version}中build和src符号链接都实际上链接到了source的文件夹,实际上build应该链向内核头文件。一般的发行版本,ubuntu,redhat(Fedora)中内核头文件一般装到/usr/src/中间,你把build的符号链接链接到此便好了。)
我现在能做的也就是这么多了,由于个人水平所限,如果上面的文档中有什么错误欢迎指出来,您有什么问题,或者对这个项目感兴趣,都可以发送邮件到alva.yi At gmail Dot com.
希望我所做的工作对于在高校或者其他地方的被Dr.com所“禁锢”的linux用户有作用,还等什么,不用担心你用linux上不了网了,从你的电脑上分出几个G出来装linux用吧,分多点,至少5个G吧,别只是玩它,装些有用的东西,实际的用它来解决你的工作和学习上的问题!也别满足于在虚拟机上,毕竟虚拟机只是虚拟机,据个人经验,gentoo就在VMware station 4.0上装不成(在windows xp上,盗版的:) ),另外在一个操作系统上跑另外一个操作系统,内存只有一半了,这样你就总是以为linux慢了,其实它一点也不慢,另外如果你是开发者,用linux可以让你工作得更舒服,比如笔者自己的机器只有1.2G,256M,但是用gentoo,只用了一个fvwm和Rox-filer做桌面环境,这样我就不用看着某些程序干着急了。另外满足日常的需要,linux足够了,QQ聊天,MSN,浏览网页,下电影……引用某个牛人的话说:“linux不是只是计算机系的才用的,linux也不是只有男生才用的”,我就不是计算机系,但是我是男生~~hehe:) 希望06年开学听到大家能上网的消息!
最后,再次感谢开发drcom-client,drcomsuite的开发者,协议分析者,以及其他贡献者!
难得我写点东西,再写多一点点了。改别人东西真是不爽,我们两个的风格好像完全不一样,我看着他写那些想改的东西很多,但是工作量太大。最后只是改动了一些标签,文章的内容还是保留原样。再有我没有那么啰嗦讲那么多题外话,所以有时会表意不清。不过风格不同可能也有一个好处,看的人可以很快的分出来这一段是谁写的[11],从而可能分出来哪些是后来加入的内容。
这次为了模拟不同的情况在自己的电脑上删了不少的软件包,是的,只是通过这种方式来实现模拟的。所以我相信有很多的情况还没有提到。个人见识不广,请多多包涵。
最后编辑于: Wed Apr 18 14:14:19 CST 2007
[1] 可是我用的时候很多情况下都能会出现无法注销的情况。
[2] 我也相信不久之后人类会发现外星生物。
[3] 版本可能不一样,下载最新的就可以了。
[4] 现在所有的发行版几乎都要改,应该不是版本原因。
[5] 内核版本用这个命令来看:uname -r
[6] 我想还是参考第二版中新加入的内容吧。
[7] 我更无耻,我把root密码改了:sudo passwd root 再输入当前用户的密码两次。
[8] 应该在这里就运行depmod -a就不用做后面这些了。
[9] 你想下载gcc的源代码?那之后呢,就会产生先有鸡还是先有蛋的问题。这样的悖论在安装这个drcom的时候经常发生。
[10] 这是我在Ubuntu 6.06上试的时候偶然发现的。
[11] 如果你还看不出来,我告诉你,会跑题的那些不是我写的。