永平 的个人资料ERN空间照片日志列表更多 ![]() | 帮助 |
|
|
6月24日 关联Firefox和eMule小结 对我来说,firefox已经是90%的浏览器了,前几天顺应潮流升级到了3.0。还没有觉出特别大的变化,不过新的想来总是不错的,呵呵。用上新东西的同时,却遇到了老问题——firefox关联不上eMule,在网站上点击ed2k的链接根本不会调用eMule。在2.0的时代我就曾经遇到这个问题了,第一次点击ed2k链接的时候会提示选择一个程序来处理,之后升级了一次eMule就再也无法使用了,一直到我用了这个方法: [quote] 在firefox地址栏输入about:config 新建“布尔” 名称为:network.protocol-handler.external.ed2k 值为:true 新建“字符串” 名称为:network.protocol-handler.app.ed2k 值为:已经改名的hiweed兼容层的文件路径,例如,/home/use/emule/emule [/quote] 原想依葫芦画瓢应该是可以的,结果不行。今天偶然来了灵感,终于搞定了。 我买了新电脑以后换上了Vista,所以首先修改一下运行firefox的链接,让它默认以管理员身份运行。firefox还是很安全的,不必担心; 其次,上面是通过修改firefox本身的设置,那么我们是否选择过关联应该也记录在某个地方吧。进入about:config,输入“ed2k”,看到“network.protocol-handler.warn-external.ed2k”么?双击修改为“true”吧。 现在重新启动你的firefox,OK了吧。 另外,上面的操作只是在你确认你的eMule设置正常的情况下哦,整个系统的默认设置可以进入“eMule——选项——常规——关联ed2k链接”,这个按钮灰化了?去注册表删除所有HKEY_CLASSES_ROOT\ed2k\...和HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ed2k\...项目之后,再按一次试试吧。 其实上面这个操作就是验证这个信息: HKEY_CLASSES_ROOT\ed2k\shell\open\command 名称: (Standard) 类型: REG_SZ 资料: "emule.exe 的路径(包含引号!)" %1 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ed2k\shell\open\command 名称: (Standard) 类型: REG_SZ 资料: "emule.exe 的路径(包含引号!)" %1 最后补充一点,如果用的是Vista,那么考虑完上面的问题可能还需要注意权限问题。建议进入Firefox安装目录,将firefox.exe修改为用管理员模式运行。而firefox升级以后,可能还需要重新做一下这个步骤,因为升级一般会替代firefox.exe。 8月18日 RHEL5下安装Intel Wireless 2100 3A (IPW2100)今天安装完了RHEL5之后就只有一个无线网卡没办法用,一直以来都是Linux上头痛的问题,但是现在家里还是用无线的比较方便,硬着头皮上吧。结果一不小心就耗进去几乎一天。 其实要说RHEL5还是新一点的,在“设备”里面其实是可以看到认出了网卡,但是没办法用…… 开始的时候总是想着搜索ipw2100的驱动,到Intel和ipw2100.sourceforge.net上还真找到了压缩包,解压缩以后是需要自己编译的源代码,似乎也就是按照INSTALL文档按部就班就行了,结果仔细研究完INSTALL发现还真不是那么容易的事情。而且源代码为了保证适用于所有Linux发布版,写得非常仔细,罗嗦了半天,也按照要求重新装了80211的包,结果make和make install都OK,就是没办法modprobe ipw2100,总是报无法加载Firmware,偏偏RHEL5大概比较先进,根本找不到firmware.agent,也不知道我把Firmware放对了地方没有。Google了半天,我不得不宣布失败,就准备放弃了。忽然想到搜索中看到ipw2200已经有了完善的RPM包,安装非常容易,看看能不能找到低一个版本的吧 。一搜索还真发现ipw2100 Firmware的包。不过Firmware我已经拷贝了啊,姑且一试吧。 下载到了包,rpm -ivh完似乎还真有效果,重新启动后“网络”里能认到eth1了!看来其实全新安装的RHEL5是自身带了无线网卡的驱动,但是由于没有对应的Firmware所以无法加载来“指挥”网卡。可惜到很晚才明白这个道理,白花了大量时间自己编译源代码了:(。 不过事情往往不会如此简单,虽然认出来了网卡,但是拔掉网线还是不能上网,也配置了正确的IP地址、网关、SSID和KEY啊。但是始终报错: Error for wireless request "Set Frequency" (8B04) : SET failed on device eth1 ; Operation not supported. 郁闷的同时继续搜索别人的经验,果然在国外一个maillist上发现有老外和我一样遭遇也一样菜,哈哈。跟着别人对他的指示 ,我也开始检查设置: [root@ern ~]# iwconfig lo no wireless extensions. eth1 IEEE 802.11b ESSID:"xxx" Nickname:"xxx" Mode:Managed Frequency:2.412 GHz Access Point: 00:15:E9:05:98:2C Bit Rate=11 Mb/s Tx-Power:16 dBm Retry min limit:7 RTS thr:off Fragment thr:off Encryption key:XXXX-XXXX-XX Security mode:open Power Management:off Link Quality=100/100 Signal level=-46 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 eth0 no wireless extensions. sit0 no wireless extensions. 这里的配置是没问题的(修改了部分加密信息)。 [root@ern ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 192.168.0.0 * 255.255.255.0 U 0 0 0 eth1 169.254.0.0 * 255.255.0.0 U 0 0 0 eth1 default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 这里稍微能看出点问题来了,默认路由是走eth0(有线连接),如果禁用eth0呢 [root@ern ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth1 169.254.0.0 * 255.255.0.0 U 0 0 0 eth1 eth1不能上网了……那位通病相连的老外是在上面有两条默认路由,在eth0和eth1各有一条。熟悉网络的兄弟大概已经明白了,不过我不学网络好多年咯,跟着别人做吧 ,呵呵。 [root@ern ~]# route add default gw 192.168.0.1 metric 1 eth1 [root@ern ~]# route add default gw 192.168.0.1 metric 2 eth0 [root@ern ~]# route del default gw 192.168.0.1 metric 0 eth1 [root@ern ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth1 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 default 192.168.0.1 0.0.0.0 UG 1 0 0 eth1 default 192.168.0.1 0.0.0.0 UG 2 0 0 eth0 终于搞定了。这个问题在Windows下倒不是一个问题,想必是有自适应的机制了。虽说只是一个小问题,不过也体现出Linux发展至今还是稍有点“底层”啊。 11月12日 Office Word 2007初体验现在MS的软件管制还挺严的,上午在VeryCD上看到的帖子下午就没了,所以无法加上链接了(自己去emule找吧),但是,Office2007的RTM版已经出街了!我下载的是中文企业版,版本号目前是:12.0.4518.1014。如果没有操作错误,这是第一篇我用Word2007连接MS Live Blog发表的blog。图示就是整个过程,也正好让大家看看2007的界面。 从使用来看,主要是用户界面发生了不少改变,原来熟悉的那些东西被分门别类放到各个"功能区",我个人感觉是方便、好看了很多,不过问题就是缺省的页面下文档可视范围小了,所以我选择第一时间最小化功能区,鼠标点上去再出来的感觉更好点,呵呵。另一个巨大的区别是引入了docx等一系列新的文档格式,据说是基于XML的,我没有仔细研究,考虑到和办公室其他电脑交互的需要,还是在选项里把缺省保存类型改成了2003的doc格式。MS在它的SQL Server报表服务格式里就是用了XML,对我这种有时候喜欢直接改文件的人带来不少方便,看来XML将成为以后文件交互的一个必然选择了,就连我们自己的营业系统间交互数据也采用了这种可扩展的格式。 对了,http://office.microsoft.com/zh-cn/word/HA101640212052.aspx,这里是关于Word 2007发布Blog的帮助文档,哪里卡住了不妨一读。 哈哈,明天去办公室推广!用用新东西感觉还是不错。 10月27日 体验Firefox 2昨天一上班,第一时间就换上了Firefox 2.0(简体中文版),初体验就是界面稍有变化,总体上感觉是好看了,图标有了一些立体效果。菜单没有什么大变化,升级安装也是一样选择覆盖安装,第一次运行会提示查找插件更新,只要连上了网,我常用的几个插件都可以很快下载到新版本。 进去之后是一个官方主页,这个现在似乎流行。IE7正式版装上以后也是自动连到一个微软的站点上,说明一些新特性什么的。以前firefox升完级(1.5之后)是自动连到同一个页面,这次变化了,新页面上还提示是否安装字典,从说明来看,似乎就是起到输入语法检查的作用,不过没有中文的,所以没有安装测试。 上网的体验并没有太多变化,目前没发现什么兼容性问题,至少我原来能上的现在也可以,原来不可以的现在似乎也不行。一个很奇怪的事情是,双击tab旁边的空白,原来是出现一个新的空白tab,现在在第一次运行时没有变化,也是同样的行为,但是关闭一次再打开之后,双击一次显示两个新tab!!并且将焦点设置在第二个上。开始还以为是鼠标问题,后来回家测试居然也是一样的,环境是Win 2003+SP1和Win XP SP2。检查了工具里的配置和about:config,似乎都没有发现什么相关的配置,看来这个习惯得改了:(。 另外一个比较大的变化是搜索引擎,虽然默认的还是google,不过这次google还为firefox定制了搜索页面,www.google.com/firefox,可以将之前设置的google个性化搜索的设置继承下来,但是页面上精简了一些东西,搞得我开始想用“语言工具”的时候还花了点时间找,最后还是上google自己主页搞定的。不过由此至少可以看到firefox的影响力了。它和google是站在反MS的统一战线的^_^ 。 原来最希望搞定的耗内存太大问题,2.0还是没有解决,唉,看来老外们的内存都很大了。这一点上IE7似乎还有点优势,IE7里关闭一个tab后还是能明显看到内存释放的,Firefox似乎释放很少,缓存太多。 无论如何,Firefox还是值得继续使用和升级的,就冲比较少被攻击和劫持这一点,就足够了。 9月26日 Eclipse+OCI+RHEL4开发配置入门这段时间想自己写个小程序,抓服务器上的增量日志入库,顺便想学下OCI,就动了用Eclipse开发的念头。说起来还走了一天的弯路。当时考虑毕竟在Windows下方便点(单位办公电脑没有装Linux),就先花了不少时间下载部署了cygwin。这个东西还是不错,基本装上去以后就可以了。顺便说个窍门,网上关于怎么断点续传已经有说明了,就是如果下载过程中断了,还是可以重新执行setup.exe,然后选择同一个服务器,程序会自己判断下载哪些部件。但是前天下载的时候很郁闷,开始用http://mirror.kernel.org很快,到了晚上忽然发现一下子慢下来了,试了一下同样站点的FTP连接,反而很快。这时候如果直接选择会出现重新下载所有文件的情况。但是对于同一个服务器实际上我们可以把原先下载下来那个名称类似http%2mirror...的文件夹改成ftp打头的,后面不用动,就一切OK了。估计如果你能拼出其它站点的名字,也是可以通过修改文件夹名来实现换站点续传的。 装完cygwin,要注意的是Windows的环境变量,这一点cygwin做的不是很完善。单位的WinServer2003SP1上路径自己加进去了,解压缩完Eclipse后就可以写C代码并编译了。但是家里的WinXPSP2上很郁闷,进命令行可以make无法gcc,后来发现不知为什么gcc丢了,没装上去,环境变量也不对。又是一阵倒腾才搞定。 然后悲剧就开始了。把UNIX部分代码搞定后搞不明白怎么连OCI了。后来翻了文档又仔细想想,崩溃了。人家Oracle的Win32版本客户端根本只准备了Visual C++和Borland C++的编译环境,没有UNIX/Linux的makefile、头文件等等,前功尽弃……cygwin只能留给开发纯UNIX代码的时候玩了。 于是回家后又从Linux开始重新配环境。Windows上解压完Eclipse就可以写Java(当然要先装好JDK,但也很简单),但是配C/C++颇费周折;Linux恰好相反,解压完Eclipse没法用。下载个JDK装好后居然还是不行,而且是提示什么JVM...错误。上网居然也很难搜索到。后来无意中想到Java环境变量问题,一搜索Java配置才找到要配置JAVA_HOME等。其实熟悉Java的网友可能很熟悉,觉得很弱智的问题,问题是我是配环境开发C/C++,又不懂Java:(... 。 export JAVA_HOME=/usr/java/j2sdk1.5.0_8 export CLASSPATH=.:/usr/java/j2sdk1.5.0_8/lib:/usr/java/j2sdk1.5.0_8/jre/lib export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin 在.bash_profile(我习惯用BASH环境,其他SHELL也是一样加到启动文件)里加上一般就可以了。 OK,现在Eclipse这关就算过了。可以写个小程序测试一下。 学OCI肯定是从例子开始。一看文档,Linux下的例子都在$ORACLE_HOME/rdbms/demo里。这里要注意区分OCI版本,很多例子是for OCI7的,和版本8以上有非常大的区别。比如cdemosc.c是个不错的关于scrollable cursor的例子,打开一看只是include了oci.h。这里注意9iR2的这个关键头文件就在$ORACLE_HOME/rdbms/demo中,而10gR2的好像是在$ORACLE_HOME/oci/include中(未经全部Linux版本证实——手头没那么多版本)。在Eclipse中新建完工程后如果选择了Managed Make C Project,可以在project的属性里看到相关编译和链接的指令参数。结果我想当然的把上面的路径include进去无效,编译报错一堆。抓狂了。 没办法的时候文档是唯一工具。打开OCI Programming Guide一看,人家Oracle原来已经提供了一个demo_rdbms.mk,偶没啥基础,那是看不懂的了,就看明白前面说明里面,如果是自己的代码和没有在它列表中的代码,可以用如下指令来编译: make -f demo_rdbms.mk build EXE=cdemosc OBJS="cdemosc.o" 敲进去执行,有如下显示: /usr/bin/gcc -c -I/opt/oracle/product/9.2.0/rdbms/demo -I/opt/oracle/product/9.2.0/rdbms/public -I/opt/oracle/product/9.2.0/plsql/public -I/opt/oracle/product/9.2.0/network/public -I/opt/oracle/product/9.2.0/precomp/public cdemosc.c /usr/bin/gcc -L/opt/oracle/product/9.2.0/lib/ -L/opt/oracle/product/9.2.0/rdbms/lib/ -o cdemosc cdemosc.o -lclntsh `cat /opt/oracle/product/9.2.0/lib/sysliblist` -ldl -lm 看到了?这就是真正执行的代码。那还是回到Eclipse吧。打开project的属性,在Compiler那里加上$ORACLE_HOME/rdbms/demo、$ORACLE_HOME/rdbms/public、$ORACLE_HOME/plsql/public和$ORACLE_HOME/precomp/public三个路径(那个network的似乎没用,去掉是没关系的),在Linker里加上$ORACLE_HOME/lib和$ORACLE_HOME/rdbms/lib两个路径。光这样在链接时还是报错,看到后面的参数了么?还要在flag那个格子里加上-lclntsh `cat $ORACLE_HOME/lib/sysliblist` -ldl -lm。注意这里如果为了稳妥,还是把$ORACLE_HOME全换成全路径比较好。 点击确认后你的程序就会被Eclipse重新编译了。如果代码没有问题,应该不会有什么错误了。 如果有类似的问题,其实都可以通过Oracle自己提供的不同编译方法用demo_rdbms.mk将例子测试一次,根据不同的指令配置Eclipse就可以了。 最后可能很多人都遇到已经生成可执行文件,但是无法执行的问题。第一次点击Run后会提示你输入可执行文件,一般只要Search Project就可以了(其实就在Debug下面)。然后连上OCI后可能会报找不到某个lib*.o的文件,是Oracle自己的一个库文件。这个是LD_LIBRARY_PATH的问题。我发现装了JDK后每次启动LD_LIBRARY_PATH都会被替代成Java的相关库文件目录,Oracle的会被冲掉,具体哪个脚本执行了替换还在查找,但一个方便但不彻底解决办法是点击Run后面的下拉箭头配置属性,在其中的Environment里为LD_LIBRARY_PATH增加$ORACLE_HOME/lib后就可以了。 最后附上本文测试的所有环境: OS:RedHat Enterprise Linux AS4 Update4 Eclipse:3.2 CDT 3.1.0 Oracle:9.2.0.7 JDK:J2SE5.0 Update8 3月21日 Fedora Core 5发布了昨晚10点左右,官方网站下载链接终于更新完成,释放出FC5,从大小看和之前网上流传的版本(据说是某瑞士FTP流出来的)有较大差异。不过现在分流的镜像站点似乎不多,一个晚上才down了70%。新的版本也和以前一样,同时也有BT方式,另外官网上没有放出DVD ISO,得找镜像才行。 新的版本还没有装上,从官方网站的总结来看在桌面方面有很大变动。集成了GNOME 1.4(据说也就是为什么要拖到3月20日才发布),增加了一些工具。F-Spot看起来是数码照片管理工具,Beagle看起来是桌面搜索工具,OpenOffice.org升级到了2.0.2……不过从老外的Blog看虽然GNOME 1.4提升了速度(大概60%),但是在FC5这个发行版中并没有什么大的变化,察觉不出更高的效率。另外在安装方面有较大变化,抛弃了旧的界面,在安全、Java开发、硬件支持等自然也有不小的进步。 目前FC5还比较新,基于该平台安装Oracle的文档还没有放出来,还得等等,呵呵。 顺便看了看FC6的计划,Trim down Core总是永恒的话题,另外还打算更新防火墙的配置工具、CD镜像生成工具、备份工具、目录服务器工具和加密文件系统等等。 9月6日 摆脱GaoBot.AZ被木马折磨了四五天,都是感觉后台有个什么程序在运行,总是占用前台程序的焦点,但就是找不到异常的进程。终于在昨天启动机器后立即打开任务管理器,发现
“IEXPLORER.exe”一闪而过,动手检查,发现在C:\Windows\system32下有个同名文件,肯定是病毒了。因为IE本身是不在
C:\Windows\system32下的,而且文件名也不同。再检查文件日期,也是9月2日的。尝试删除,立即就重建了该文件,进一步肯定了猜测。 万里长征才第一步,上网一查,类似一个叫“高波”的木马,2003年的东东了,想必norton应该可以吧。先用Symantec企业版扫描了 system32,居然一无所获,然后换成Kapersky,也没效果,没办法,又卸掉其他,装上了Norton Antivirus 2005,还是没效果。郁闷中,重启到安全模式,还下载了Symantec上的专杀工具,扫描一遍居然还是没有任何动作,报没有发现病毒,晕…… 今天仔细上网搜索,发现“高波”真是厉害,居然有N个变种,主要就是后面的编号。到国内外普遍google了一把,只发现AZ的和咱机器比较接近,都是生 成那个文件,不同在于AZ的后台就是IEXPLORER.exe,而我的那个平时不显示出来。Symantec网站上有详细说明,不过查杀方法是升级病毒 库,然后全扫描,并安装微软的补丁。可是我不仅一直是最新的病毒库,而且安装了所有的补丁。不管它,死马当活马医。到CNOUG上一问,还把“自由鹰王” 这个老鸟给拽出来了,^_^ 进一步坚定了我的信念。 回来进入安全模式,运行regedit,然后进入HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ CurrentVersion\Run,删除“IEXPLORER.exe”那项,这样启动时就不会加载了,然后顺手又搜索出一个项目,删除。进C:\ Windows\system32,按照时间排序,还有一个dll文件也是9月2日的,同一个时间,看来就是病毒源了,干掉。 重启后进入正常模式,世界终于清静了…… 看来装全补丁、升级完病毒库也不代表万事大吉,还是得当心啊。杀毒软件也不可全信呐,sigh…… 补充一下病毒说明^_^:http://securityresponse.symantec.com/avcenter/venc/data/w32.hllw.gaobot.az.html 6月30日 安装中文版Adobe Reader 7 for Linux 之前装了英文版,效果相当不错,现在终于看到了简体中文版。不过这和Windows不同,覆盖安装可没那么简单。看了若干贴子,就找到了方法。缺省安装的路径是:应用程序中图标在/usr/share/applications,真正的程序在/usr/local/Adobe/Acrobat7.0。 先rpm -e adobe-enu-.... 然后删除上面目录中的内容 最后记得删除~/.adobe/噢:rm -rf ~/.adobe 这样在重新rpm -ivh后就可以看到简体中文的界面了:) root用户使用FC4内置Eclipse 3.1的BUG 前几天切换到FC4看了看,突然想起升级安装会有一些FC4新引入的程序没有装。于是打开系统盘把Java开发包和Eclipse装上去了。结果一运行Eclipse就死了机。重启几次依然如此,今天终于找到了答案: http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=121377&sid=2796 就是说不能用root身份使用,切换其他用户使用确实就好了,真是太奇怪了。 到mozilla找到了https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=152386,有人已经报告了这个bug,等升级咯^_^ 升级到FC4 昨天看到了升级的消息,立即打开好久没用的flashget连到德国的一个镜像下载DVD ISO, RH就是怪,自己的网站上不提供DVD版本。 今晚刻完就按捺不住了,重启后开始漫长的升级。选择升级而不是重装,也想试一下升级做得怎么样。安装自然是漫长的,花费了将近2个小时。启动等等都正常,中文输入法居然不能用了,还是比较郁闷,其他一些系统设置也用起来怪怪的。仔细检查起动过程,发现是iiimf服务问题,居然提示iiimd:iiimd用户不存在!开始晕了,上网搜了一番,也没啥收获。死马当活马医: groupadd iiimd useradd iiimd -d /usr/lib/iiim -s /sbin/nologin 重启,恢复了。为什么丢失,就真不知道了,呵呵。 本来还找到了手工修改grub默认启动顺序的方法,就是修改/boot/grub/menu.lst『原来使用图形化界面修改总是挂死』,想不到输入法一恢复,一切都正常了^_^ 看着新的gnome,爽!输入法的界面和词库感觉也好了很多,有空的朋友试一下吧 5月3日 重装Windows后恢复GRUB上周下载了Adobe Photoshop CS 2,然后在eMule上找crack,结果惨遇恶意软件。小心起见,我还用Symantec查了毒,但是没有任何提示,一运行才发现把我系统盘上的很多东西都删除了,注册表也清空了。没办法,这周长途回来重装XP,这个问题倒不大,毕竟软件都在硬盘上,很快。可是另外一个FC3倒真是麻烦了,重装显然是没必要的,可是主引导区的GRUB确实被破坏了。上网一阵搜索,终于在http: //www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t =60934看到了救命的帖子。环境也差不多,都是用GRUB启动的,然后选择Windows还是Linux。
翻出FC3的DVD,放进光驱引导启动后F5(这个和帖子上的不同,赫赫,仔细看问题一般都不大),随后输入“linux rescue”,进入修复模式后只需要选择中文,其他都不用设置了,接着会报错并进入shell,在提示符sh_3.0>后输入grub,进入 grup程序:
grub>root (hd0,2)
grub>setup (hd0)
随后会提示成功
grub>quit
sh_3.0>reboot
重启后一般就正常了(这一次改成硬盘启动)。 留意root和(hdX,Y)之间有一个空格,这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。
如果你不知道你的linux root分区在哪里,可以在进入grub之前运行fdisk -l,就可以看到了。如果输入root ...后提示未知的文件系统等等,那就是你的Y写错了,不妨尝试将你fdisk -l看到的hdaN的N-1再试。比如我fdisk -l看到我的linux分区是hda3,但是如上写(hd0,2)才是正确的。这个应该是和你放在主分区还是扩展分区有关系。
最后,不必担心损伤什么启动信息,grub写了mbr后就是用你硬盘上的grub启动了,也就是说启动界面和你重装Windows之前是一样的。
另外,那篇帖子也介绍了grub for dos这个小软件,因为我一次恢复成功,就没有尝试,有兴趣的可以试试。 3月22日 Guru of the Unix gurus 一生写了几套书,从此被世人记住,这样的人在IT业界不多。但是看过他任何一本书的人,都不得不承认,书的确是经典,即便考虑技术的进步、UNIX的发展,那几套书都还是有很高的价值。事实上,例如APUE,UNP等等在今天,完成后的 10多年,还是很多人的首选教材,TCP/IP Illustrated更是关于TCP/IP的两套经典之一,只要协议还在用,恐怕就不会被淘汰。这是一篇写在R.Stevens逝世1周年之际的纪念文章,今天偶然看到的,转载以纪念这位guru吧。 September 01, 2000 | When Andrew Hume presented the Usenix Lifetime Achievement Award in San Diego in June, he managed to say exactly two words -- "Richard Stevens" -- before a standing ovation drowned him out. "I sat next to Richard's family at the presentation," says Tom Christiansen, a well-known figure in the Perl programming community who had known Stevens on and off for years. "It was stunning. I don't know if his family did, but I sure noticed a lot of the audience in tears." "Usenix," (a word coined to get around trademark restrictions on the word "Unix") is the Advanced Computing Systems Association. W. Richard Stevens is the author of "TCP/IP Illustrated" and "Unix Network Programming," each of which runs to three volumes, and "Advanced Programming in the Unix Environment." Their influence among Unix users is hard to overstate. Thousands of programmers all over the world consider Stevens a guru and his works essential to their jobs. "It blew my mind," says his sister, Claire Stevens. "I knew he wrote those books, but it never made a dent. I had absolutely no idea that all these people knew and were touched by him." Claire and Richard's wife, Sally, accepted the award on Stevens' behalf. Stevens died on Sept. 1, 1999. He was 48 years old. His death hit the close-knit Unix community hard. Fiercely intelligent and deeply private, Stevens set an example for everyone in the Unix world. What he didn't know, he determined to find out; what he did know, he strove to pass on to anyone who was interested. A year after his death, memories of one of the Unix community's most beloved experts are still fresh and vital. Christiansen's recollection is typical. The two were casual acquaintances from the academic conference circuit. "I remember I was doodling around on the piano, and Richard came over and said, 'I heard you doing that at some other conference and it inspired me to take up the piano again,'" Christiansen says. "On subsequent meetings he would tell me all about his progress. As with everything he talked about that he really loved, his eyes just kind of sparkled." With Christiansen, Stevens talked about music. With cryptographer Greg Rose, a fellow pilot, he talked about flying. With Dave Hanson, who sat on the committee to assess his doctoral thesis, Stevens talked about yet another shared passion, skiing. To everyone who knew him, it seemed he cared about the things that mattered most to them. "He was a very good listener and he knew something about every subject," says Claire. "He could always contribute something, or at least sound intelligent." Yet Stevens was also an extraordinarily private man. Christiansen, Rose and Hanson all knew him for years, yet none felt that they knew him well. "I wouldn't say he was complex, but because of his intelligence he could come across that way," Claire admits. APUE的一篇精彩书评来自Amazon。好久没看到这么过瘾的技术书评了,呵呵,老外确实比较幽默。 From the first 14-15 chapters it seems like this is one of the best API references I saw. It's not just Unix, it's the way the author writes. He tells you what can be done, how exactly and what to watch for. Typical chapter can look something like: --- Chapter 93. Cooking Eggs. Eggs are one of the delicious and nutricious meals. Kitchenware provides the following functions to cook eggs: egg_t eboil(egg_t egg, time_t time); All three functions take egg and time to cook and return egg. If time is 0 the egg is cooked until ready. If time is less than 0, it's cooked either for abs(time) or until ready whichever is less. Note, that only superuser can microwave an egg. Historically, these functions were written to operate with kitchen eggs only. Latest versions of Kitchenware add a function yolkctl(egg_t egg, bird_t whose) that you call with eggs before you pass them cooking functions. Exercises: 1. Microwave an egg. What happened ? Explain why. --- Well, this is just a few lines, whereas in the book it takes pages and pages of very detailed pedantic explanation. And this was great until approximately chapter 14, when the author started to put more and more sample code inline, in pursue of showing the functional working application or set of functions. This is one of the downsides (to me, if you like to dig through C code rather than reading plain text words - all the better). I think that a book like that should be a reference. The author does not show any algorithms and ideas anyway, so why bothering writing something big ? Give men a bricks and they will build the house themselves. The other downside is also about the C sample code. As I said - the way Mr. Stevens writes text is very good. And the code is good as well, but not for a sample. In every single sample he is checking every possible error and not simply puts nice little trellis (...) where error handling should be, but actually handles them. Too pedantic and turns half of all the samples into calls to err_output or something. And at the very same time he uses custom header file (ourhdr.h) listed in appendix X, thus making it confusing to catch which is a new function you are reading about, and which is another auxiliary macro from that custom header. One more thing - the book is basically all about <unistd.h> & Co, it does not tell anything about advanced libraries, like regular expressions, Berkeley DB or zlib. I guess that's why there are several more volumes of the same author. The bottom line is, this book makes a good reference in basic Unix API. |
|
|